结论:Prometheus 是基于拉模式(Pull)的指标监控系统,核心组件包括时序数据库、检索器(Retriever)、HTTP 服务和 PromQL 引擎,通过服务发现找到目标、周期性抓取 /metrics 端点存为时序数据,配合 Alertmanager 告警、Grafana 展示。
展开:四种指标类型是必考:Counter(只增计数,如请求数,配合 rate() 看速率)、Gauge(可增可减瞬时值,如内存、连接数)、Histogram(分桶统计分布,算 P95/P99 延迟用 histogram_quantile())、Summary(客户端直接算分位数,不可聚合,一般推荐 Histogram)。关键机制:1)Pull 模式由 Prometheus 掌握抓取节奏,目标只需暴露端口,配合 K8s SD 自动发现 Pod;Push 场景(短生命周期 Job)走 Pushgateway 中转,但注意不要把它当队列用。2)本地 TSDB 按块存储+压缩,单机性能强但不天然高可用,长期存储与全局视图用 Thanos/Mimir/VictoriaMetrics 扩展。3)告警规则在 Prometheus 评估,Alertmanager 做分组、抑制、静默和路由。易错点:1)rate() 区间太短会因采样点不足失真,一般 ≥4 倍抓取间隔;2)标签基数爆炸(每个唯一标签组合是一条时序)会打爆内存;3)PromQL 是瞬时向量引擎,不做事件存储,别拿它查「某次具体请求」。