Compare commits

..
1 Commits
Author SHA1 Message Date
dannygroenewegen f946692234 feat: Add labels for label-based metric scraping
continuous-integration/drone/pr Build is failing
Add prometheus.io labels to compose.metrics.yml so monitoring-ng can
auto-discover and scrape Traefik's metrics on the internal network when
enabled.
2026-08-10 21:30:24 +02:00
9 changed files with 29 additions and 22 deletions
+6 -6
View File
@@ -139,10 +139,14 @@ WRITE_TIMEOUT=0s
#####################################################################
## Enable prometheus metrics collection
## used used by the coop-cloud monitoring stack
## BASIC_AUTH should also be enabled
## Metrics are served unauthenticated on :8082, reachable only from
## other services on the proxy network (e.g. monitoring-ng's Alloy,
## which auto-discovers it via the prometheus.io/scrape label)
#COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
#METRICS_ENABLED=1
## Setting METRICS_FQDN also adds a public metrics endpoint (behind
## basic auth). BASIC_AUTH should be enabled for this.
#METRICS_FQDN=metrics.traefik.example.com
#####################################################################
@@ -159,10 +163,6 @@ WRITE_TIMEOUT=0s
#COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
#SMTP_ENABLED=1
## PGSQL recipe open port 5432
#COMPOSE_FILE="$COMPOSE_FILE:compose.pgsql.yml"
#PGSQL_ENABLED=1
## Compy
#COMPOSE_FILE="$COMPOSE_FILE:compose.compy.yml"
#COMPY_ENABLED=1
+2 -2
View File
@@ -1,4 +1,4 @@
export TRAEFIK_YML_VERSION=v32
export FILE_PROVIDER_YML_VERSION=v12
export TRAEFIK_YML_VERSION=v33
export FILE_PROVIDER_YML_VERSION=v13
export ENTRYPOINT_VERSION=v5
export ANUBIS_YML_VERSION=v1
+6
View File
@@ -3,3 +3,9 @@ services:
app:
environment:
- METRICS_ENABLED
deploy:
labels:
# lets monitoring-ng's Alloy auto-discover and scrape metrics-internal
# via the proxy network.
- "prometheus.io/scrape=true"
- "prometheus.io/port=8082"
-12
View File
@@ -1,12 +0,0 @@
---
version: "3.8"
services:
app:
environment:
- PGSQL_ENABLED
ports:
- target: 5432
published: 5432
protocol: tcp
mode: host
+1 -1
View File
@@ -57,7 +57,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.service=api@internal"
- "traefik.http.routers.${STACK_NAME}.middlewares=security@file"
- "coop-cloud.${STACK_NAME}.version=6.1.0+v3.7.10"
- "coop-cloud.${STACK_NAME}.version=6.0.0+v3.7.7"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
+9
View File
@@ -32,6 +32,7 @@ http:
stsSeconds: "31536000"
{{ if eq (env "METRICS_ENABLED") "1" }}
routers:
{{ if ne (env "METRICS_FQDN") "" }}
traefik-metrics:
rule: "Host(`{{ env "METRICS_FQDN" }}`)"
entrypoints:
@@ -41,6 +42,14 @@ http:
middlewares:
- basicauth@file
service: prometheus@internal
{{ end }}
# reachable from other services on the proxy network only (this port
# isn't published to the host), without auth
traefik-metrics-internal:
rule: "PathPrefix(`/`)"
entrypoints:
- metrics-internal
service: prometheus@internal
{{ end }}
tls:
-1
View File
@@ -1 +0,0 @@
Adds option ability to open ports for PGSQL recipe, new version of anubis, and ability to add anubis metrics on this release.
+1
View File
@@ -0,0 +1 @@
1. compose.metrics.yml now adds prometheus.io/scrape labels so services like monitoring-ng can automatically discover and scrape Traefik's metrics.
+4
View File
@@ -112,6 +112,10 @@ entrypoints:
onion:
address: ":9052"
{{- end }}
{{- if eq (env "METRICS_ENABLED") "1" }}
metrics-internal:
address: ":8082"
{{- end }}
ping:
entryPoint: web