Prometheus überwacht den Host-Netzwerkverkehr innerhalb des Docker-Containers

Prometheus überwacht den Host-Netzwerkverkehr innerhalb des Docker-Containers

Ist es möglich/beabsichtigt, einen Container zu verwenden, prom/node-exporterum den Netzwerkverkehr des Docker-Hosts zu überwachen? In meinem Setup werden alle Host-Schnittstellen angezeigt, es gibt node_network_iface_idaber node_network_iface_idnur Zeitreihen für die Schnittstellen des Containers.

Meines docker-compose.ymlsieht so aus:

networks:
    backend:
        driver: bridge
        internal: true
    outside:
        external: true

node-exporter:
        image: prom/node-exporter
        volumes:
           - /proc:/host/proc:ro
           - /sys:/host/sys:ro
           - /:/host:ro
        command:
           - '--web.listen-address=:9100'
           - '--path.procfs=/host/proc'
           - '--path.sysfs=/host/sys'
           - '--path.rootfs=/host'
           - --collector.filesystem.ignored-mount-points
           - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
        restart: always
        networks:
           - backend

...

Antwort1

Ich weiß nicht, ob dies ein Update für node_exporter ist, da Ihre Frage schon eine Weile her ist, aber ich beobachte node_network_transmit_bytes_totaldies mithilfe der vollständigen Abfrage unten und es funktioniert gut.

rate(node_network_transmit_bytes_total {device=~"eth.",host=~"$Host"}  [1m]) * 8

Natürlich gibt es den entsprechenden Empfangswert.

verwandte Informationen