这篇博文的面向群体是 还不太了解 Prometheus 和 想要开始使用 Prometheus 的人群. 本文想做的事是 想尽力讲清楚 Prometheus 是如何看待监控这件事情 以及 Prometheus 是如何实现这些需求的. 本文中不会出现的内容: 跟 Prometheus 实现细节有太多相关的东西 等 当想看监控的时候, 我们到底想要什么? 我们想要看的东西也就是我们对监控的需求. 需求 在实际的生产过程中, 产生的和需要收集的监控数据分为很多种, 例如以下这些, 除此之外, 还有很多很多. 但从实现方式上来说, 大多都大同小异. 瞬时状态的 CPU 和 MEM 使用率读数 硬盘使用量的增长率 对 集群节点 状态 进行筛选 , 记录节点位于什么时刻不可用, 这就要求有 Tag 支持 瞬时状态的 网卡流量, 例如 100 Mbps, 服务请求量, 服务的 QPS, 服务的 错误率和错误次数 全部请求的平均时耗 一段时间内, 所有请求的 时耗中, 50% 的请求时耗小于多少毫秒, 95% 的请求时耗小于多少毫秒? 以此评估整体的接口情况 一段时间内, 所有请求的 时耗中, 多少请求时耗大于 1000ms, 多少请求时耗位于 200-500 区间内, 用于了解 请求时耗的具体分布, 以评估接口情况 …… 那么我们就需要一个 监控系统 来完成 上述需求, 这个监控系统