推广 热搜: page  关键词  链接  搜索  红书  获取  哪些  数据分析  服务  数据 

Docker监控与日志管理实践

   日期:2024-12-27     作者:fnut6    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/10815.html
核心提示:1、Docker自带的监控命令监控容器最简单的方法是使用Docker自带的监控命令:docker ps、docker top、docker stats。(1)doc

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收集的日志
本文地址:https://sicmodule.kub2b.com/news/10815.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号