监控系统是指对系统、应用、网络及基础设施的运行状态进行持续观测、数据收集、分析和告警的系统。其目标是发现问题、定位问题、预防问题。
1. 监控的金字塔模型(监控四大黄金信号)
这是Google在“SRE Handbook”中提出的经典理念,适用于绝大多数服务:
延迟: 请求处理所花费的时间(区分成功和失败请求的延迟)。
流量: 系统每秒的请求量、并发数等,反映负载压力。
错误: 请求失败的速率(HTTP 5xx, 异常,业务逻辑错误等)。
饱和度: 系统资源的使用程度(CPU、内存、磁盘I/O、网络带宽)。“当利用率达到100%时你就没扩容空间了”。
2. 监控数据的类型
指标: 随时间推移的一系列数值度量,通常是数值,适合进行聚合、计算和告警。例如:CPU使用率、请求QPS、错误计数。普罗米修斯主要处理的就是指标。
日志: 离散的、带时间戳的事件记录,用于记录详细上下文。例如:访问日志、错误堆栈、应用调试信息。常用ELK(Elasticsearch, Logstash, Kibana)或Loki处理。</