SRE#

Important Points#

SRE 最关心的不是“机器有没有问题”,而是:
    用户是否能访问
    请求是否足够快
    错误率是否可接受
    流量是否正常
    资源是否快满
    队列是否堆积
    依赖是否健康
    发布是否引入故障
    SLO 是否正在被消耗
用 Prometheus 落地时,SRE 需要掌握:
    1. 关键指标应该从哪里收集
    2. exporter / application metrics 应该暴露什么
    3. PromQL 如何计算服务健康度
    4. alert rule 应该如何表达用户影响
    5. dashboard 应该按什么维度展示

SRE Metrics Map#

Area What To Watch Prometheus Source Example Metrics
Availability 服务是否可用 application metrics / blackbox exporter up, probe_success, http_requests_total
Latency 请求是否慢 application histogram http_request_duration_seconds_bucket
Traffic 流量是否异常 application counter http_requests_total
Errors 错误率是否升高 application counter http_requests_total{status=~"5.."}
Saturation 资源是否饱和 node exporter / cAdvisor / app metrics CPU, memory, disk, connection pool
Queue 是否堆积 app metrics / queue exporter queue_depth, queue_consumer_lag
Dependency 依赖是否异常 app metrics / exporter DB latency, cache hit rate, external errors
Capacity 容量是否足够 node exporter / app metrics peak QPS, headroom, disk forecast
SLO 用户体验是否达标 recording rules / PromQL availability ratio, burn rate
先读:
    Hands-on SRE With Prometheus

然后再补:
    SLI / SLO
    Alertmanager
    VictoriaMetrics / vmalert

Golden Rule#

每个 SRE 指标都应该能回答:
    这个指标坏了,用户会受到什么影响?
    谁负责处理?
    dashboard 在哪里?
    runbook 在哪里?
    PromQL 怎么查?