You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Grafana将Prometheus SNMP导出器的标签值转为时序值?

解决方法:将SNMP导出的标签值转为Grafana可展示的时序指标

你的问题核心是SNMP exporter把碳粉剩余量(70)存在了指标标签里,而非作为指标的数值(当前指标值为1)。不用修改exporter配置,在Grafana里通过PromQL就能快速解决:

1. 把标签值转为指标数值

用Prometheus的strtofloat函数,将标签里的字符串值转换为浮点型数值,直接作为指标值使用:

strtofloat(usageTonerCurrentLevel usageTonerCurrentLevel)

如果需要指定特定打印机或碳粉索引,添加过滤条件即可:

strtofloat(usageTonerCurrentLevel{instance="xxxx", usageTonerIndex="3"} usageTonerCurrentLevel)

2. 在Grafana生成时序数据

将上述PromQL输入到Grafana的查询面板,选择折线图等时序可视化组件,就能自动生成时序数据——只要SNMP exporter按周期采集(默认通常为1分钟),每次采集到的碳粉水平变化都会被记录为时间序列上的节点。

长期优化方案(可选)

如果想从根源规范指标输出,可调整snmp_exporter的snmp.yml配置:找到打印机碳粉水平对应的OID配置段,把原本映射为标签的usageTonerCurrentLevel改为直接映射为指标值,这样exporter会直接输出usageTonerCurrentLevel{instance="xxxx", usageTonerIndex="3"} 70这类标准格式的指标,后续无需再做转换。

内容的提问来源于stack exchange,提问作者Robert Heine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:47:07