如何在Grafana中为HP交换机接口图添加ifAlias至标题
实现方法:把ifAlias加到Grafana图表标题(结合ifName)
完全可行!你只需要两步:先通过PromQL把ifAlias标签关联到你的接口使用率指标上,再在Grafana里用模板语法动态生成标题。
1. 调整PromQL查询,关联ifAlias标签
因为你的ifAlias指标已经和ifName一一对应(哪怕ifAlias是空),可以用group_left把它的标签合并到你用来计算使用率的指标(比如ifInOctets/ifOutOctets)上。
举个例子,如果你用irate计算入流量速率,修改后的查询应该是:
irate(ifInOctets{job="3com_snmp_exporter"}[1m]) * on(ifName, instance, job) group_left(ifAlias) (ifAlias{job="3com_snmp_exporter"})
原理很简单:ifAlias指标的数值是1(snmp_exporter采集字符串OID的默认行为),相乘不会改变原指标的数值,但会把ifAlias标签带到使用率指标的时间序列里——不管它是空字符串还是有值。
2. 在Grafana中配置动态标题
进入图表的「Panel options」,找到标题输入框,点击右侧的「Templating」按钮(那个小变量图标)开启模板支持,然后输入:
${__data.fields.ifName} {{ if $__data.fields.ifAlias }}(${__data.fields.ifAlias}){{ end }}
这个Go模板的逻辑是:
- 先显示
ifName(比如Ethernet1/0/1) - 如果
ifAlias不为空,就追加括号包裹的别名(比如(UPLINK));如果为空,就只显示ifName
如果你用变量选择单个接口
如果你的仪表盘是通过变量选择特定接口的,还可以更灵活:
- 创建一个
if_name变量,类型选「Query」,查询语句写label_values(ifName, ifName) - 创建一个
if_alias变量,类型选「Query」,查询语句写label_values(ifAlias{ifName="$if_name"}, ifAlias) - 标题直接写:
${if_name} {{ if $if_alias }}(${if_alias}){{ end }}
这样不管接口有没有配置ifAlias,标题都会自动显示对应的内容,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Vangass
相关产品推荐
相关产品推荐

