当前位置: 首页 > 知识库问答 >
问题:

普罗米修斯组通过标签的子串

唐默
2023-03-14

我试图解决一个问题,使总和和组查询普罗米修斯上的一个指标,其中的标签分配给度量值唯一的我的总和和和组的要求。

我有一个ElasticSearch索引的指标采样大小,其中索引名称被标记在指标上。索引是这样命名的,并放置在标签"index"中:

项目。

具有如下所示的具体值:

project.sample-x.ad19f880-2f16-11e7-8a64-jkzdfjk.2018.03.12

项目。样本-y.JKCJDK-1234-11e7-kdjd-005056bf2fbf。2018.03.12

项目。样本-x.UERUHUHD-dsfg-11e7-8a64-KDFJKJDJKK。2018.03.11

project.sample-y.jksdjkfs-2f16-11e7-3454-005056bf2fbf.2018.03.11

因此,如果我在“索引”标签中有短版本的值,我会:

总和(度量)由(索引)

但我想做的是这样的:

sum(metric)by(“项目”)。

在这里,我可以通过“索引”标签的子字符串进行分组。如何通过普罗米修斯查询实现这一点?我假设这可以通过使用标签替换作为组的一部分来解决,但我不知道如何“截断”标签值来实现这一点。

最好的问候

拉尔斯·米兰德


共有2个答案

昝欣可
2023-03-14

看起来索引标签命名约定是错误的。这些成分应清楚地用单独的公制标签代替。所以,不要用项目。

project{projectname=“xxx”,uniqueid=“yyy”}

至于date部分,我假设这已经由示例时间戳本身涵盖了?有大量的函数,如时间戳()月()日()等来操作时间戳。

所以你有两个选择:

  • 修复度量导出器以分离标签,而不是将此信息连接到度量名称本身中,

杜俭
2023-03-14

虽然最好修复指标,但次好的方法是使用metric_relabel_configs,使用与本文相同的技术:

  metric_relabel_configs:
  - source_labels: [index]
    regex: 'project\.([^.]*)\..*'
    replacement: '${1}'
    target_label: project

然后,您将有一个项目标签,可以像往常一样使用。

 类似资料:
  • 我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希

  • 如何在普罗米修斯查询中添加标签过滤器? KUBE_POD_INFO -->按命名空间测试筛选pod。 在这里,我想包括基于标签的过滤器以及。我在kube_pod_labels中有一个名为“label_source=”k8s“的标签。如何加入kube_pod_info和kube_pod_labels来应用标签筛选器?

  • 我正在编写一个Prometheus Exporter,用于公开从AIX服务器推送的度量。AIX服务器将它们的度量(json格式)推送到一个中央侦听器(导出程序),该侦听器将它们转换为标准的Prometheus度量,并将它们公开以进行刮取。 我遇到的问题是,度量的主机名是从推送的json中提取的。我将其存储为每个度量中的标签。例如,njmon_memory_free{lpar=“myhostname

  • 我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s

  • 我正在将Spring Boot应用程序从Spring Boot 1(使用Prometheus Simpleclient)转换为Spring Boot 2(使用微米)。 我很难将我们在《春靴1》和《普罗米修斯》中的标签转换为千分尺的概念。例如(普罗米修斯): Micrometer的标签似乎与Prometheus的标签有些不同:所有的值都必须预先声明,不仅仅是键。 可以将普罗米修斯的标签与Spring

  • 我正在考虑向普罗米修斯输出一些度量标准,我对我计划做什么感到紧张。 我正在看一些标签值在低数千(1,000到10,000)。如果度量的数量不会非常大,那么这是普罗米修斯的适当用法吗?还是我应该将自己限制在更通用的度量上,比如单个聚合的步骤持续时间,而不是每个步骤的单独持续时间?