Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cffb387580
|
+1
-10
@@ -20,9 +20,6 @@ SECRET_BASIC_AUTH_VERSION=v1
|
||||
# server is remote
|
||||
# PROMETHEUS_REMOTE_WRITE_URL=https://prometheus.$DOMAIN/api/v1/write
|
||||
|
||||
# Enable container filesystem usage metrics (expensive du-scan, ~30% CPU on large hosts)
|
||||
# CADVISOR_DISK_USAGE=1
|
||||
|
||||
# Enable authenticated scraping of containers that opt in via
|
||||
# prometheus.io/auth=basic or prometheus.io/auth=bearer labels (used as
|
||||
# password/bearer token respectively). Insert it with:
|
||||
@@ -87,7 +84,7 @@ SECRET_BASIC_AUTH_VERSION=v1
|
||||
# SECRET_GF_ADMINPASSWD_VERSION=v1
|
||||
## Grafana's own domain. Defaults to $DOMAIN
|
||||
## Change the value if you want Grafana on another domain.
|
||||
# GRAFANA_DOMAIN=$DOMAIN
|
||||
GRAFANA_DOMAIN=$DOMAIN
|
||||
#
|
||||
## Single-Sign-On with OIDC
|
||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-oidc.yml"
|
||||
@@ -126,9 +123,3 @@ SECRET_BASIC_AUTH_VERSION=v1
|
||||
|
||||
# Node memory usage alert will trigger when memory usage is above the given number in percent
|
||||
#ALERT_NODE_MEMORY_USAGE=85
|
||||
|
||||
# Tell Traefik to keep access logs (could be very verbose)
|
||||
ALLOY_ACCESS_LOGS=false
|
||||
PROMETHEUS_ACCESS_LOGS=false
|
||||
LOKI_ACCESS_LOGS=false
|
||||
GRAFANA_ACCESS_LOGS=false
|
||||
|
||||
@@ -10,7 +10,7 @@ export PROMETHEUS_YML_VERSION=v2
|
||||
export MATRIX_ALERTMANAGER_CONFIG_VERSION=v1
|
||||
export MATRIX_ALERTMANAGER_ENTRYPOINT_VERSION=v1
|
||||
export GF_ALERTS_NODE_VERSION=v3
|
||||
export CONFIG_ALLOY_VERSION=v2
|
||||
export CONFIG_ALLOY_VERSION=v1
|
||||
|
||||
# migrates secrets from old names to new names by reading values from the
|
||||
# running containers on the server and re-inserting them under the new names.
|
||||
|
||||
@@ -14,4 +14,3 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}-alloy.tls=true"
|
||||
- "traefik.http.routers.${STACK_NAME}-alloy.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "traefik.http.routers.${STACK_NAME}-alloy.middlewares=basicauth@file"
|
||||
- "traefik.http.routers.${STACK_NAME}-alloy.observability.accesslogs=${ALLOY_ACCESS_LOGS:-false}"
|
||||
|
||||
@@ -43,7 +43,6 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}-grafana.entrypoints=web-secure"
|
||||
- "traefik.http.routers.${STACK_NAME}-grafana.tls=true"
|
||||
- "traefik.http.routers.${STACK_NAME}-grafana.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "traefik.http.routers.${STACK_NAME}-grafana.observability.accesslogs=${GRAFANA_ACCESS_LOGS:-false}"
|
||||
healthcheck:
|
||||
test: "wget -q http://localhost:3000/healthz -O/dev/null"
|
||||
interval: 5s
|
||||
|
||||
@@ -34,7 +34,6 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}-loki.tls=true"
|
||||
- "traefik.http.routers.${STACK_NAME}-loki.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "traefik.http.routers.${STACK_NAME}-loki.middlewares=basicauth@file"
|
||||
- "traefik.http.routers.${STACK_NAME}-loki.observability.accesslogs=${LOKI_ACCESS_LOGS:-false}"
|
||||
|
||||
|
||||
configs:
|
||||
|
||||
@@ -38,7 +38,6 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}-prometheus.tls=true"
|
||||
- "traefik.http.routers.${STACK_NAME}-prometheus.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "traefik.http.routers.${STACK_NAME}-prometheus.middlewares=basicauth@file"
|
||||
- "traefik.http.routers.${STACK_NAME}-prometheus.observability.accesslogs=${PROMETHEUS_ACCESS_LOGS:-false}"
|
||||
|
||||
configs:
|
||||
prometheus_yml:
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ services:
|
||||
condition: on-failure
|
||||
labels:
|
||||
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
|
||||
- "coop-cloud.${STACK_NAME}.version=2.0.0+v1.18.1"
|
||||
- "coop-cloud.${STACK_NAME}.version=1.6.0+v1.8.1"
|
||||
configs:
|
||||
config_alloy:
|
||||
template_driver: golang
|
||||
|
||||
+25
-4
@@ -14,11 +14,7 @@ discovery.docker "linux" {
|
||||
{{ if ne (env "PROMETHEUS_REMOTE_WRITE_URL") "" }}
|
||||
prometheus.exporter.cadvisor "docker" {
|
||||
docker_only = true
|
||||
{{ if eq (env "CADVISOR_DISK_USAGE") "1" }}
|
||||
enabled_metrics = ["cpu", "cpuLoad", "disk", "diskIO", "memory", "network"]
|
||||
{{ else }}
|
||||
enabled_metrics = ["cpu", "cpuLoad", "diskIO", "memory", "network"]
|
||||
{{ end }}
|
||||
// host-wide totals already come from prometheus.exporter.unix
|
||||
disable_root_cgroup_stats = true
|
||||
}
|
||||
@@ -52,7 +48,32 @@ prometheus.scrape "default" {
|
||||
prometheus.exporter.cadvisor.docker.targets,
|
||||
)
|
||||
|
||||
forward_to = [prometheus.relabel.container_meta.receiver]
|
||||
}
|
||||
|
||||
prometheus.relabel "container_meta" {
|
||||
forward_to = [prometheus.remote_write.prometheus.receiver]
|
||||
|
||||
// remove sha tail: nginx:1.31.1@sha256:608a... -> nginx:1.31.1
|
||||
rule {
|
||||
source_labels = ["image"]
|
||||
regex = "([^@]+)@sha256:.*"
|
||||
target_label = "image"
|
||||
replacement = "$1"
|
||||
}
|
||||
// split image in name and tag
|
||||
rule {
|
||||
source_labels = ["image"]
|
||||
regex = "(.+):[^:/]+"
|
||||
target_label = "image_name"
|
||||
replacement = "$1"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["image"]
|
||||
regex = ".+:([^:/]+)"
|
||||
target_label = "image_tag"
|
||||
replacement = "$1"
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.remote_write "prometheus" {
|
||||
|
||||
@@ -59,6 +59,3 @@ See the README's "Auto-discovering metrics from other apps" section.
|
||||
The Swarm, Stacks and Traefik dashboards were reworked to show old (pull-model)
|
||||
and new (Alloy push-model) data as one continuous line, so you don't lose history
|
||||
across the migration.
|
||||
|
||||
The disk usage per container was disabled per default because of the CPU-expensive
|
||||
filesystem scan (30% cpu increase). Enable by uncommenting env CADVISOR_DISK_USAGE=1
|
||||
Reference in New Issue
Block a user