容器监控与持续集成实践指南
1. 容器监控工具 collectd
collectd 没有官方的 Docker 容器,部分插件在容器中运行存在问题。例如,内存插件将/proc硬编码为内存信息源,而在容器中,/proc仅包含容器自身的信息,并非整个系统的信息。此外,由于容器创建的虚拟接口,在容器中运行 collectd 时,接口数据会出现异常,可使用docker run --net=host解决该问题。
1.1 collectd 配置
数据通过一系列插件收集,每个插件使用LoadPlugin选项加载。若插件有选项,可使用<Plugin name>块进行设置,其中name为插件名称。完整的插件列表及选项可在collectd.conf(5)手册页或 https://collectd.org/wiki/index.php/Table_of_Plugins 查看。
以下是一个基本配置示例,用于读取 CPU 使用率、平均负载和磁盘使用率:
BaseDir "/var/lib/collectd" PIDFile "/run/collectd.pid" Interval 10.