商务服务
Docker监控与日志管理实践
2024-12-27 04:59

1、Docker自带的监控命令

监控容器最简单的方法是使用Docker自带的监控命令:docker ps、docker top、docker stats。

(1)docker ps查看容器状态

可以使用 或 命令显示容器列表。

(2)docker top查看容器进程

查看容器中正在运行的进程。

(3)docker stats查看容器资源使用

用 命令实时查看容器的系统资源使用情况。

2、第三方工具cAdvisor

用于分析正在运行的容器的资源占用情况和性能指标,是具有图形界面、最易于入门的Docker容器监控工具。

cAdvisor以守护进程方式运行,负责收集、聚合、处理、输出运行中容器的数据,可以监控资源隔离参数、历史资源使用情况和网络统计数据。

cAdvisor提供配置:
--storage_duration:历史数据保存的时间,默认为2min,即只保存最近2min的数据。
--allow_dynamic_housekeeping:控制cAdvisor如何和何时执行周期性的容器状态收集工作。
--global_housekeeping_interval:设置检测是否有新容器的时间周期。
--housekeeping_interval:统计每个容器数据的时间周期,默认每1s取一次数据,选取统计到的最近的60个数据。

cAdvisor将数据直接导出到本地文件

cAdvisor优势:可以将监控数据导出给第三方工具;劣势:只能监控一个主机,数据展示功能有限。

3、Weave Scope

开源的故障诊断与监控工具,除了用于Docker外,还可以用于Kubernetes集群。

Weave Scope会自动生成容器之间的关系图,便于管理员直观地以可视化的方式监控容器化和微服务化的应用。

Weave Scope能够进行跨主机监控,并且消耗的资源非常少。

Weave Scope主要功能

  • 实时了解容器状态
  • 提供内部细节与深度链接
  • 支持容器的交互与管理
  • 通过插件进行扩展与定制
(1)Weave Scope安装

前提是安装并运行Docker,此软件以容器方式运行。

(2)访问熟悉weave scope界面

对运行中的容器,Docker会将日志发送到容器的 STDOUT 和STDERR 上。
可以将STDOUT 和STDERR视为容器的控制台终端。

1、容器日志管理工具

(1)docker logs

命令输出正在运行的容器的日志信息。默认输出自容器启动以来完整的日志。

命令可能不会显示有用信息的两种情形

  • 如果使用将日志发送到文件、外部主机、数据库或另外一个后端日志系统的日志驱动,则docker logs命令不会显示有用信息,这时可以通过其他方式处理日志。
  • 如果镜像运行的是Web服务器或数据库等非交互式进程,那么应用程序可能会将输出发送到日志文件而不是STDOUT和STDERR中。
  • 如果容器以后台方式运行,则也不能看到输出的日志。
(2)docker service logs

命令显示swarm某服务/任务的所有容器的日志信息。

该命令适用于集群环境。

2、容器日志驱动

日志驱动(Logging Driver):Docker提供的帮助用户从运行的容器中提取日志信息的机制。默认的日志驱动是 。

选项值如下

选项值说明none禁用容器日志,docker logs命令不会输出任何日志信息json-fileDocker默认的日志驱动。该驱动将日志保存在JSON文件中,Docker负责格式化其内容并输出到STDOUT和STDERRsyslog将日志信息写入syslog日志系统,syslog守护进程必须在主机上运行journald将日志信息写入journald日志系统,journald守护进程必须在主机上运行gelf将日志信息写入像Graylog或Logstash这样的GELF(Graylog Extended Log Format)终端fluentd将日志信息写入fluentd,fluentd守护进程必须在主机上运行splunk将日志信息写入使用HTTP事件搜集器的splunk
(1)配置默认的日志驱动

将文件中的值设为日志驱动名称。

案例1:将默认日志驱动设为

可以配置可配置选项。
案例2:日志驱动可配置选项

(2)配置容器的日志驱动

启动容器时,可以使用 选项来配置日志驱动,可以使用设置可配置选项(可以以键值对的方式配置多个)。

注意:说明同一个值配两次,最后一个生效。

