28 alert rules across 9 PrometheusRule files covering infrastructure (Longhorn, cert-manager), data (PostgreSQL, OpenBao, OpenSearch), storage (SeaweedFS), devtools (Gitea), identity (Hydra, Kratos), media (LiveKit), and mesh (Linkerd golden signals for all services). Severity routing: critical alerts fire to Matrix + email, warnings to Matrix only (AlertManager config updated in separate commit).
38 lines
1.2 KiB
YAML
38 lines
1.2 KiB
YAML
apiVersion: monitoring.coreos.com/v1
|
|
kind: PrometheusRule
|
|
metadata:
|
|
name: postgres-alerts
|
|
namespace: data
|
|
labels:
|
|
role: alert-rules
|
|
spec:
|
|
groups:
|
|
- name: postgres
|
|
rules:
|
|
- alert: PostgresDown
|
|
expr: cnpg_collector_up == 0
|
|
for: 2m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "PostgreSQL instance is down"
|
|
description: "CNPG collector reports {{ $labels.namespace }}/{{ $labels.pod }} is down."
|
|
|
|
- alert: PostgresDatabaseSizeLarge
|
|
expr: cnpg_pg_database_size_bytes > 7e9
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "PostgreSQL database size is large"
|
|
description: "Database {{ $labels.datname }} is {{ $value | humanize1024 }} (PVC limit 10Gi)"
|
|
|
|
- alert: PostgresHighConnections
|
|
expr: sum by (pod) (cnpg_pg_stat_activity_count) > 80
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "PostgreSQL connection count is high"
|
|
description: "Pod {{ $labels.pod }} has {{ $value }} active connections."
|