容器监控与应用实践全解析
1. 容器监控工具介绍
1.1 使用 Collectd 可视化容器指标
Collectd 可用于获取所有运行容器的统计信息。对于名为cpu_stats的统计信息,它会将PUTVAL字符串写入标准输出,该字符串可被 Collectd 理解并发送到 Graphite 数据存储(即 Carbon)进行存储和可视化。以下是示例代码:
#!/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],