Search code examples
docker-composedocker-swarmgrafanaprometheus-node-exporter

How to set node-exporter of Prometheus


How to set node-exporter of Prometheus for collecting host metrics in docker-swarm

version: '3.3'
services:
  node-exporter:
    image: prom/node-exporter
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.sysfs=/host/sys'
      - --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)($$|/)"
      - '--collector.textfile.directory=/etc/node-exporter/'                    
      - '--collector.enabled="conntrack,diskstats,entropy,filefd,filesystem,loadavg,mdadm,meminfo,netdev,netstat,stat,textfile,time,vmstat,ipvs"'
    ports:
      - 9100:9100

i am getting this error:- node_exporter: error: unknown long flag '--collector.enabled', try --help what's wrong about last line under command section in this docker-compose file & if wrongly set/passed, how to pass it correctly.


Solution

  • Try to use --collector.[collector_name] (e.g. --collector.diskstats) keys instead of --collector.enabled as it does not work anymore since 0.15 version or higher.