Self-hosting. Grafana
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ: Grafana: The open observability platform | Grafana Labs
ΠΡΠΈΠΌΠ΅Ρ docker compose ΡΠ°ΠΉΠ»Π°:
Monitoring
services:
influxdb:
image: influxdb:latest
container_name: influxdb
restart: always
ports:
- 8086:8086
volumes:
- ./influxdb/data:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
networks:
- monitoring
labels:
org.label-schema.group: monitoring
grafana:
image: grafana/grafana:latest
container_name: grafana-server
restart: always
depends_on:
- influxdb
links:
- influxdb
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
environment:
- GF_SERVER_ROOT_URL=${GF_SERVER_ROOT_URL}
- GF_AUTH_GENERIC_OAUTH_ENABLED=false
- GF_AUTH_GENERIC_OAUTH_NAME=${GF_AUTH_GENERIC_OAUTH_NAME}
- GF_AUTH_GENERIC_OAUTH_CLIENT_ID=${GF_AUTH_GENERIC_OAUTH_CLIENT_ID}
- GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=${GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET}
- GF_AUTH_GENERIC_OAUTH_SCOPES=${GF_AUTH_GENERIC_OAUTH_SCOPES}
- GF_AUTH_GENERIC_OAUTH_AUTH_URL=${GF_AUTH_GENERIC_OAUTH_AUTH_URL}
- GF_AUTH_GENERIC_OAUTH_TOKEN_URL=${GF_AUTH_GENERIC_OAUTH_TOKEN_URL}
- GF_AUTH_GENERIC_OAUTH_API_URL=${GF_AUTH_GENERIC_OAUTH_API_URL}
- GF_AUTH_SIGNOUT_REDIRECT_URL=${GF_AUTH_SIGNOUT_REDIRECT_URL}
- GF_AUTH_OAUTH_AUTO_LOGIN=false
- GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH="contains(groups, 'Grafana
Admins') && 'Admin' || contains(groups, 'Grafana Editors') && 'Editor'
|| 'Viewer'"
networks:
- monitoring
labels:
org.label-schema.group: monitoring
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
ports:
- 9090:9090
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus
- --web.console.libraries=/etc/prometheus/console_libraries
- --web.console.templates=/etc/prometheus/consoles
- --storage.tsdb.retention.time=15d
- --storage.tsdb.retention.size=10GB
- --web.enable-lifecycle
restart: unless-stopped
networks:
- monitoring
labels:
org.label-schema.group: monitoring
nodeexporter:
image: prom/node-exporter:latest
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- --path.procfs=/host/proc
- --path.rootfs=/rootfs
- --path.sysfs=/host/sys
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($|/)
restart: unless-stopped
ports:
- 9100:9100
expose:
- 9100
networks:
- monitoring
labels:
org.label-schema.group: monitoring
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
restart: unless-stopped
ports:
- 8090:8080
networks:
- monitoring
labels:
org.label-schema.group: monitoring
pushgateway:
image: prom/pushgateway:latest
container_name: pushgateway
restart: unless-stopped
ports:
- 9091:9091
networks:
- monitoring
labels:
org.label-schema.group: monitoring
volumes:
grafana_data: {}
prometheus_data: {}
networks:
monitoring:
name: monitoring
driver: bridge
ΠΠ΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π² ΠΏΠ°Π½Π΅Π»ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
labels:
org.label-schema.group: monitoring
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈΠ· Grafana ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π°Π³ΡΠ΅Π³ΠΈΡΡΡ ΡΡΠ°Π·Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· InfluxDB ΠΈ Prometheus.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΌΠΈΠ½ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈ ΠΏΡΡΠ°Π½Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ:
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
Alert rule
. Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. - ΠΠ°Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ.
- ΠΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΡΠ»ΠΈ Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ (Π½Π°Π΄ΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ±ΠΎΡΡ).
Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΡΠΌΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π² ΠΏΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°.
- ΠΠ»ΠΎΠΊ
Reduce
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠ΄. - ΠΠ»ΠΎΠΊ
Threshold
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ N.
- ΠΠ»ΠΎΠΊ
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΎΠΆΠ°ΡΠΎ
Set as alert condition
ΡΡΠΎΡ Π±Π»ΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΡΠ·ΠΎΠ² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ
- ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ
- Π ΠΏΠ°ΠΏΠΊΠ΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π³ΡΡΠΏΠΏΡ. Π Π³ΡΡΠΏΠΏΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
Π½Π° Π²ΡΠ·ΠΎΠ² ΡΠΎΠ±ΡΡΠΈΡ
Evaluation interval
. - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
Pending period
ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ Π±Π΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΡ Π²ΡΠΏΠ»Π΅ΡΠΊΠΎΠ². ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠ°ΡΠ½ΠΎEvaluation interval
. - ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ Π΄Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π² ΠΏΡΠ½ΠΊΡΠ΅
Alert state if no data or all values are null
ΡΡΠΎ Π±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ» ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.
- ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ (Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
- ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΊΡ ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.
- ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π΄Π°Π½Π½ΡΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±Π»ΠΎΠΊ
Description
ΠΈ ΡΠ°ΠΌ ΡΠΎΡΠΌΠΈΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ. - Π ΠΏΡΠ½ΠΊΡΠ΅
Dashboard and panel
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»Ρ. ΠΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΈ Π²ΠΎΠ·Π»Π΅ Π½Π΅Π΅ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π·Π½Π°ΡΠΎΠΊ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΎΠ±ΡΡΠΈΡ. - ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π·
Custom annotation
ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅.
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±Π»ΠΎΠΊ
- ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ°ΠΏ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Contact points
ΡΡΡ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Notification Templates
.
Contact Points ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ» ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Contact Points
Π² ΠΏΡΠ½ΠΊΡΠ΅ Message Template:
.
Π£ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π΄Π°Π½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅
{{ define "Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΠ΅Π²Π΅" }}
...
{{ end }}
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π‘ΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅Ρ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΠΊΡΠΈΠ²Π½Ρ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ» ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ» ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π·Π°Π΄Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Notification policies
ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ°ΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΠΏΡΠ½ΠΊΡΠ΅ 7.
Matching labels
- Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠ±ΠΎΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»;
Repeat interval
- ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ;
Mute timings
- ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΊΠΎΠ³Π΄Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ, ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Notification policies
-> Mute Timings
.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ: ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ Grafana
![[ΠΠ°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.json]]
- Self-hosting ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- Π‘Π΅ΡΠ²Π΅Ρ Monitoring
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° Π±Π°Π·Π΅ InfluxDB ΠΈ Grafana
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ proxmox Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ InfluxDB v2 ΠΈ Grafana
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΎΡΡΠ΅ΡΠΎΠ² openwrt Π² influxdb v2 ΠΈ grafana
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎΡΡΠ΅ΡΠΎΠ² keenetic Π² influxdb v2 ΠΈ grafanΠ°
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:: ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