zoukankan      html  css  js  c++  java
  • 第 11 章 日志管理

    日志管理

    高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要。

     

    在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要。

    考虑到容器短暂和不固定的生命周期,当我们需要 debug 问题时有些容器可能已经不存在了。

    因此,一套集中式的日志管理系统是生产环境中不可或缺的组成部分。

     

    日志管理方案:

     

    Docker logs

    默认配置下 Docker 的日志功能

     

    对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端。

     

    举个例子,用下面的命令运行 httpd 容器:

    docker run -p 80:80 httpd

    在启动日志的时候没有用 -d 参数,httpd 容器以前台方式启动,日志会直接打印在当前的终端窗口

    如果加上 -d 参数以后台方式运行容器,就看不到输出的日志了

    这种情况下如果要查看容器的日志,有两种方法:

        1.attach 到该容器

        2.用 docker logs 命令查看日志

     

    (一 )attach 的方法

    运行 docker attach 命令

    attach 到了 httpd 容器,但并没有任何输出,这是因为当前没有新的日志信息

    为了产生一条新的日志,可以在 host 的另一个命令行终端执行 curl localhost

    这时,attach 的终端就会打印出新的日志

    attach 的方法在实际使用中不太方便,因为:

        只能看到 attach 之后的日志,以前的日志不可见

        退出 attach 状态比较麻烦(Ctrl+p 然后 Ctrl+q 组合键),一不小心很容器将容器杀掉(比如按下 Ctrl+C)

     

    (二)docker logs 方法

    用 docker logs 命令

    docker logs 能够打印出自容器启动以来完整的日志,并且 -f 参数可以继续打印出新产生的日志,效果上与 Linux 命令 tail -f 一样

     

    ---------------------------------------引用来自---------------------------------------------

    https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587975&idx=1&sn=5dbe7b1a72fff56623061dcdbd8b2b26&chksm=8d30821eba470b0895412ec7cdf4b019f5e2ff2875ee92738cdab679ac65798a877e5dbee5e3&scene=21#wechat_redirect

  • 相关阅读:
    zoj 2110
    zoj 2376 Ants
    zoj 2256 Mincost
    企业版app在iOS8上无法安装的几个问题解决
    源码推荐(8.05):一行代码实现多风格的推送小红点,效果很好的跑马灯
    iOS在支持arc的工程中,导入不支持arc的第三方的插件
    一个异步加载图片的公用类: EGOImageLoading
    一款轻量级的 iOS 图像缓存
    UIGestureRecognizer学习笔记
    IOS两个App应用之间的跳转
  • 原文地址:https://www.cnblogs.com/gsophy/p/10836836.html
Copyright © 2011-2022 走看看