Add hostmetrics receiver and OTel Collector telemetry, and move Alertmanager and Blackbox scraping to the collector. Raise collector memory limits, restrict Blackbox to HTTP 200, and add collector and Caddy down alerts with inhibition. Update portfolio title and copy.
134 lines
3.5 KiB
YAML
134 lines
3.5 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
tempo:
|
|
image: grafana/tempo:2.10.7
|
|
command:
|
|
- -config.file=/etc/tempo/tempo.yml
|
|
configs:
|
|
- source: tempo_config
|
|
target: /etc/tempo/tempo.yml
|
|
volumes:
|
|
- tempodata:/var/tempo
|
|
networks:
|
|
- prometheus_network
|
|
- wireguard_network
|
|
|
|
perses:
|
|
image: persesdev/perses:latest
|
|
volumes:
|
|
- persesdata:/perses
|
|
networks:
|
|
- prometheus_network
|
|
- wireguard_network
|
|
|
|
blackbox_exporter:
|
|
image: prom/blackbox-exporter:v0.28.0
|
|
configs:
|
|
- source: blackbox_config
|
|
target: /etc/blackbox_exporter/config.yml
|
|
networks:
|
|
- prometheus_network
|
|
|
|
alertmanager:
|
|
image: prom/alertmanager:v0.33.1
|
|
configs:
|
|
- source: alertmanager_config
|
|
target: /etc/alertmanager/alertmanager.yml
|
|
volumes:
|
|
- alertmanagerdata:/alertmanager
|
|
networks:
|
|
- prometheus_network
|
|
|
|
ntfy:
|
|
image: binwiederhier/ntfy
|
|
command:
|
|
- serve
|
|
environment:
|
|
TZ: Europe/Paris
|
|
volumes:
|
|
- ntfydata:/var/lib/ntfy
|
|
networks:
|
|
- prometheus_network
|
|
- reverse_network
|
|
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector-contrib:0.156.0
|
|
configs:
|
|
- source: otel_collector_config
|
|
target: /etc/otelcol-contrib/config.yaml
|
|
volumes:
|
|
- /:/hostfs:ro
|
|
- /proc:/hostfs/proc:ro
|
|
- /sys:/hostfs/sys:ro
|
|
- /dev:/hostfs/dev:ro
|
|
- /run:/hostfs/run:ro
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
networks:
|
|
- prometheus_network
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v3.9.1
|
|
command:
|
|
- --config.file=/etc/prometheus/prometheus.yml
|
|
- --storage.tsdb.path=/prometheus
|
|
- --web.enable-remote-write-receiver
|
|
configs:
|
|
- source: prometheus_config
|
|
target: /etc/prometheus/prometheus.yml
|
|
- source: prometheus_rules_config
|
|
target: /etc/prometheus/alert.rules.yml
|
|
volumes:
|
|
- prometheusdata:/prometheus
|
|
networks:
|
|
- prometheus_network
|
|
- wireguard_network
|
|
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:rw
|
|
- /sys:/sys:ro
|
|
- /var/lib/docker/:/var/lib/docker:ro
|
|
networks:
|
|
- prometheus_network
|
|
|
|
configs:
|
|
prometheus_config:
|
|
name: prometheus_config_${DATETIME}
|
|
file: ./prometheus/prometheus.yml
|
|
blackbox_config:
|
|
name: blackbox_config_${DATETIME}
|
|
file: ./blackbox/blackbox.yml
|
|
alertmanager_config:
|
|
name: alertmanager_config_${DATETIME}
|
|
file: ./prometheus/alertmanager/alertmanager.yml
|
|
prometheus_rules_config:
|
|
name: prometheus_rules_config_${DATETIME}
|
|
file: ./prometheus/alert.rules.yml
|
|
otel_collector_config:
|
|
name: otel_collector_config_${DATETIME}
|
|
file: ./otel-collector/config.yaml
|
|
tempo_config:
|
|
name: tempo_config_${DATETIME}
|
|
file: ./tempo/tempo.yml
|
|
|
|
volumes:
|
|
persesdata:
|
|
prometheusdata:
|
|
ntfydata:
|
|
alertmanagerdata:
|
|
tempodata:
|
|
|
|
networks:
|
|
reverse_network:
|
|
external: true
|
|
wireguard_network:
|
|
external: true
|
|
prometheus_network:
|
|
external: true
|