groups: - name: garage rules: - alert: GarageNodeDown expr: up{job="garage"} == 0 for: 2m labels: severity: critical annotations: summary: "Garage node {{ $labels.instance }} is down" - alert: GarageNoQuorum expr: (count(up{job="garage"} == 1) < 2) for: 2m labels: severity: critical annotations: summary: "Garage cluster lost quorum (<2 nodes up)" - alert: GarageResyncErrors expr: garage_block_resync_error_count > 0 for: 10m labels: severity: warning annotations: summary: "Garage resync errors on {{ $labels.instance }}" - alert: GarageNodeUnstable expr: garage_rpc_node_health_is_up == 0 for: 5m labels: severity: warning annotations: summary: "Garage RPC health of some node is down"