pip install statsd python import docker import psutil import time from statsd import StatsClient python client = docker.from_env() python def get_container_metrics(container_id): container = client.containers.get(container_id) cpu_percent = container.stats(stream=False)["cpu_stats"]["cpu_usage"]["total_usage"] / psutil.cpu_count() * 100 memory_usage = container.stats(stream=False)["memory_stats"]["usage"] network_rx = container.stats(stream=False)["networks"]["eth0"]["rx_bytes"] network_tx = container.stats(stream=False)["networks"]["eth0"]["tx_bytes"] return cpu_percent, memory_usage, network_rx, network_tx python statsd_client = StatsClient(host='your_statsd_host', port=8125) python def send_metrics_to_statsd(cpu_percent, memory_usage, network_rx, network_tx): statsd_client.gauge('docker.cpu_percent', cpu_percent) statsd_client.gauge('docker.memory_usage', memory_usage) statsd_client.gauge('docker.network_rx', network_rx) statsd_client.gauge('docker.network_tx', network_tx) python while True: containers = client.containers.list() for container in containers: cpu_percent, memory_usage, network_rx, network_tx = get_container_metrics(container.id) send_metrics_to_statsd(cpu_percent, memory_usage, network_rx, network_tx) time.sleep(60)


上一篇:
下一篇:
切换中文