Docker容器监控与应用案例实践
1. 使用Collectd可视化容器指标
在容器化环境中,监控容器的运行状态和资源使用情况至关重要。Collectd是一个常用的系统和应用监控工具,可用于收集和存储各种系统和应用的统计数据。下面的Python脚本可以获取所有正在运行的容器,并将CPU统计信息发送给Collectd:
#!/usr/bin/env python
import random
import json
import docker
import sys
cli = docker.Client(base_url='unix://var/run/docker.sock')
types = ["gauge-cpu0"]
for h in cli.containers():
if not h["Status"].startswith("Up"):
continue
stats = json.loads(cli.stats(h["Id"]).next())
for k, v in stats.items():
if k == "cpu_stats":
print("PUTVAL %s/%s/%s N:%s" % (h['Names'][0].lstrip('/'), 'docker-cpu', types[0], v['cpu_usage']['total_usage']))
这个示例插件只是一个基础的实现,统计数据还需要进一步处理。Collectd会将收到的PUTVAL字符串发送到Graphite数据存储进行存储和可视化。
超级会员免费看
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



