version: '3' networks: public: {} private: {} volumes: grafana_lib: {} grafana_ds: services: influxdb: image: influxdb:alpine container_name: influxdb ports: - "8086:8086" networks: - public - private volumes: - ./data/influxdb:/var/lib/influxdb environment: INFLUXDB_REPORTING_DISABLED: "true" INFLUXDB_DB: telegraf INFLUXDB_USER: telegraf INFLUXDB_USER_PASSWORD: nimda grafana: image: grafana/grafana:5.1.3 container_name: grafana ports: - "3001:3000" networks: - public - private volumes: - grafana_lib:/var/lib/grafana - ${PWD}/grafana/:/var/lib/grafana/ds/ environment: GF_AUTH_ANONYMOUS_ENABLED: "true" GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin" INFLUXDB_URI: "http://influxdb:8086" INFLUXDB_DB: telegraf INFLUXDB_USER: telegraf INFLUXDB_USER_PASSWORD: nimda command: ["bash", "/var/lib/grafana/ds/add_datasources.sh"] telegraf: image: telegraf:latest container_name: telegraf network_mode: "host" volumes: - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro environment: # real influx host INFLUXDB_URI: "http://localhost:8086" prometheus: image: quay.io/prometheus/prometheus:v2.0.0 container_name: prometheus volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml networks: - private command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus" ports: - 9090:9090 depends_on: - node_exporter node_exporter: image: prom/node-exporter:v0.13.0 container_name: node_exporter volumes: - ${PWD}/node_exporter/justrun.py:/justrun.py:rw - ${PWD}/node_exporter/hmon:/hmon:rw - ${PWD}/node_exporter/smoothlogging:/smoothlogging:rw - ${PWD}/node_exporter/textfile_collector:/var/lib/node_exporter/textfile_collector/ networks: - public - private environment: DOGSNAME: "Gula&Bodka" command: - "--collector.textfile" - "--collector.textfile.directory=/var/lib/node_exporter/textfile_collector/" expose: - 9100 ports: - 9100:9100