diff --git a/ansible/group_vars/all/directories.yml b/ansible/group_vars/all/directories.yml new file mode 100644 index 0000000..2610249 --- /dev/null +++ b/ansible/group_vars/all/directories.yml @@ -0,0 +1 @@ +traefik_influx_db_dir: ./influxdb diff --git a/ansible/host_vars/intersect.yml b/ansible/host_vars/intersect.yml index c6a60bc..e6b78d2 100644 --- a/ansible/host_vars/intersect.yml +++ b/ansible/host_vars/intersect.yml @@ -1 +1,3 @@ expose_ssh: true + +traefik_influx_db_dir: /mnt/tank/dbs/influx/traefik diff --git a/ansible/roles/traefik/files/docker-compose.yml b/ansible/roles/traefik/files/docker-compose.yml index f26c42e..6f1182f 100644 --- a/ansible/roles/traefik/files/docker-compose.yml +++ b/ansible/roles/traefik/files/docker-compose.yml @@ -8,3 +8,19 @@ services: - /var/run/docker.sock:/var/run/docker.sock:ro - ./traefik:/etc/traefik restart: unless-stopped + depends_on: + - influxdb + + influxdb: + image: influxdb:1.8-alpine + restart: unless-stopped + volumes: + - "{{ traefik_influx_db_dir }}:/var/lib/influxdb" + ports: + - "{{ wireguard.clients[ansible_fqdn].ip }}:38089:8089/udp" + - "{{ wireguard.clients[ansible_fqdn].ip }}:38086:8086" + environment: + - INFLUXDB_DB=traefik + - INFLUXDB_HTTP_AUTH_ENABLED= + - INFLUXDB_UDP_ENABLED=true + - INFLUXDB_UDP_DATABASE=traefik diff --git a/ansible/roles/traefik/files/traefik.yml b/ansible/roles/traefik/files/traefik.yml index 2b9b5bf..edb8dfd 100644 --- a/ansible/roles/traefik/files/traefik.yml +++ b/ansible/roles/traefik/files/traefik.yml @@ -41,3 +41,9 @@ certificatesResolvers: serversTransport: insecureSkipVerify: true + +metrics: + influxDB: + address: "{{ wireguard.clients[ansible_fqdn].ip }}:38089" + database: traefik + pushInterval: 30s