Merge pull request #73 from beatz174-bit/codex/refine-github-pages-documentation-and-diagrams
Remove Prometheus Rules from public docs; simplify physical and Traefik/DNS diagrams
This commit is contained in:
@@ -4,8 +4,6 @@ apps/gramps/docker-compose.yml
|
|||||||
apps/nextcloud/docker-compose.yml
|
apps/nextcloud/docker-compose.yml
|
||||||
apps/passbolt/docker-compose.yml
|
apps/passbolt/docker-compose.yml
|
||||||
apps/searxng/docker-compose.yml
|
apps/searxng/docker-compose.yml
|
||||||
apps/shift-recorder/docker-compose.yml
|
|
||||||
apps/stockfill/docker-compose.yml
|
|
||||||
core/authelia/docker-compose.yml
|
core/authelia/docker-compose.yml
|
||||||
core/crowdsec/docker-compose.yml
|
core/crowdsec/docker-compose.yml
|
||||||
core/error-pages/docker-compose.yml
|
core/error-pages/docker-compose.yml
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Docker Compose Inventory
|
# Docker Compose Inventory
|
||||||
|
|
||||||
Source fingerprint: `0fad36c3fed6`
|
Source fingerprint: `232be78ef441`
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
| Item | Count |
|
| Item | Count |
|
||||||
|---|---:|
|
|---|---:|
|
||||||
| Services | 30 |
|
| Services | 28 |
|
||||||
| Networks | 5 |
|
| Networks | 5 |
|
||||||
| Volumes | 0 |
|
| Volumes | 0 |
|
||||||
|
|
||||||
@@ -40,8 +40,6 @@ Source fingerprint: `0fad36c3fed6`
|
|||||||
| portainer | portainer | portainer/portainer-ce:latest | | monitoring, all, portainer | traefik | | unless-stopped |
|
| portainer | portainer | portainer/portainer-ce:latest | | monitoring, all, portainer | traefik | | unless-stopped |
|
||||||
| prometheus | prometheus | prom/prometheus:latest | | monitoring, all, prometheus | monitor, traefik | | unless-stopped |
|
| prometheus | prometheus | prom/prometheus:latest | | monitoring, all, prometheus | monitor, traefik | | unless-stopped |
|
||||||
| searxng-webapp | searxng-webapp | searxng/searxng | | apps, all, searxng | traefik | | always |
|
| searxng-webapp | searxng-webapp | searxng/searxng | | apps, all, searxng | traefik | | always |
|
||||||
| shift-recorder-web | shift-recorder | | /home/nixos/docker/apps/shift-recorder | apps, all, shift-recorder | traefik | | unless-stopped |
|
|
||||||
| stockfill | stockfill | | /home/nixos/docker/apps/stockfill | apps, all, stockfill | traefik | | unless-stopped |
|
|
||||||
| telegraf | telegraf | telegraf:latest | | monitoring, all, telegraf, prometheus | monitor | | unless-stopped |
|
| telegraf | telegraf | telegraf:latest | | monitoring, all, telegraf, prometheus | monitor | | unless-stopped |
|
||||||
| traefik | traefik | traefik:3 | /home/nixos/docker/core | core, all, traefik | traefik | {'mode': 'ingress', 'target': 80, 'published': '80', 'protocol': 'tcp'}, {'mode': 'ingress', 'target': 443, 'published': '443', 'protocol': 'tcp'} | always |
|
| traefik | traefik | traefik:3 | /home/nixos/docker/core | core, all, traefik | traefik | {'mode': 'ingress', 'target': 80, 'published': '80', 'protocol': 'tcp'}, {'mode': 'ingress', 'target': 443, 'published': '443', 'protocol': 'tcp'} | always |
|
||||||
|
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ services:
|
|||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
volumes:
|
volumes:
|
||||||
- type: bind
|
- type: bind
|
||||||
source: /home/nixos/.docker/config.json
|
source: /root/.docker/config.json
|
||||||
target: /root/.docker/config.json
|
target: /root/.docker/config.json
|
||||||
read_only: true
|
read_only: true
|
||||||
bind:
|
bind:
|
||||||
@@ -280,8 +280,8 @@ services:
|
|||||||
- gotify
|
- gotify
|
||||||
container_name: gotify
|
container_name: gotify
|
||||||
environment:
|
environment:
|
||||||
GOTIFY_DEFAULTUSER_NAME: admin
|
GOTIFY_DEFAULTUSER_NAME: dummy-user
|
||||||
GOTIFY_DEFAULTUSER_PASS: R1m@dmin
|
GOTIFY_DEFAULTUSER_PASS: dummy-user
|
||||||
GOTIFY_REGISTRATION: "false"
|
GOTIFY_REGISTRATION: "false"
|
||||||
TZ: Australia/Brisbane
|
TZ: Australia/Brisbane
|
||||||
image: gotify/server:latest
|
image: gotify/server:latest
|
||||||
@@ -379,14 +379,14 @@ services:
|
|||||||
GRAMPSWEB_CELERY_CONFIG__result_backend: redis://gramps-redis:6379/0
|
GRAMPSWEB_CELERY_CONFIG__result_backend: redis://gramps-redis:6379/0
|
||||||
GRAMPSWEB_DEFAULT_FROM_EMAIL: beatz174@gmail.com
|
GRAMPSWEB_DEFAULT_FROM_EMAIL: beatz174@gmail.com
|
||||||
GRAMPSWEB_EMAIL_HOST: smtp.gmail.com
|
GRAMPSWEB_EMAIL_HOST: smtp.gmail.com
|
||||||
GRAMPSWEB_EMAIL_HOST_PASSWORD: kqdw fvml wlag ldgv
|
GRAMPSWEB_EMAIL_HOST_PASSWORD: dummy@example.com
|
||||||
GRAMPSWEB_EMAIL_HOST_USER: beatz174
|
GRAMPSWEB_EMAIL_HOST_USER: dummy@example.com
|
||||||
GRAMPSWEB_EMAIL_PORT: "587"
|
GRAMPSWEB_EMAIL_PORT: "587"
|
||||||
GRAMPSWEB_EMAIL_USE_SSL: "false"
|
GRAMPSWEB_EMAIL_USE_SSL: "false"
|
||||||
GRAMPSWEB_EMAIL_USE_STARTTLS: "true"
|
GRAMPSWEB_EMAIL_USE_STARTTLS: "true"
|
||||||
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://gramps-redis:6379/1
|
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://gramps-redis:6379/1
|
||||||
GRAMPSWEB_REGISTRATION_DISABLED: "true"
|
GRAMPSWEB_REGISTRATION_DISABLED: "true"
|
||||||
GRAMPSWEB_SECRET_KEY: 8916e899404fa2eefe0a87ea08d3b5a1f5b7ab2a1cfc5ae3374bb9c7b0e1cf83
|
GRAMPSWEB_SECRET_KEY: dummy-grampsweb_secret_key
|
||||||
GRAMPSWEB_TREE: main
|
GRAMPSWEB_TREE: main
|
||||||
TZ: Australia/Brisbane
|
TZ: Australia/Brisbane
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -474,14 +474,14 @@ services:
|
|||||||
GRAMPSWEB_CELERY_CONFIG__result_backend: redis://gramps-redis:6379/0
|
GRAMPSWEB_CELERY_CONFIG__result_backend: redis://gramps-redis:6379/0
|
||||||
GRAMPSWEB_DEFAULT_FROM_EMAIL: beatz174@gmail.com
|
GRAMPSWEB_DEFAULT_FROM_EMAIL: beatz174@gmail.com
|
||||||
GRAMPSWEB_EMAIL_HOST: smtp.gmail.com
|
GRAMPSWEB_EMAIL_HOST: smtp.gmail.com
|
||||||
GRAMPSWEB_EMAIL_HOST_PASSWORD: kqdw fvml wlag ldgv
|
GRAMPSWEB_EMAIL_HOST_PASSWORD: dummy@example.com
|
||||||
GRAMPSWEB_EMAIL_HOST_USER: beatz174
|
GRAMPSWEB_EMAIL_HOST_USER: dummy@example.com
|
||||||
GRAMPSWEB_EMAIL_PORT: "587"
|
GRAMPSWEB_EMAIL_PORT: "587"
|
||||||
GRAMPSWEB_EMAIL_USE_SSL: "false"
|
GRAMPSWEB_EMAIL_USE_SSL: "false"
|
||||||
GRAMPSWEB_EMAIL_USE_STARTTLS: "true"
|
GRAMPSWEB_EMAIL_USE_STARTTLS: "true"
|
||||||
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://gramps-redis:6379/1
|
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://gramps-redis:6379/1
|
||||||
GRAMPSWEB_REGISTRATION_DISABLED: "true"
|
GRAMPSWEB_REGISTRATION_DISABLED: "true"
|
||||||
GRAMPSWEB_SECRET_KEY: 8916e899404fa2eefe0a87ea08d3b5a1f5b7ab2a1cfc5ae3374bb9c7b0e1cf83
|
GRAMPSWEB_SECRET_KEY: dummy-grampsweb_secret_key
|
||||||
GRAMPSWEB_TREE: main
|
GRAMPSWEB_TREE: main
|
||||||
TZ: Australia/Brisbane
|
TZ: Australia/Brisbane
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -549,7 +549,7 @@ services:
|
|||||||
DOCKER_INFLUXDB_INIT_MODE: setup
|
DOCKER_INFLUXDB_INIT_MODE: setup
|
||||||
DOCKER_INFLUXDB_INIT_ORG: pbs
|
DOCKER_INFLUXDB_INIT_ORG: pbs
|
||||||
DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb_init_password
|
DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb_init_password
|
||||||
DOCKER_INFLUXDB_INIT_USERNAME: admin
|
DOCKER_INFLUXDB_INIT_USERNAME: dummy-user
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
- CMD-SHELL
|
- CMD-SHELL
|
||||||
@@ -647,7 +647,7 @@ services:
|
|||||||
io.portainer.accesscontrol.public: ""
|
io.portainer.accesscontrol.public: ""
|
||||||
traefik.docker.network: core_traefik
|
traefik.docker.network: core_traefik
|
||||||
traefik.enable: "true"
|
traefik.enable: "true"
|
||||||
traefik.http.middlewares.mtls-bridge-auth.basicauth.users: beatzaplenty:$$2y$$05$$WAj1.xaHHoR0lmgx8UedwuIM4qv2Uz7eezY4gxASfM5KAdN8mPLOa
|
traefik.http.middlewares.mtls-bridge-auth.basicauth.users: ""
|
||||||
traefik.http.middlewares.mtls-bridge-cors.headers.accesscontrolallowcredentials: "true"
|
traefik.http.middlewares.mtls-bridge-cors.headers.accesscontrolallowcredentials: "true"
|
||||||
traefik.http.middlewares.mtls-bridge-cors.headers.accesscontrolallowheaders: authorization,content-type,x-grafana-action,x-grafana-device-id
|
traefik.http.middlewares.mtls-bridge-cors.headers.accesscontrolallowheaders: authorization,content-type,x-grafana-action,x-grafana-device-id
|
||||||
traefik.http.middlewares.mtls-bridge-cors.headers.accesscontrolallowmethods: GET,POST,PUT,PATCH,DELETE,OPTIONS
|
traefik.http.middlewares.mtls-bridge-cors.headers.accesscontrolallowmethods: GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||||||
@@ -690,9 +690,9 @@ services:
|
|||||||
MYSQL_DATABASE: nextcloud
|
MYSQL_DATABASE: nextcloud
|
||||||
MYSQL_PASSWORD_FILE: /run/secrets/nextcloud_db_password
|
MYSQL_PASSWORD_FILE: /run/secrets/nextcloud_db_password
|
||||||
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/nextcloud_db_root_password
|
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/nextcloud_db_root_password
|
||||||
MYSQL_USER: nextcloud
|
MYSQL_USER: dummyuser
|
||||||
NEXTCLOUD_ADMIN_PASSWORD_FILE: /run/secrets/nextcloud_admin_password
|
NEXTCLOUD_ADMIN_PASSWORD_FILE: /run/secrets/nextcloud_admin_password
|
||||||
NEXTCLOUD_ADMIN_USER: admin
|
NEXTCLOUD_ADMIN_USER: dummy-user
|
||||||
hostname: nextcloud_db
|
hostname: nextcloud_db
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
@@ -772,12 +772,12 @@ services:
|
|||||||
condition: service_started
|
condition: service_started
|
||||||
required: true
|
required: true
|
||||||
environment:
|
environment:
|
||||||
MAIL_DOMAIN: gmail.com
|
MAIL_DOMAIN: example.lan.ddnsgeek.com
|
||||||
MAIL_FROM_ADDRESS: beatz174
|
MAIL_FROM_ADDRESS: dummy
|
||||||
MYSQL_DATABASE: nextcloud
|
MYSQL_DATABASE: nextcloud
|
||||||
MYSQL_HOST: nextcloud_db:3306
|
MYSQL_HOST: nextcloud_db:3306
|
||||||
MYSQL_PASSWORD_FILE: /run/secrets/nextcloud_db_password
|
MYSQL_PASSWORD_FILE: /run/secrets/nextcloud_db_password
|
||||||
MYSQL_USER: nextcloud
|
MYSQL_USER: dummyuser
|
||||||
NEXTCLOUD_TRUSTED_DOMAINS: nextcloud.lan.ddnsgeek.com
|
NEXTCLOUD_TRUSTED_DOMAINS: nextcloud.lan.ddnsgeek.com
|
||||||
OVERWRITECLIURL: https://nextcloud.lan.ddnsgeek.com
|
OVERWRITECLIURL: https://nextcloud.lan.ddnsgeek.com
|
||||||
OVERWRITEPROTOCOL: https
|
OVERWRITEPROTOCOL: https
|
||||||
@@ -786,7 +786,7 @@ services:
|
|||||||
REDIS_HOST_PORT: "6379"
|
REDIS_HOST_PORT: "6379"
|
||||||
SMTP_AUTHTYPE: login
|
SMTP_AUTHTYPE: login
|
||||||
SMTP_HOST: smtp.gmail.com
|
SMTP_HOST: smtp.gmail.com
|
||||||
SMTP_NAME: beatz174@gmail.com
|
SMTP_NAME: dummy-name
|
||||||
SMTP_PASSWORD_FILE: /run/secrets/nextcloud_smtp_password
|
SMTP_PASSWORD_FILE: /run/secrets/nextcloud_smtp_password
|
||||||
SMTP_PORT: "587"
|
SMTP_PORT: "587"
|
||||||
SMTP_SECURE: tls
|
SMTP_SECURE: tls
|
||||||
@@ -943,10 +943,10 @@ services:
|
|||||||
- passbolt
|
- passbolt
|
||||||
container_name: passbolt-db
|
container_name: passbolt-db
|
||||||
environment:
|
environment:
|
||||||
MYSQL_DATABASE: passbolt
|
MYSQL_DATABASE: dummy-passbolt_db_name
|
||||||
MYSQL_PASSWORD_FILE: /run/secrets/passbolt_db_password
|
MYSQL_PASSWORD_FILE: /run/secrets/passbolt_db_password
|
||||||
MYSQL_RANDOM_ROOT_PASSWORD: "true"
|
MYSQL_RANDOM_ROOT_PASSWORD: "true"
|
||||||
MYSQL_USER: passbolt
|
MYSQL_USER: dummyuser
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
- CMD-SHELL
|
- CMD-SHELL
|
||||||
@@ -989,11 +989,11 @@ services:
|
|||||||
required: true
|
required: true
|
||||||
environment:
|
environment:
|
||||||
APP_FULL_BASE_URL: https://passbolt.lan.ddnsgeek.com
|
APP_FULL_BASE_URL: https://passbolt.lan.ddnsgeek.com
|
||||||
DATASOURCES_DEFAULT_DATABASE: passbolt
|
DATASOURCES_DEFAULT_DATABASE: dummy-passbolt_db_name
|
||||||
DATASOURCES_DEFAULT_HOST: passbolt-db
|
DATASOURCES_DEFAULT_HOST: passbolt-db
|
||||||
DATASOURCES_DEFAULT_PASSWORD_FILE: /run/secrets/passbolt_db_password
|
DATASOURCES_DEFAULT_PASSWORD_FILE: /run/secrets/passbolt_db_password
|
||||||
DATASOURCES_DEFAULT_USERNAME: passbolt
|
DATASOURCES_DEFAULT_USERNAME: dummyuser
|
||||||
PASSBOLT_GPG_SERVER_KEY_FINGERPRINT: CBBB2B8F3E9FACA114537ACB8965B750F7363586
|
PASSBOLT_GPG_SERVER_KEY_FINGERPRINT: dummy-passbolt_gpg_server_key_fingerprint
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
- CMD-SHELL
|
- CMD-SHELL
|
||||||
@@ -1037,7 +1037,7 @@ services:
|
|||||||
container_name: pihole-exporter
|
container_name: pihole-exporter
|
||||||
environment:
|
environment:
|
||||||
PIHOLE_HOSTNAME: pihole.sweet.home
|
PIHOLE_HOSTNAME: pihole.sweet.home
|
||||||
PIHOLE_PASSWORD: ""
|
PIHOLE_PASSWORD: dummy-pihole_password
|
||||||
PORT: "9617"
|
PORT: "9617"
|
||||||
image: ekofr/pihole-exporter:latest
|
image: ekofr/pihole-exporter:latest
|
||||||
networks:
|
networks:
|
||||||
@@ -1191,46 +1191,6 @@ services:
|
|||||||
- /tmp
|
- /tmp
|
||||||
- /var
|
- /var
|
||||||
- /run
|
- /run
|
||||||
shift-recorder-web:
|
|
||||||
profiles:
|
|
||||||
- apps
|
|
||||||
- all
|
|
||||||
- shift-recorder
|
|
||||||
build:
|
|
||||||
context: /home/nixos/docker/apps/shift-recorder
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
container_name: shift-recorder
|
|
||||||
labels:
|
|
||||||
io.portainer.accesscontrol.public: ""
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.shifts.entrypoints: websecure
|
|
||||||
traefik.http.routers.shifts.rule: Host(`shifts.lan.ddnsgeek.com`)
|
|
||||||
traefik.http.routers.shifts.tls: "true"
|
|
||||||
traefik.http.routers.shifts.tls.certresolver: myresolver
|
|
||||||
traefik.http.services.shifts.loadbalancer.server.port: "80"
|
|
||||||
networks:
|
|
||||||
traefik: null
|
|
||||||
restart: unless-stopped
|
|
||||||
stockfill:
|
|
||||||
profiles:
|
|
||||||
- apps
|
|
||||||
- all
|
|
||||||
- stockfill
|
|
||||||
build:
|
|
||||||
context: /home/nixos/docker/apps/stockfill
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
container_name: stockfill
|
|
||||||
labels:
|
|
||||||
io.portainer.accesscontrol.public: ""
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.stockfill.entrypoints: websecure
|
|
||||||
traefik.http.routers.stockfill.rule: Host(`stockfill.lan.ddnsgeek.com`)
|
|
||||||
traefik.http.routers.stockfill.tls: "true"
|
|
||||||
traefik.http.routers.stockfill.tls.certresolver: myresolver
|
|
||||||
traefik.http.services.stockfill.loadbalancer.server.port: "80"
|
|
||||||
networks:
|
|
||||||
traefik: null
|
|
||||||
restart: unless-stopped
|
|
||||||
telegraf:
|
telegraf:
|
||||||
profiles:
|
profiles:
|
||||||
- monitoring
|
- monitoring
|
||||||
|
|||||||
@@ -8,5 +8,4 @@ This directory contains documentation generated automatically from repository co
|
|||||||
- [Resolved Docker Compose config](docker-compose.resolved.yml)
|
- [Resolved Docker Compose config](docker-compose.resolved.yml)
|
||||||
- [Compose inventory](compose-inventory.md)
|
- [Compose inventory](compose-inventory.md)
|
||||||
- [Traefik routes](traefik-routes.md)
|
- [Traefik routes](traefik-routes.md)
|
||||||
- [Prometheus rules](prometheus-rules.md)
|
|
||||||
- [Docker Compose diagram](../diagrams/docker-compose.svg)
|
- [Docker Compose diagram](../diagrams/docker-compose.svg)
|
||||||
|
|||||||
@@ -1,127 +0,0 @@
|
|||||||
# Prometheus Rules
|
|
||||||
|
|
||||||
| File | Group | Alert | Expr | For | Labels | Annotations |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
@@ -18,6 +18,4 @@
|
|||||||
| portainer | portainer | Host(`portainer.lan.ddnsgeek.com`) | websecure | true | | 9000 |
|
| portainer | portainer | Host(`portainer.lan.ddnsgeek.com`) | websecure | true | | 9000 |
|
||||||
| prometheus | prometheus | Host(`prometheus.lan.ddnsgeek.com`) | websecure | | authelia | 9090 |
|
| prometheus | prometheus | Host(`prometheus.lan.ddnsgeek.com`) | websecure | | authelia | 9090 |
|
||||||
| searxng-webapp | searxng | Host(`searxng.lan.ddnsgeek.com`) | websecure | | | 8080 |
|
| searxng-webapp | searxng | Host(`searxng.lan.ddnsgeek.com`) | websecure | | | 8080 |
|
||||||
| shift-recorder-web | shifts | Host(`shifts.lan.ddnsgeek.com`) | websecure | true | | 80 |
|
|
||||||
| stockfill | stockfill | Host(`stockfill.lan.ddnsgeek.com`) | websecure | true | | 80 |
|
|
||||||
| traefik | traefik | Host(`traefik.lan.ddnsgeek.com`) | websecure | | authelia | |
|
| traefik | traefik | Host(`traefik.lan.ddnsgeek.com`) | websecure | | authelia | |
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ Some sections are manually written. Other sections are generated automatically b
|
|||||||
|
|
||||||
- [Compose Inventory](generated/compose-inventory.md)
|
- [Compose Inventory](generated/compose-inventory.md)
|
||||||
- [Traefik Routes](generated/traefik-routes.md)
|
- [Traefik Routes](generated/traefik-routes.md)
|
||||||
- [Prometheus Rules](generated/prometheus-rules.md)
|
|
||||||
- [Resolved Compose Config](generated/docker-compose.resolved.yml)
|
- [Resolved Compose Config](generated/docker-compose.resolved.yml)
|
||||||
- [Docker Compose Diagram](diagrams/docker-compose.svg)
|
- [Docker Compose Diagram](diagrams/docker-compose.svg)
|
||||||
|
|
||||||
|
|||||||
@@ -8,4 +8,3 @@ Monitoring documentation is generated from static rule files committed in this r
|
|||||||
|
|
||||||
Generated asset:
|
Generated asset:
|
||||||
|
|
||||||
- [Prometheus Rules](generated/prometheus-rules.md)
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Docker Compose Inventory
|
# Docker Compose Inventory
|
||||||
|
|
||||||
Source fingerprint: `0fad36c3fed6`
|
Source fingerprint: `232be78ef441`
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
| Item | Count |
|
| Item | Count |
|
||||||
|---|---:|
|
|---|---:|
|
||||||
| Services | 30 |
|
| Services | 28 |
|
||||||
| Networks | 5 |
|
| Networks | 5 |
|
||||||
| Volumes | 0 |
|
| Volumes | 0 |
|
||||||
|
|
||||||
@@ -40,8 +40,6 @@ Source fingerprint: `0fad36c3fed6`
|
|||||||
| portainer | portainer | portainer/portainer-ce:latest | | monitoring, all, portainer | traefik | | unless-stopped |
|
| portainer | portainer | portainer/portainer-ce:latest | | monitoring, all, portainer | traefik | | unless-stopped |
|
||||||
| prometheus | prometheus | prom/prometheus:latest | | monitoring, all, prometheus | monitor, traefik | | unless-stopped |
|
| prometheus | prometheus | prom/prometheus:latest | | monitoring, all, prometheus | monitor, traefik | | unless-stopped |
|
||||||
| searxng-webapp | searxng-webapp | searxng/searxng | | apps, all, searxng | traefik | | always |
|
| searxng-webapp | searxng-webapp | searxng/searxng | | apps, all, searxng | traefik | | always |
|
||||||
| shift-recorder-web | shift-recorder | | /home/nixos/docker/apps/shift-recorder | apps, all, shift-recorder | traefik | | unless-stopped |
|
|
||||||
| stockfill | stockfill | | /home/nixos/docker/apps/stockfill | apps, all, stockfill | traefik | | unless-stopped |
|
|
||||||
| telegraf | telegraf | telegraf:latest | | monitoring, all, telegraf, prometheus | monitor | | unless-stopped |
|
| telegraf | telegraf | telegraf:latest | | monitoring, all, telegraf, prometheus | monitor | | unless-stopped |
|
||||||
| traefik | traefik | traefik:3 | /home/nixos/docker/core | core, all, traefik | traefik | {'mode': 'ingress', 'target': 80, 'published': '80', 'protocol': 'tcp'}, {'mode': 'ingress', 'target': 443, 'published': '443', 'protocol': 'tcp'} | always |
|
| traefik | traefik | traefik:3 | /home/nixos/docker/core | core, all, traefik | traefik | {'mode': 'ingress', 'target': 80, 'published': '80', 'protocol': 'tcp'}, {'mode': 'ingress', 'target': 443, 'published': '443', 'protocol': 'tcp'} | always |
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,14 @@
|
|||||||
|
|
||||||
## Physical / virtual topology
|
## Physical / virtual topology
|
||||||
|
|
||||||
|
This view groups containers by inferred host and service role (edge/proxy/auth, monitoring, automation, apps, and supporting storage/services).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Docker, Traefik and Dynu routing
|
## Docker, Traefik and Dynu routing
|
||||||
|
|
||||||
|
This view shows sanitised public DNS names flowing to Traefik, then to exposed Docker services, with backend Docker network membership shown as secondary context.
|
||||||
|
|
||||||
|
_Diagrams are generated from Compose data and Traefik labels._
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
This documentation is generated from the infrastructure repository. Sensitive values are redacted.
|
This documentation is generated from the infrastructure repository. Sensitive values are redacted.
|
||||||
|
|
||||||
|
> Generated docs are sanitised/redacted before publishing to GitHub Pages.
|
||||||
|
|
||||||
## Infrastructure diagrams
|
## Infrastructure diagrams
|
||||||
|
|
||||||
### Physical / virtual topology
|
### Physical / virtual topology
|
||||||
@@ -17,4 +19,3 @@ This documentation is generated from the infrastructure repository. Sensitive va
|
|||||||
- [Diagrams](diagrams.md)
|
- [Diagrams](diagrams.md)
|
||||||
- [Compose Inventory](compose-inventory.md)
|
- [Compose Inventory](compose-inventory.md)
|
||||||
- [Traefik Routes](traefik-routes.md)
|
- [Traefik Routes](traefik-routes.md)
|
||||||
- [Prometheus Rules](prometheus-rules.md)
|
|
||||||
|
|||||||
@@ -1,127 +0,0 @@
|
|||||||
# Prometheus Rules
|
|
||||||
|
|
||||||
| File | Group | Alert | Expr | For | Labels | Annotations |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| docker/monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| docker/monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| docker/monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
| monitoring/prometheus/rules/alerts.yml | system | HostHighCPU | 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))) > 90 | 2m | {'severity': 'warning'} | {'summary': 'High CPU usage on host'} |
|
|
||||||
| monitoring/prometheus/rules/alerts.yml | system | ContainerRestarting | increase(container_restart_count[10m]) > 3 | 1m | {'severity': 'warning'} | {'summary': 'Container restarting frequently'} |
|
|
||||||
| monitoring/prometheus/rules/alerts.yml | system | AlwaysFiring | vector(1) | 10s | {'severity': 'critical'} | {'summary': 'This alert should always fire'} |
|
|
||||||
@@ -18,6 +18,4 @@
|
|||||||
| portainer | portainer | Host(`<internal-domain>`) | websecure | true | | 9000 |
|
| portainer | portainer | Host(`<internal-domain>`) | websecure | true | | 9000 |
|
||||||
| prometheus | prometheus | Host(`<internal-domain>`) | websecure | | authelia | 9090 |
|
| prometheus | prometheus | Host(`<internal-domain>`) | websecure | | authelia | 9090 |
|
||||||
| searxng-webapp | searxng | Host(`<internal-domain>`) | websecure | | | 8080 |
|
| searxng-webapp | searxng | Host(`<internal-domain>`) | websecure | | | 8080 |
|
||||||
| shift-recorder-web | shifts | Host(`<internal-domain>`) | websecure | true | | 80 |
|
|
||||||
| stockfill | stockfill | Host(`<internal-domain>`) | websecure | true | | 80 |
|
|
||||||
| traefik | traefik | Host(`<internal-domain>`) | websecure | | authelia | |
|
| traefik | traefik | Host(`<internal-domain>`) | websecure | | authelia | |
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ nav:
|
|||||||
- Diagrams: diagrams.md
|
- Diagrams: diagrams.md
|
||||||
- Compose Inventory: compose-inventory.md
|
- Compose Inventory: compose-inventory.md
|
||||||
- Traefik Routes: traefik-routes.md
|
- Traefik Routes: traefik-routes.md
|
||||||
- Prometheus Rules: prometheus-rules.md
|
|
||||||
|
|
||||||
theme:
|
theme:
|
||||||
name: mkdocs
|
name: mkdocs
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ nav:
|
|||||||
- Generated:
|
- Generated:
|
||||||
- Compose Inventory: generated/compose-inventory.md
|
- Compose Inventory: generated/compose-inventory.md
|
||||||
- Traefik Routes: generated/traefik-routes.md
|
- Traefik Routes: generated/traefik-routes.md
|
||||||
- Prometheus Rules: generated/prometheus-rules.md
|
|
||||||
|
|
||||||
theme:
|
theme:
|
||||||
name: mkdocs
|
name: mkdocs
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ mkdir -p docs/generated docs/diagrams docs/public
|
|||||||
scripts/docs/render-compose-config.sh
|
scripts/docs/render-compose-config.sh
|
||||||
python3 scripts/docs/generate-compose-inventory.py docs/generated/docker-compose.resolved.yml docs/generated/compose-inventory.md
|
python3 scripts/docs/generate-compose-inventory.py docs/generated/docker-compose.resolved.yml docs/generated/compose-inventory.md
|
||||||
python3 scripts/docs/generate-traefik-routes.py docs/generated/docker-compose.resolved.yml docs/generated/traefik-routes.md
|
python3 scripts/docs/generate-traefik-routes.py docs/generated/docker-compose.resolved.yml docs/generated/traefik-routes.md
|
||||||
python3 scripts/docs/generate-prometheus-rules.py docs/generated/prometheus-rules.md
|
|
||||||
python3 scripts/docs/generate-docs-index.py docs/generated/index.md
|
python3 scripts/docs/generate-docs-index.py docs/generated/index.md
|
||||||
python3 scripts/docs/generate-diagrams.py --compose docs/generated/docker-compose.resolved.yml --out-dir docs/diagrams
|
python3 scripts/docs/generate-diagrams.py --compose docs/generated/docker-compose.resolved.yml --out-dir docs/diagrams
|
||||||
python3 scripts/docs/sanitize-public-docs.py docs/generated docs/diagrams docs/public
|
python3 scripts/docs/sanitize-public-docs.py docs/generated docs/diagrams docs/public
|
||||||
|
|||||||
@@ -77,38 +77,67 @@ def infer_host(service_name: str, service: dict) -> str:
|
|||||||
return "docker"
|
return "docker"
|
||||||
|
|
||||||
|
|
||||||
|
def categorize_service(service_name: str) -> str:
|
||||||
|
s = service_name.lower()
|
||||||
|
if any(k in s for k in ["traefik", "authelia", "oauth", "auth", "proxy", "nginx", "caddy"]):
|
||||||
|
return "edge/proxy/auth"
|
||||||
|
if any(k in s for k in ["prometheus", "grafana", "loki", "promtail", "alert", "node-exporter", "cadvisor"]):
|
||||||
|
return "monitoring"
|
||||||
|
if any(k in s for k in ["watchtower", "diun", "ansible", "cron", "runner", "backup"]):
|
||||||
|
return "automation"
|
||||||
|
if any(k in s for k in ["postgres", "mariadb", "mysql", "redis", "minio", "nfs", "storage", "db", "queue"]):
|
||||||
|
return "storage/database/support"
|
||||||
|
return "apps"
|
||||||
|
|
||||||
|
|
||||||
def generate_physical_topology(compose: dict, out_dot: Path, out_svg: Path) -> None:
|
def generate_physical_topology(compose: dict, out_dot: Path, out_svg: Path) -> None:
|
||||||
services = compose.get("services") or {}
|
services = compose.get("services") or {}
|
||||||
hosts: dict[str, list[str]] = {}
|
hosts: dict[str, dict[str, list[str]]] = {}
|
||||||
for name, svc in services.items():
|
for name, svc in services.items():
|
||||||
hosts.setdefault(infer_host(name, svc), []).append(name)
|
host = infer_host(name, svc)
|
||||||
|
cat = categorize_service(name)
|
||||||
|
hosts.setdefault(host, {}).setdefault(cat, []).append(name)
|
||||||
|
|
||||||
lines = [
|
lines = [
|
||||||
"digraph PhysicalTopology {",
|
"digraph PhysicalTopology {",
|
||||||
" graph [rankdir=LR, compound=true, splines=ortho, nodesep=0.45, ranksep=0.75, fontname=\"Helvetica\"];",
|
" graph [rankdir=LR, compound=true, splines=polyline, nodesep=0.7, ranksep=1.2, fontname=\"Helvetica\", concentrate=true];",
|
||||||
" node [fontname=\"Helvetica\", fontsize=10, style=\"rounded,filled\", fillcolor=\"#ffffff\"];",
|
" node [fontname=\"Helvetica\", fontsize=10, style=\"rounded,filled\", fillcolor=\"#ffffff\"];",
|
||||||
" edge [fontname=\"Helvetica\", fontsize=9];",
|
" edge [fontname=\"Helvetica\", fontsize=9, color=\"#64748b\"];",
|
||||||
]
|
]
|
||||||
|
|
||||||
for host, host_services in sorted(hosts.items()):
|
for host, cat_map in sorted(hosts.items()):
|
||||||
lines.extend(
|
lines.extend([
|
||||||
[
|
f' subgraph "cluster_{host}" {{',
|
||||||
f' subgraph "cluster_{host}" {{',
|
f' label="{host} host";',
|
||||||
f' label="{host}";',
|
' style="rounded,filled";',
|
||||||
' style="rounded,filled";',
|
' color="#93c5fd";',
|
||||||
' color="#c7d6f5";',
|
' fillcolor="#eff6ff";',
|
||||||
' fillcolor="#eef3ff";',
|
])
|
||||||
f' "host:{host}" [label="{host}", shape=box3d, fillcolor="#d4e3ff"];',
|
for category, svcs in sorted(cat_map.items()):
|
||||||
]
|
cluster_id = f"cluster_{host}_{re.sub(r'[^a-zA-Z0-9]+', '_', category)}"
|
||||||
)
|
lines.extend([
|
||||||
for service in sorted(host_services):
|
f' subgraph "{cluster_id}" {{',
|
||||||
lines.append(
|
f' label="{category}";',
|
||||||
f' "svc:{service}" [label="{service}", shape=box, fillcolor="#dff2e1"];'
|
' style="rounded,dashed";',
|
||||||
)
|
' color="#bfdbfe";',
|
||||||
lines.append(f' "host:{host}" -> "svc:{service}" [style=dashed, color="#6b7280"];')
|
' fillcolor="#f8fbff";',
|
||||||
lines.append(" }")
|
])
|
||||||
|
for service in sorted(svcs):
|
||||||
|
lines.append(f' "svc:{service}" [label="{service}", shape=box, fillcolor="#dcfce7"];')
|
||||||
|
lines.append(' }')
|
||||||
|
lines.append(' }')
|
||||||
|
|
||||||
lines.append("}")
|
lines.extend([
|
||||||
|
' subgraph "cluster_legend" {',
|
||||||
|
' label="Legend"; style="rounded"; color="#d1d5db";',
|
||||||
|
' "leg_host" [label="Host cluster", shape=box3d, fillcolor="#eff6ff"];',
|
||||||
|
' "leg_cat" [label="Service category", shape=folder, fillcolor="#f8fbff"];',
|
||||||
|
' "leg_svc" [label="Container/service", shape=box, fillcolor="#dcfce7"];',
|
||||||
|
' "leg_host" -> "leg_cat" [style=dashed];',
|
||||||
|
' "leg_cat" -> "leg_svc" [style=dashed];',
|
||||||
|
' }',
|
||||||
|
"}",
|
||||||
|
])
|
||||||
write_dot(out_dot, lines)
|
write_dot(out_dot, lines)
|
||||||
render_svg(out_dot, out_svg)
|
render_svg(out_dot, out_svg)
|
||||||
|
|
||||||
@@ -120,62 +149,83 @@ def generate_docker_traefik_dynu(compose: dict, out_dot: Path, out_svg: Path) ->
|
|||||||
|
|
||||||
lines = [
|
lines = [
|
||||||
"digraph DockerTraefikDynu {",
|
"digraph DockerTraefikDynu {",
|
||||||
" graph [rankdir=LR, compound=true, splines=true, nodesep=0.5, ranksep=1.0, fontname=\"Helvetica\"];",
|
" graph [rankdir=LR, compound=true, splines=ortho, nodesep=0.7, ranksep=1.2, fontname=\"Helvetica\", concentrate=true];",
|
||||||
" node [fontname=\"Helvetica\", fontsize=10, style=\"rounded,filled\"];",
|
" node [fontname=\"Helvetica\", fontsize=10, style=\"rounded,filled\"];",
|
||||||
" edge [fontname=\"Helvetica\", fontsize=9];",
|
" edge [fontname=\"Helvetica\", fontsize=9, color=\"#334155\"];",
|
||||||
' "ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"];',
|
' "svc:traefik" [label="Traefik\n(entrypoint)", shape=box, fillcolor="#bfdbfe"];',
|
||||||
' "svc:traefik" [label="traefik", shape=box, fillcolor="#bfdbfe"];',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
for net in sorted(networks.keys()):
|
routes: dict[str, dict] = {}
|
||||||
lines.append(f' "net:{net}" [label="{net}", shape=ellipse, fillcolor="#f3f4f6"];')
|
dns_nodes: set[str] = set()
|
||||||
|
|
||||||
for svc_name, svc in sorted(services.items()):
|
for svc_name, svc in sorted(services.items()):
|
||||||
lines.append(f' "svc:{svc_name}" [label="{svc_name}", shape=box, fillcolor="#dcfce7"];')
|
|
||||||
svc_nets = svc.get("networks") or []
|
|
||||||
if isinstance(svc_nets, dict):
|
|
||||||
svc_nets = svc_nets.keys()
|
|
||||||
for net in svc_nets:
|
|
||||||
lines.append(f' "svc:{svc_name}" -> "net:{net}" [color="#6b7280"];')
|
|
||||||
|
|
||||||
labels = parse_labels(svc)
|
labels = parse_labels(svc)
|
||||||
router_prefix = "traefik.http.routers."
|
router_prefix = "traefik.http.routers."
|
||||||
service_prefix = "traefik.http.services."
|
service_prefix = "traefik.http.services."
|
||||||
|
lb_ports = {}
|
||||||
|
for k, v in labels.items():
|
||||||
|
if k.startswith(service_prefix) and k.endswith(".loadbalancer.server.port"):
|
||||||
|
lb_ports[k[len(service_prefix):].split(".", 1)[0]] = v
|
||||||
|
|
||||||
routers = sorted({k[len(router_prefix):].split(".", 1)[0] for k in labels if k.startswith(router_prefix)})
|
routers = sorted({k[len(router_prefix):].split(".", 1)[0] for k in labels if k.startswith(router_prefix)})
|
||||||
for router in routers:
|
for router in routers:
|
||||||
rule = labels.get(f"{router_prefix}{router}.rule", "")
|
rule = labels.get(f"{router_prefix}{router}.rule", "")
|
||||||
router_service = labels.get(f"{router_prefix}{router}.service", svc_name)
|
target = labels.get(f"{router_prefix}{router}.service", svc_name)
|
||||||
middlewares = labels.get(f"{router_prefix}{router}.middlewares", "")
|
middlewares = labels.get(f"{router_prefix}{router}.middlewares", "")
|
||||||
entrypoints = labels.get(f"{router_prefix}{router}.entrypoints", "")
|
|
||||||
tls = labels.get(f"{router_prefix}{router}.tls", "false")
|
tls = labels.get(f"{router_prefix}{router}.tls", "false")
|
||||||
lines.append(f' "router:{router}" [label="router:{router}\\nentry:{entrypoints} tls:{tls}", shape=diamond, fillcolor="#fbcfe8"];')
|
port = lb_ports.get(target, "")
|
||||||
lines.append(f' "svc:traefik" -> "router:{router}";')
|
badges = []
|
||||||
target_node = f"traefik-service:{router_service}"
|
if str(tls).lower() in ("true", "1"):
|
||||||
lines.append(f' "{target_node}" [label="service:{router_service}", shape=component, fillcolor="#fecaca"];')
|
badges.append("TLS")
|
||||||
lines.append(f' "router:{router}" -> "{target_node}";')
|
mw_low = middlewares.lower()
|
||||||
|
if "authelia" in mw_low:
|
||||||
|
badges.append("authelia")
|
||||||
|
if "mtls" in mw_low:
|
||||||
|
badges.append("mTLS")
|
||||||
|
hosts = [sanitize_domain(h, known_domains) for h in extract_hosts(rule)]
|
||||||
|
if not hosts:
|
||||||
|
continue
|
||||||
|
info = routes.setdefault(svc_name, {"hosts": set(), "port": port, "badges": set()})
|
||||||
|
info["hosts"].update(hosts)
|
||||||
|
if port:
|
||||||
|
info["port"] = port
|
||||||
|
info["badges"].update(badges)
|
||||||
|
|
||||||
for host in extract_hosts(rule):
|
for svc_name, info in sorted(routes.items()):
|
||||||
clean = sanitize_domain(host, known_domains)
|
label = svc_name
|
||||||
lines.append(f' "dns:{clean}" [label="{clean}", shape=note, fillcolor="#fde68a"];')
|
if info.get("port"):
|
||||||
lines.append(f' "ext:dynu" -> "dns:{clean}";')
|
label += f"\n:{info['port']}"
|
||||||
lines.append(f' "dns:{clean}" -> "router:{router}";')
|
if info.get("badges"):
|
||||||
|
label += "\n[" + ", ".join(sorted(info["badges"])) + "]"
|
||||||
|
lines.append(f' "svc:{svc_name}" [label="{label}", shape=box, fillcolor="#dcfce7"];')
|
||||||
|
lines.append(f' "svc:traefik" -> "svc:{svc_name}" [penwidth=1.4];')
|
||||||
|
for host in sorted(info["hosts"]):
|
||||||
|
dns_nodes.add(host)
|
||||||
|
lines.append(f' "dns:{host}" [label="{host}", shape=note, fillcolor="#fef3c7"];')
|
||||||
|
lines.append(f' "dns:{host}" -> "svc:traefik";')
|
||||||
|
|
||||||
for middleware in [m.strip() for m in middlewares.split(",") if m.strip()]:
|
lines.append(' { rank=same; ' + '; '.join([f'"dns:{d}"' for d in sorted(dns_nodes)]) + '; }' if dns_nodes else '')
|
||||||
lines.append(f' "mw:{middleware}" [label="{middleware}", shape=hexagon, fillcolor="#ddd6fe"];')
|
|
||||||
lines.append(f' "router:{router}" -> "mw:{middleware}" [style=dashed];')
|
|
||||||
|
|
||||||
lb_services = sorted({k[len(service_prefix):].split(".", 1)[0] for k in labels if k.startswith(service_prefix)})
|
lines.append(' subgraph "cluster_networks" {')
|
||||||
for lb in lb_services:
|
lines.append(' label="Docker backend networks"; style="rounded,dashed"; color="#d1d5db";')
|
||||||
port = labels.get(f"{service_prefix}{lb}.loadbalancer.server.port", "")
|
for net in sorted(networks.keys()):
|
||||||
lines.append(f' "traefik-service:{lb}" [label="service:{lb}\\nport:{port}", shape=component, fillcolor="#fecaca"];')
|
lines.append(f' "net:{net}" [label="{net}", shape=ellipse, fillcolor="#f8fafc"];')
|
||||||
lines.append(f' "traefik-service:{lb}" -> "svc:{svc_name}";')
|
lines.append(' }')
|
||||||
|
|
||||||
|
for svc_name in sorted(routes.keys()):
|
||||||
|
svc = services.get(svc_name, {})
|
||||||
|
svc_nets = svc.get("networks") or []
|
||||||
|
if isinstance(svc_nets, dict):
|
||||||
|
svc_nets = svc_nets.keys()
|
||||||
|
for net in svc_nets:
|
||||||
|
lines.append(f' "svc:{svc_name}" -> "net:{net}" [style=dashed, color="#94a3b8", arrowsize=0.7];')
|
||||||
|
|
||||||
lines.append("}")
|
lines.append("}")
|
||||||
write_dot(out_dot, lines)
|
write_dot(out_dot, lines)
|
||||||
render_svg(out_dot, out_svg)
|
render_svg(out_dot, out_svg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def generate_compose_topology(compose: dict, out_dot: Path, out_svg: Path) -> None:
|
def generate_compose_topology(compose: dict, out_dot: Path, out_svg: Path) -> None:
|
||||||
services = compose.get("services") or {}
|
services = compose.get("services") or {}
|
||||||
networks = compose.get("networks") or {}
|
networks = compose.get("networks") or {}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ This directory contains documentation generated automatically from repository co
|
|||||||
- [Resolved Docker Compose config](docker-compose.resolved.yml)
|
- [Resolved Docker Compose config](docker-compose.resolved.yml)
|
||||||
- [Compose inventory](compose-inventory.md)
|
- [Compose inventory](compose-inventory.md)
|
||||||
- [Traefik routes](traefik-routes.md)
|
- [Traefik routes](traefik-routes.md)
|
||||||
- [Prometheus rules](prometheus-rules.md)
|
|
||||||
- [Docker Compose diagram](../diagrams/docker-compose.svg)
|
- [Docker Compose diagram](../diagrams/docker-compose.svg)
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ def sanitize_text(content: str) -> str:
|
|||||||
return content
|
return content
|
||||||
|
|
||||||
|
|
||||||
for name in ['compose-inventory.md', 'traefik-routes.md', 'prometheus-rules.md']:
|
for name in ['compose-inventory.md', 'traefik-routes.md']:
|
||||||
src = src_generated / name
|
src = src_generated / name
|
||||||
if src.exists():
|
if src.exists():
|
||||||
(out_dir / name).write_text(sanitize_text(src.read_text(errors='ignore')))
|
(out_dir / name).write_text(sanitize_text(src.read_text(errors='ignore')))
|
||||||
@@ -36,6 +36,8 @@ for svg_name in ['docker-compose.svg', 'physical-topology.svg', 'docker-traefik-
|
|||||||
|
|
||||||
This documentation is generated from the infrastructure repository. Sensitive values are redacted.
|
This documentation is generated from the infrastructure repository. Sensitive values are redacted.
|
||||||
|
|
||||||
|
> Generated docs are sanitised/redacted before publishing to GitHub Pages.
|
||||||
|
|
||||||
## Infrastructure diagrams
|
## Infrastructure diagrams
|
||||||
|
|
||||||
### Physical / virtual topology
|
### Physical / virtual topology
|
||||||
@@ -51,7 +53,6 @@ This documentation is generated from the infrastructure repository. Sensitive va
|
|||||||
- [Diagrams](diagrams.md)
|
- [Diagrams](diagrams.md)
|
||||||
- [Compose Inventory](compose-inventory.md)
|
- [Compose Inventory](compose-inventory.md)
|
||||||
- [Traefik Routes](traefik-routes.md)
|
- [Traefik Routes](traefik-routes.md)
|
||||||
- [Prometheus Rules](prometheus-rules.md)
|
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -60,10 +61,16 @@ This documentation is generated from the infrastructure repository. Sensitive va
|
|||||||
|
|
||||||
## Physical / virtual topology
|
## Physical / virtual topology
|
||||||
|
|
||||||
|
This view groups containers by inferred host and service role (edge/proxy/auth, monitoring, automation, apps, and supporting storage/services).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Docker, Traefik and Dynu routing
|
## Docker, Traefik and Dynu routing
|
||||||
|
|
||||||
|
This view shows sanitised public DNS names flowing to Traefik, then to exposed Docker services, with backend Docker network membership shown as secondary context.
|
||||||
|
|
||||||
|
_Diagrams are generated from Compose data and Traefik labels._
|
||||||
|
|
||||||

|

|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user