Archived
archived old monitoring system
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
services:
|
||||
prometheus:
|
||||
profiles: ["monitoring","all","prometheus"]
|
||||
image: prom/prometheus:latest
|
||||
# env_file:
|
||||
# - ${PROJECT_ROOT}/secrets/stack-secrets.env
|
||||
container_name: prometheus
|
||||
depends_on:
|
||||
# - alertmanager
|
||||
- telegraf
|
||||
- influxdb
|
||||
- node-exporter
|
||||
- docker-update-exporter
|
||||
- pihole-exporter
|
||||
command:
|
||||
- "--config.file=/etc/prometheus/prometheus.yml"
|
||||
- "--storage.tsdb.path=/prometheus"
|
||||
- "--storage.tsdb.retention.time=15d"
|
||||
# build:
|
||||
# context: ${PROJECT_ROOT}/monitoring/prometheus
|
||||
volumes:
|
||||
- ${PROJECT_ROOT}/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
# - ${PROJECT_ROOT}/monitoring/prometheus/data:/prometheus
|
||||
# - ${PROJECT_ROOT}/monitoring/prometheus/rules:/etc/prometheus/rules:ro
|
||||
- ${DOCKER_VOLUMES}/prometheus/data:/prometheus
|
||||
- ${DOCKER_VOLUMES}/prometheus/rules:/etc/prometheus/rules:ro
|
||||
- ${PROJECT_ROOT}/secrets/prometheus_kuma_basic_auth_password.txt:/run/secrets/prometheus_kuma_basic_auth_password:ro
|
||||
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.http.routers.prometheus.rule=Host(`prometheus.lan.ddnsgeek.com`)"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.prometheus.entrypoints=websecure"
|
||||
- "traefik.http.routers.prometheus.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.prometheus.tls.options=mtls-private-admin@file"
|
||||
- "io.portainer.accesscontrol.public"
|
||||
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
||||
- "traefik.http.routers.prometheus.middlewares=authelia"
|
||||
- "traefik.docker.network=core_traefik"
|
||||
networks:
|
||||
# - edge
|
||||
# - traefik_reverse_proxy
|
||||
- traefik
|
||||
- monitor
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://localhost:9090/-/healthy"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
#volumes:
|
||||
# prometheus-data:
|
||||
# external: true
|
||||
# prometheus-rules:
|
||||
# external: true
|
||||
@@ -0,0 +1,166 @@
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
|
||||
#alerting:
|
||||
# alertmanagers:
|
||||
# - static_configs:
|
||||
# - targets:
|
||||
# - alertmanager:9093
|
||||
|
||||
scrape_configs:
|
||||
|
||||
# Prometheus itself
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["prometheus:9090"]
|
||||
labels:
|
||||
role: prometheus
|
||||
# =========================
|
||||
# Node Exporters (ALL hosts)
|
||||
# =========================
|
||||
- job_name: "node"
|
||||
static_configs:
|
||||
- targets:
|
||||
- node-exporter:9100
|
||||
labels:
|
||||
role: docker
|
||||
|
||||
- targets:
|
||||
- raspberrypi.tail13f623.ts.net:9100
|
||||
labels:
|
||||
role: raspberrypi
|
||||
|
||||
- targets:
|
||||
- pve.sweet.home:9100
|
||||
labels:
|
||||
role: proxmox
|
||||
|
||||
- targets:
|
||||
- pbs.sweet.home:9100
|
||||
labels:
|
||||
role: backup
|
||||
|
||||
- targets:
|
||||
- pihole:9100
|
||||
labels:
|
||||
role: pihole
|
||||
|
||||
- targets:
|
||||
- server:9100
|
||||
labels:
|
||||
role: server
|
||||
|
||||
- targets:
|
||||
- nix-cache:9100
|
||||
labels:
|
||||
role: cache
|
||||
|
||||
# =========================
|
||||
# Telegraf (Docker metrics)
|
||||
# =========================
|
||||
- job_name: "telegraf"
|
||||
static_configs:
|
||||
- targets:
|
||||
- telegraf:9273
|
||||
- raspberrypi.tail13f623.ts.net:9273
|
||||
labels:
|
||||
role: docker
|
||||
|
||||
# =========================
|
||||
# Traefik (all instances)
|
||||
# =========================
|
||||
- job_name: "traefik"
|
||||
static_configs:
|
||||
- targets:
|
||||
- traefik.lan.ddnsgeek.com:8080
|
||||
labels:
|
||||
role: docker
|
||||
|
||||
- targets:
|
||||
- raspberrypi.tail13f623.ts.net:8080
|
||||
labels:
|
||||
role: raspberrypi
|
||||
|
||||
metric_relabel_configs:
|
||||
- source_labels: [service]
|
||||
regex: '(.+)@.+'
|
||||
target_label: service
|
||||
replacement: '$1'
|
||||
|
||||
# =========================
|
||||
# Uptime Kuma (separate due to auth)
|
||||
# =========================
|
||||
- job_name: "kuma"
|
||||
metrics_path: /metrics
|
||||
scrape_interval: 30s
|
||||
|
||||
basic_auth:
|
||||
username: wayne.bennett@live.com
|
||||
password_file: /run/secrets/prometheus_kuma_basic_auth_password
|
||||
# password: '4vjCco?[%{=+,t`):C'
|
||||
static_configs:
|
||||
- targets:
|
||||
- monitor-kuma:3001
|
||||
labels:
|
||||
role: docker
|
||||
|
||||
- targets:
|
||||
- kuma.lan.ddnsgeek.com
|
||||
labels:
|
||||
role: raspberrypi
|
||||
tls_config:
|
||||
# ca_file: /prometheus/clients-ca.crt
|
||||
cert_file: /prometheus/office-pc.crt
|
||||
key_file: /prometheus/office-pc.key
|
||||
# server_name: kuma.lan.ddnsgeek.com
|
||||
|
||||
# =========================
|
||||
# Proxmox Storage Exporters
|
||||
# =========================
|
||||
- job_name: "proxmox-storage"
|
||||
metrics_path: /metrics
|
||||
static_configs:
|
||||
- targets:
|
||||
- pve.sweet.home:9101
|
||||
labels:
|
||||
role: proxmox
|
||||
storage: lvm
|
||||
|
||||
# - targets:
|
||||
# - pbs.sweet.home:9102
|
||||
# labels:
|
||||
# role: backup
|
||||
# storage: datastore
|
||||
|
||||
# =========================
|
||||
# Docker Updates Exporter
|
||||
# =========================
|
||||
|
||||
|
||||
- job_name: "container-updates"
|
||||
static_configs:
|
||||
- targets:
|
||||
- docker-update-exporter:9105
|
||||
labels:
|
||||
role: docker
|
||||
- targets:
|
||||
- raspberrypi.tail13f623.ts.net:9105
|
||||
labels:
|
||||
role: raspberrypi
|
||||
|
||||
# =========================
|
||||
# pihole Exporter
|
||||
# =========================
|
||||
|
||||
|
||||
- job_name: "pihole"
|
||||
static_configs:
|
||||
- targets:
|
||||
- pihole-exporter:9617
|
||||
labels:
|
||||
role: pihole
|
||||
|
||||
|
||||
#rule_files:
|
||||
# - /etc/prometheus/rules/*.yml
|
||||
@@ -0,0 +1,192 @@
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- static_configs:
|
||||
- targets:
|
||||
- alertmanager:9093
|
||||
|
||||
scrape_configs:
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["prometheus:9090"]
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: "docker-node"
|
||||
static_configs:
|
||||
- targets: ["node-exporter:9100"]
|
||||
labels:
|
||||
type: "virtual"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
# - job_name: "cadvisor"
|
||||
# static_configs:
|
||||
# - targets: ["cadvisor:8080"]
|
||||
# labels:
|
||||
# type: "container"
|
||||
# relabel_configs:
|
||||
# - source_labels: [__address__]
|
||||
# regex: '([^:]+):.*'
|
||||
# target_label: instance
|
||||
- job_name: "raspberrypi-node"
|
||||
static_configs:
|
||||
- targets:
|
||||
- "raspberrypi.tail13f623.ts.net:9100"
|
||||
labels:
|
||||
type: "physical"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: "proxmox-node"
|
||||
static_configs:
|
||||
- targets:
|
||||
- "pve.sweet.home:9100"
|
||||
labels:
|
||||
type: "physical"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: "proxmox-backup-server"
|
||||
static_configs:
|
||||
- targets:
|
||||
- "pbs.sweet.home:9100"
|
||||
labels:
|
||||
type: "virtual"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: "pihole"
|
||||
static_configs:
|
||||
- targets:
|
||||
- "pihole:9100"
|
||||
labels:
|
||||
type: "virtual"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: "server"
|
||||
static_configs:
|
||||
- targets:
|
||||
- "server:9100"
|
||||
labels:
|
||||
type: "virtual"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: "nix-cache"
|
||||
static_configs:
|
||||
- targets:
|
||||
- "nix-cache:9100"
|
||||
labels:
|
||||
type: "virtual"
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: docker
|
||||
static_configs:
|
||||
- targets: ['telegraf:9273']
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
|
||||
- job_name: 'traefik'
|
||||
static_configs:
|
||||
- targets: ['traefik.lan.ddnsgeek.com:8080'] # replace with your Traefik host:port
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
metric_relabel_configs:
|
||||
- source_labels: [service]
|
||||
regex: '(.+)@.+'
|
||||
target_label: service
|
||||
replacement: '$1'
|
||||
|
||||
- job_name: 'raspi-traefik'
|
||||
static_configs:
|
||||
- targets: ['raspberrypi.tail13f623.ts.net:8080'] # replace with your Traefik host:port
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
metric_relabel_configs:
|
||||
- source_labels: [service]
|
||||
regex: '(.+)@.+'
|
||||
target_label: service
|
||||
replacement: '$1'
|
||||
|
||||
- job_name: 'raspi-kuma'
|
||||
metrics_path: /metrics
|
||||
scrape_interval: 30s
|
||||
|
||||
basic_auth:
|
||||
username: wayne.bennett@live.com
|
||||
password: '4vjCco?[%{=+,t`):C'
|
||||
|
||||
static_configs:
|
||||
- targets:
|
||||
- kuma.lan.ddnsgeek.com
|
||||
|
||||
- job_name: 'docker-kuma'
|
||||
metrics_path: /metrics
|
||||
scrape_interval: 30s
|
||||
|
||||
basic_auth:
|
||||
username: wayne.bennett@live.com
|
||||
password: '4vjCco?[%{=+,t`):C'
|
||||
|
||||
static_configs:
|
||||
- targets:
|
||||
- uptime-kuma:3001
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
|
||||
- job_name: 'proxmox LVM storage'
|
||||
static_configs:
|
||||
- targets: ['pve.sweet.home:9101']
|
||||
metrics_path: /metrics
|
||||
scheme: http
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
- job_name: 'proxmox backup storage'
|
||||
static_configs:
|
||||
- targets: ['pbs.sweet.home:9102']
|
||||
metrics_path: /metrics
|
||||
scheme: http
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^:]+):.*'
|
||||
target_label: instance
|
||||
|
||||
|
||||
rule_files:
|
||||
- /etc/prometheus/rules/*.yml
|
||||
|
||||
Reference in New Issue
Block a user