grafana - 将 MIB 变量标签连接到 Prometheus 中其他两个 MIB 变量的另一个查询结果
问题描述
我们有一种情况,我想将 MIB 变量标签添加到另一个查询。这个另一个查询给了我想要的值结果,但我需要从第一个变量中添加标签,然后按我想要的对它们进行排序(例如,就像我们使用实例标签一样)。
例如
variable1{alert,env, index, instance, ..., labelneeded}
变量2{警报、环境、索引、实例}
例如,在那里我想获取两者的索引并以某种方式添加我尝试以下查询所需的标签,但在他们给我两个变量及其标签但没有连接在一起之后它们没有工作所以我的问题是如果有一个有可能将它们连接在一起吗?
查询示例:
max by {index, instance} (variable2 * 5) or max(variable2) by (labelneeded, index, instance)
先感谢您 :)。
解决方案
为了解释如何合并来自两个指标的标签标签,我将采用一个常见案例:
- 价值度量_
value{instance="foo",a_label="bar"} 42
- 信息指标_
info{instance="foo",version="1.2.3",another="bar"} 1
信息指标(例如版本、编译器等)的值为 1,以便您可以在指标之间应用运算符:
value * on(instance) group_left(version) info
结果
{instance="foo",a_label="bar",version="1.2.3"} 42
on()
关键字的参数指定匹配信息的条件,group_left()
运算符的参数指定要提取的标签。
可能会发生您要从中提取的指标没有值 1。在这种情况下,您可以使用带有比较的bool
修饰符始终为真以获得 1:
other_metric{instance="foo",baz="void"} 0.5555
value * on(instance) group_left(baz) other_metric != bool NaN
结果
{instance="foo",a_label="bar",baz="void"} 42
推荐阅读
- javascript - 反应:当其设置可见时滚动到表单
- java - 无法使用 spring-data-ldap 从 AD 获取自定义属性
- amazon-web-services - 53 路由加权策略的健康检查失败时会发生什么?
- java - ClassNotFoundException: com.mysql.jdbc.Driver 使用 Java Mysql
- c# - 没有设置 UseSubmitBehavior="false" 的 ASP.Net 按钮 OnClick 不会启动
- c# - .NET 中的线程安全令牌处理
- spring-boot - @Repository 类没有在我的测试类中自动装配
- python - 对 FastAPI 的 multipart/form-data 请求给出 422 响应
- c# - 如何将数据库中的整数转换为文本框中的字符串?
- excel - 具有日期条件的自动过滤器返回空白