Google Cloud托管Prometheus持续摄入sq_firestore_read_total指标错误值
Google Cloud托管Prometheus摄入sq_firestore_read_total指标值异常问题
本周部署Google Cloud托管Prometheus服务后,创建Grafana仪表板时发现多数指标摄入正常,但sq_firestore_read_total指标值持续异常——实际摄入值要么全为0,偶尔某标签值会显示为3,完全不符合指标端点输出的预期值(12、18、362)。多次重启服务后现象依旧。
相关信息
- 指标端点输出(截断后):
# HELP channel_socket_bytes_received_total Number of bytes received from clients # TYPE channel_socket_bytes_received_total counter # HELP event_collection_size Number of elements # TYPE event_collection_size gauge event_collection_size{name="interest"} 18 event_collection_size{name="rfq"} 362 event_collection_size{name="negotiation"} 12 # TYPE sq_firestore_read_total counter sq_firestore_read_total{collection="negotiation"} 12 sq_firestore_read_total{collection="rfq_interest"} 18 sq_firestore_read_total{collection="rfq"} 362
- 指标生成工具:
prom-clientv14.1.0 - 异常现象:Google Cloud指标资源管理器中,
sq_firestore_read_total的三个标签值多数时候为0,仅偶尔出现某标签值为3;其余指标(如event_collection_size、channel_socket_bytes_received_total)均符合预期。
排查建议
- 确认prom-client中counter的初始化与累加逻辑:检查
sq_firestore_read_total是否作为counter正确初始化,服务启动后是否有被意外重置的逻辑——虽然端点输出值正确,但需确保抓取时指标状态未被临时修改。 - 检查托管Prometheus的抓取配置:查看抓取作业是否存在
relabel_configs或metric_relabel_configs规则,是否无意中过滤或修改了sq_firestore_read_total指标;同时确认抓取间隔是否合理,避免因抓取频率过低导致数据异常。 - 验证指标兼容性:核对Google Cloud托管Prometheus的指标命名与标签规范,确认
sq_firestore_read_total的命名、标签键值是否符合要求(尽管其他同格式指标正常,但仍需排除特殊字符或长度限制问题)。 - 查看抓取日志:在Cloud Logging中搜索托管Prometheus的抓取日志,筛选与该指标相关的条目,查看是否存在解析错误、权限问题或其他警告信息。
- 本地Prometheus验证:用本地Prometheus实例抓取该指标端点,若本地能正常获取正确值,则说明问题大概率出在托管Prometheus端,此时可提交Google Cloud支持工单,附上完整的指标输出、抓取配置及日志证据。
关于是否为平台bug的判断
目前无法直接断定是Google Cloud托管Prometheus的bug,需先通过上述排查排除自身代码或配置问题。若所有排查步骤均无异常,且本地验证正常,则平台bug的可能性较高,建议联系官方支持进一步定位。
内容的提问来源于stack exchange,提问作者mvanniekerk
相关产品推荐
相关产品推荐

