feat: Grafana alerting rules and documentation (#105) #111
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent Issue
Relates to #105
Summary
Configure Grafana Unified Alerting with file-based provisioned alert rules and update documentation.
Scope
Alerting Rules (3 rules)
Create
config/grafana/provisioning/alerting/with alert rule YAML files:Error Rate Spike - Alert when error rate exceeds 5% over 5-minute window
sum(count_over_time({container=~"mvp-.*"} | json | level="error" [5m])) / sum(count_over_time({container=~"mvp-.*"}[5m])) * 100 > 5Container Silence - Alert when any container stops producing logs for 5 minutes
count_over_time({container="mvp-backend"}[5m]) == 0(one per critical container)5xx Spike - Alert when 5xx rate exceeds threshold
sum(count_over_time({container="mvp-backend"} | json | msg="Request processed" | status >= 500 [5m])) > 10Contact Point
Configure a default contact point (Grafana UI notification + webhook placeholder for future email/Slack integration).
Documentation
Update
docs/LOGGING.mdwith:https://logs.motovaultpro.comFiles Changed
config/grafana/provisioning/alerting/alert-rules.yml(NEW)config/grafana/provisioning/alerting/contact-points.yml(NEW)config/grafana/provisioning/alerting/notification-policies.yml(NEW)docker-compose.yml(MODIFY - mount alerting provisioning directory)docs/LOGGING.md(MODIFY - add dashboards section)Acceptance Criteria
Milestone: Grafana Alerting Rules and Documentation
Phase: Execution | Agent: Platform Agent | Status: PASS
Completed
config/grafana/alerting/alert-rules.yml):config/grafana/alerting/contact-points.yml): Webhook placeholder for future email/Slack integrationconfig/grafana/alerting/notification-policies.yml): Groups alerts by alertname and severityuid: lokifor alert rule referencesdocs/LOGGING.mdwith dashboard descriptions, alerting rules table, and expanded LogQL query referenceFiles Changed
config/grafana/alerting/alert-rules.ymlconfig/grafana/alerting/contact-points.ymlconfig/grafana/alerting/notification-policies.ymlconfig/grafana/datasources/loki.ymldocker-compose.ymldocs/LOGGING.mdNote
Alert files placed in
config/grafana/alerting/(notconfig/grafana/provisioning/alerting/) to avoid conflict with the existing dashboard provisioning mount that mapsconfig/grafana/provisioning/to/etc/grafana/provisioning/dashboards/.Verdict: PASS | Next: Quality review