feat(observability): add Prometheus/Grafana/Loki/Alertmanager/Alloy stack and remove legacy Monitoring UI
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
external_labels:
|
||||
monitor: manage
|
||||
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- static_configs:
|
||||
- targets:
|
||||
- alertmanager:9093
|
||||
|
||||
rule_files:
|
||||
- /etc/prometheus/rules/*.yml
|
||||
|
||||
scrape_configs:
|
||||
- job_name: prometheus
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost:9090
|
||||
|
||||
- job_name: manage-backend
|
||||
static_configs:
|
||||
- targets:
|
||||
- backend:8000
|
||||
metrics_path: /metrics
|
||||
scrape_interval: 15s
|
||||
|
||||
- job_name: node-exporter
|
||||
static_configs:
|
||||
- targets:
|
||||
- node-exporter:9100
|
||||
|
||||
- job_name: loki
|
||||
static_configs:
|
||||
- targets:
|
||||
- loki:3100
|
||||
|
||||
- job_name: alertmanager
|
||||
static_configs:
|
||||
- targets:
|
||||
- alertmanager:9093
|
||||
|
||||
- job_name: grafana
|
||||
static_configs:
|
||||
- targets:
|
||||
- grafana:3000
|
||||
|
||||
- job_name: node-exporter-remote
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- /etc/prometheus/file-sd/node_exporter_targets.json
|
||||
refresh_interval: 30s
|
||||
@@ -0,0 +1,54 @@
|
||||
groups:
|
||||
- name: backup
|
||||
rules:
|
||||
- alert: BackupJobFailed
|
||||
expr: increase(manage_backup_runs_total{status="failed"}[1h]) > 0
|
||||
for: 0m
|
||||
labels:
|
||||
severity: critical
|
||||
category: backup
|
||||
annotations:
|
||||
summary: "Backup job {{ $labels.job_name }} failed"
|
||||
description: "At least one failed backup run was recorded for job {{ $labels.job_name }} within the last hour."
|
||||
|
||||
- alert: BackupJobStuck
|
||||
expr: time() - manage_backup_runs_last_success_timestamp > 86400
|
||||
for: 5m
|
||||
labels:
|
||||
severity: warning
|
||||
category: backup
|
||||
annotations:
|
||||
summary: "Backup job {{ $labels.job_name }} has not succeeded in 24h"
|
||||
description: "No successful backup run has been recorded for job {{ $labels.job_name }} in the last 24 hours."
|
||||
|
||||
- name: observability_health
|
||||
rules:
|
||||
- alert: PrometheusTargetMissing
|
||||
expr: up == 0
|
||||
for: 2m
|
||||
labels:
|
||||
severity: warning
|
||||
category: observability
|
||||
annotations:
|
||||
summary: "Prometheus target {{ $labels.job }} / {{ $labels.instance }} is down"
|
||||
description: "The Prometheus scrape target for {{ $labels.job }} on {{ $labels.instance }} has been unreachable for more than 2 minutes."
|
||||
|
||||
- alert: AlertmanagerDown
|
||||
expr: up{job="alertmanager"} == 0
|
||||
for: 2m
|
||||
labels:
|
||||
severity: critical
|
||||
category: observability
|
||||
annotations:
|
||||
summary: "Alertmanager is down"
|
||||
description: "Alertmanager has been unreachable for more than 2 minutes. Alerts may not be delivered."
|
||||
|
||||
- alert: GrafanaDown
|
||||
expr: up{job="grafana"} == 0
|
||||
for: 2m
|
||||
labels:
|
||||
severity: warning
|
||||
category: observability
|
||||
annotations:
|
||||
summary: "Grafana is down"
|
||||
description: "Grafana has been unreachable for more than 2 minutes. Dashboards are unavailable."
|
||||
Reference in New Issue
Block a user