37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
# SLO: Availability
|
|||
|
|
# Target: 99.9% uptime (43 minutes/month downtime budget)
|
||
|
|
|
||
|
|
apiVersion: monitoring.coreos.com/v1
|
||
|
|
kind: PrometheusRule
|
||
|
|
metadata:
|
||
|
|
name: memory-availability
|
||
|
|
namespace: monitoring
|
||
|
|
spec:
|
||
|
|
groups:
|
||
|
|
- name: availability
|
||
|
|
interval: 1m
|
||
|
|
rules:
|
||
|
|
# Error rate SLI
|
||
|
|
- record: memory:availability:error_ratio
|
||
|
|
expr: |
|
||
|
|
sum(rate(http_requests_total{service="memory",status=~"5.."}[5m]))
|
||
|
|
/
|
||
|
|
sum(rate(http_requests_total{service="memory"}[5m]))
|
||
|
|
|
||
|
|
# Availability alert (< 99.9%)
|
||
|
|
- alert: MemoryAvailabilityLow
|
||
|
|
expr: |
|
||
|
|
(1 - memory:availability:error_ratio) < 0.999
|
||
|
|
for: 5m
|
||
|
|
labels:
|
||
|
|
severity: critical
|
||
|
|
slo: availability
|
||
|
|
annotations:
|
||
|
|
summary: "Memory API availability below 99.9%"
|
||
|
|
description: "Current availability: {{ $value | humanizePercentage }}"
|
||
|
|
|
||
|
|
# Recording rule for SLO dashboard
|
||
|
|
- record: memory:availability:slo
|
||
|
|
expr: |
|
||
|
|
(1 - memory:availability:error_ratio)
|