Prometheus는 Docker 컨테이너 내에서 호스트 네트워크 트래픽을 모니터링합니다.

Prometheus는 Docker 컨테이너 내에서 호스트 네트워크 트래픽을 모니터링합니다.

prom/node-exporterDocker 호스트의 네트워크 트래픽을 모니터링하기 위해 컨테이너를 사용하는 것이 가능합니까 ? 내 설정에서는 모든 호스트 인터페이스가 표시되지만 node_network_iface_id컨테이너 node_network_iface_id인터페이스에 대한 시계열만 있습니다.

docker-compose.yml모습은 다음과 같습니다.

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

...

답변1

귀하의 질문이 얼마 전이었기 때문에 이것이 node_exporter에 대한 업데이트인지는 모르겠지만 node_network_transmit_bytes_total아래의 전체 쿼리를 사용하여 이를 모니터링하고 있으며 잘 작동합니다.

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

당연히 동등한 수신 값이 있습니다.

관련 정보