-
-
Save gesellix/4138009de7a7df968cf2cb337742fbb9 to your computer and use it in GitHub Desktop.
Monitor Docker Swarm with TICK InfluxData Stack
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3' | |
services: | |
# FRONT | |
chronograf: | |
# Full tag list: https://hub.docker.com/r/library/chronograf/tags/ | |
image: chronograf | |
deploy: | |
replicas: 1 | |
placement: | |
constraints: | |
- node.role == manager | |
restart_policy: | |
condition: on-failure | |
volumes: | |
# Mount for chronograf database | |
- chronograf-data:/var/lib/chronograf | |
ports: | |
# The WebUI for Chronograf is served on port 8888 | |
- "8888:8888" | |
networks: | |
- influx | |
depends_on: | |
- kapacitor | |
- influxdb | |
# MIDDLE | |
kapacitor: | |
# Full tag list: https://hub.docker.com/r/library/kapacitor/tags/ | |
image: kapacitor | |
deploy: | |
replicas: 1 | |
placement: | |
constraints: | |
- node.role == manager | |
restart_policy: | |
condition: on-failure | |
volumes: | |
# Mount for kapacitor data directory | |
- kapacitor-data:/var/lib/kapacitor | |
# Mount for kapacitor configuration | |
- /etc/kapacitor/config:/etc/kapacitor | |
ports: | |
# The API for Kapacitor is served on port 9092 | |
- "9092:9092" | |
networks: | |
- influx | |
# Kapacitor requires network access to Influxdb | |
depends_on: | |
- influxdb | |
# BACK | |
telegraf: | |
# Full tag list: https://hub.docker.com/r/library/telegraf/tags/ | |
image: telegraf | |
environment: | |
HOSTNAME: "telegraf" | |
deploy: | |
mode: global | |
restart_policy: | |
condition: on-failure | |
volumes: | |
# Mount for telegraf configuration | |
- /etc/telegraf:/etc/telegraf | |
# Mount for Docker API access | |
- /var/run/docker.sock:/var/run/docker.sock | |
networks: | |
- influx | |
depends_on: | |
- influxdb | |
# DATABASE | |
influxdb: | |
# Full tag list: https://hub.docker.com/r/library/influxdb/tags/ | |
image: influxdb | |
deploy: | |
replicas: 1 | |
placement: | |
constraints: | |
- node.role == manager | |
restart_policy: | |
condition: on-failure | |
volumes: | |
# Mount for influxdb data directory | |
- influxdb-data:/var/lib/influxdb | |
# Mount for influxdb configuration | |
- /etc/influxdb/config:/etc/influxdb | |
ports: | |
# The API for InfluxDB is served on port 8086 | |
- "8086:8086" | |
networks: | |
- influx | |
networks: | |
influx: | |
volumes: | |
chronograf-data: | |
kapacitor-data: | |
influxdb-data: |
Since remote cfg is available for telegraf, how to avoid hardcoding of node names?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
(from https://gist.github.com/cdelaitre/85949d8b697359a319e30a678e23d8bd#gistcomment-2131758)
Requirements
1/ Prepare configuration files
https://github.com/influxdata/sandbox/blob/master/influxdb/config/influxdb.conf
https://github.com/influxdata/sandbox/blob/master/telegraf/telegraf.conf
2/ Copy and Run the stack
3/ Set up
Caution