3、容器日志清理

容器的日志文件会占用大量的空间,经常需要进行清理。如果直接删除 目录下的日志文件,并不会释放磁盘空间,因为日志文件是被打开的。

(1)清理正在运行的容器日志的shell脚本
(2)限制容器的日志上限

在daemon.json配置文件中通过log-opts选项来限制日志大小的上限

上例中设置容器日志大小上限是500M,容器最多有两个日志文件。

4、将容器的日志重定向到LINUX日志系统

运行在Linux操作系统的Docker主机上可以通过配置日志驱动将容器的日志重定向到Linux日志系统。

(1)将容器日志记录到syslog

是Linux标配的日志记录工具,主要用来收集系统产生的各种日志,日志文件默认放在/var/log目录下。

选择syslog作为日志驱动可将日志定向输出到syslog日志系统中,条件是:syslog守护进程必须在主机上运行。

(2)将容器日志记录到journald

是一个收集并存储日志数据的 systemd 日志系统服务,可以使用 命令查看它。

选择journald作为日志驱动可将日志定向输出到systemd日志系统中。

5、使用Logspout收集所有容器的日志

是一个 Docker 容器,大小仅 14MB,使用 BusyBox 作为其核心,它可以将来自容器应用程序的日志发送到某一个中央位置,比如单一 JSON 对象或者通过 HTTP API 可获得的流式端点。

选项容器会以前台方式运行。 选项可以设置容器环境变量。可以用来排除对某个容器日志路由

(1)将所有容器的输出路由到远程syslog

案例:将所有日志转发给远程的syslog服务器,这里将本地服务器作为远程syslog服务器。

(2)通过HTTP查看Logspout收集的日志
    以上就是本篇文章【Docker监控与日志管理实践】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/10815.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
过年无忧 | 一键get这些春节话术!
一键Get这些春节话术~过年无忧新年快乐春节将至,年味渐浓在这温馨又热闹的节日氛围里我们既能品尝各式各样的美味佳肴沉浸于味
2025在新加坡生活的我们将迎来“至暗时刻”:房租飙涨、每个月入不敷出…
聚焦新加坡真是开年暴击!2025年刚开始,还没过新年呢,万事通就出了一身冷汗:今年又是一个物价涨涨涨的年份。在网上一搜“新加
太抽象!太抽象!2024年游戏行业简直太抽象!
年末,DataEye研究院今天整点活,轻松一波。——用数据、新闻盘点2024年国内游戏业有多抽象。回首2024年有产品研发8年烧了数亿,
TikTok会如何收场
TikTok的命运再次悬而不决。在美国下架12小时又恢复运营之后,1月20日,美国总统特朗普签署行政命令,要求TikTok「不卖就禁」法
今天上午10:00,成绩发布!
早安,东台!‍今天是2025年1月22日‍星期三(农历腊月廿三)大美东台,活力满满进取创新、奋斗拼搏最近有哪些新动态?和小东一
农村土地托管服务的理论基础
中国产品流通经纪人协会供销合作行业标准《农产品食品供应商信用评价规范》参编单位征集函中国农产品流通经纪人协会供销合作行业
头上三尺有神明,每个人头顶都有一颗星,当星光消失人也就消失!
每当夜晚降临后,我们抬头看天空,会看到满天的星星,自古以来,人们从没有停止过对星象的观测和研究。古人观测星象,一则是为了
运营师抖音代运营
运营师抖音代运营:掌握流行短视频潮流的神奇职业短视频平台已经成为人们娱乐、学习和社交的重要方式。在众多的短视频平台中,抖
微短剧,2024年“最大赢家”? | 年终盘点
2024,短剧行业大变样。作者 | 张语格编辑 | 趣解商业文娱组“互联网大厂争相入局。”“98%的短剧制作方都在亏钱。”“用户被免
同类第一!20%弹性的人工智能 ETF 科创(588760)今日上市,一键布局科创板优质AI龙头
  最新公告内容显示,广发上证科创板交易型开放式指数投资基金(基金代码:588760;扩位简称: ETF 科创)已于 2025 年 1 月 1