如何在Prometheus查询中对标签进行分组?

如果我有一个带有以下标签的度量: my_metric{group="group a"} 100 my_metric{group="group b"} 100 my_metric{group="group c"} 100 my_metric{group="misc group a"} 1 my_metric{group="misc group b"} 2 my_metric{group="misc group c"} 1 my_metric{group="misc group d"}

Prometheus 普罗米修斯有几个服务器

我开始研究普罗米修斯项目并制作原型。到目前为止,我已经在我的应用程序中实现了一些计数器(在Weblogic上运行),公开了metrics servlet(专用war文件),使用Docker映像在专用机器Prometheus server+Grafana上启动。一切正常,服务器会删除计数器,Grafana会将它们显示在图表中 但由于我的运行时环境,我面临一个问题。基本上,我通过https://以我的应用程序为目标,并通过https:///prometheus/metrics/,但在幕后我可以访问两

如何将整个JSON对象(详细数据)存储到Prometheus Timeseries数据库中

通过研究普罗米修斯数据库,我们可以存储时间序列的数值。 我的要求是“我想存储整个JSON对象w.r.t Timeseries,在绘制图形时,我可以从JSON对象中获得一个维度,并根据时间进行绘制 您可以帮助实现这一点吗。您不能在prometheus中存储JSON对象。但您可以尝试将JSON对象转换为prometheus度量 <metric name>{<label name>=<label value>, ...} {=,…} 如前所述,您不能将JSON存

Prometheus 在禁用特定收集器时启动节点\u导出器-collector.diskstats

由于我的服务器托管在VPS中,因此我没有可以为node_exporter(版本0.17.0)提供磁盘统计信息的/proc/diskstats。因此,我最终得到了重复的错误消息: ERRO[0037]错误:0.000034s后diskstats收集器失败:无法获取diskstats:open/proc/diskstats:无此类文件或目录source=“collector.go:132” 我想告诉导出程序忽略diskstats collector,但无法做到这一点。正如只放置标志--collect

Prometheus 路由匹配多个标签

我不会让alertmanager基于多个标签发送警报 一般来说,发送警报电子邮件是可行的。但前提是一个标签上有一个简单的匹配项。例如,teamB路线正在运行。teamA路线不是 route: receiver: default-receiver routes: - receiver: teamA match: environment: production match_re: job: ^(?:app2| app3)$ - receiver

Prometheus 如何使用c++;? 我试图用C++代码获得所需的普罗米修斯度量值。例如,我需要使用C++代码执行当前运行的度量查询“GoGGCGIORATIONS秒{分位数= 0”},并获取查询的值。 如果有人有样品项目,请分享和帮助我 问:你有C++的普

如何使用c++;? 我试图用C++代码获得所需的普罗米修斯度量值。例如,我需要使用C++代码执行当前运行的度量查询“GoGGCGIORATIONS秒{分位数= 0”},并获取查询的值。 如果有人有样品项目,请分享和帮助我 问:你有C++的普罗米修斯SDK吗?据报道,“官方”SDK似乎只适用于Go、Java、Scala、Python和Ruby。问:如果你有一个C/C++库,它是哪一个?你从哪儿弄来的?他们有他们的库的文档吗?我试过使用非官方的第三方客户端库,这在同一页中也提到过,“

如何在Prometheus relabel配置中保持匹配的源标签

Kubernetes中的Pod在某个端口导出度量,该端口在注释中指定。是否有任何方法仅保留与注释中的端口匹配的容器端口 我试过这样的东西,但不起作用 relabel_configs: - source_labels: [__meta_kubernetes_pod_annotation__prometheus_io_port,__meta_kubernetes_pod_container_port_number] regex: (.+);$1 action: keep

prometheus-node_导出器grafana:如何显示集群中所有节点的状态?包括幸存者和衣架

我正在使用grafana显示prometheus的node_exporter监视的集群数据。 我想总结一下所有的节点。如果它们存活下来,将显示IP和CPU使用情况(IP需要删除端口号);如果挂起,则显示IP,颜色为灰色;现在您可以看到幸存节点的CPU使用情况; 问题是: label_replace((1 - avg(irate(node_cpu_seconds_total{job=~"$job",mode="idle"}[5m])) by(instance

Prometheus节点导出器未在Centos 6上返回度量

我在几个Centos 6虚拟机上尝试了多个版本的节点导出器,得到了同样的结果 节点导出器正在运行,当Icurl localhost:9100时,我得到以下信息: 节点导出器节点 出口商 当我curl localhost:9100/metrics时,它只是挂起 你知道为什么它不能获得这些指标吗?经过一段时间的调试,我发现它由于文件系统收集器而挂起。 使用--无收集器启动节点导出器。文件系统标志修复了该问题。经过一点调试后,我发现由于文件系统收集器的原因,该节点被挂起。 使用--无收集器启动节点导出

Prometheus 当一个Promql+;持续时间将是开火

我想知道是否有可能实现PromQL: 给定一个promql,和duration生成一个它在该duration期间处于活动状态的图形。 这样您就可以追溯到promQl何时会产生警报 我想做这样的事情: count_over_time( ($PROMQL)[$DUR:15s] ) >= ($DUR / 15s) 但它忽略了这个案例:

Prometheus 对PromQL的DataDog度量查询

我正在普罗米修斯创建警报,并从Datadog迁移 我有两个我还不能理解的度量查询 avg(last_1d):anomalies(avg:default.burrow_kafka_consumer_lag_total{*} by {consumer_group,env}, 'robust', 3, direction='above', alert_window='last_30m', interval=300, count_default_zero='true', seasonality='hou

Prometheus 普罗米修斯得到所有度量和描述的列表

我需要一个普罗米修斯出口商(例如节点出口商)提供的所有指标和相应描述的表格 一些导出器在其文档中有这样一个表,例如cadvisor:但节点导出器没有这样一个包含度量和描述的详细表 此处提供了所有指标的列表http://localhost:9090/api/v1/label/__name__/values但这些描述是什么?有没有其他方法可以实现这一点?进入普罗米修斯>状态>目标,获得您想要的端点,例如: Node = http://HOSTNAME:9100/metrics Bitbu

Prometheus Grafana仪表板变量:当度量值等于某个值时,如何提取标签值

我有一个监控微服务运行状况的指标,名为nodejs\u microservice\u health\u status 我想创建一个变量failedmicroservice,当nodejs\u microservice\u health\u status等于0时,该变量提取度量的service标签的值 PromQL查询nodejs\u microservice\u health\u status==bool0返回的所有项都等于0,但是当我试图将变量的查询设置为label\u值({nodejs\u

Prometheus 普罗米修斯同时监听不同的端口

我正在尝试同时侦听两个端口,这些端口是: 有人能推荐一个好方法吗?您可以尝试以下方法: 由于目标使用不同的度量路径(/metrics与/prometheus),它们必须在单独的作业中定义/metrics是默认的度量路径,因此您不需要在job1中配置它,但需要将/prometheus配置为job2中的度量路径 您可以尝试以下方法: 由于目标使用不同的度量路径(/metrics与/prometheus),它们必须在单独的作业中定义/metrics是默认的度量路径,因此您不需要在job1中配置它,但需

Prometheus目标端点中已发现标签和标签之间的差异

我有一个关于普罗米修斯标签的问题。当我调用targets端点(/api/v1/targets)时,我得到一个json,其中包含包含不同键值对的scrape目标。给定上下文中键“发现标签”和“标签”之间的区别是什么。当我查询一个来自特定目标的指标时,普罗米修斯似乎包含了“labels”键中列出的标签。“发现的标签”在哪里使用?包含两个键的示例提取(未完成)如下所示 {u'discoveredLabels': {u'__address__': u'12.13.0.3:9090',

如何使用JAVA Prometheus Pushgateway客户端推送具有多个标签(键值)的非类型度量?

我想使用java PushGateway客户端推送度量 示例推送网关URL pushgateway.com:9091/metrics/job/job\u name 样本指标 度量值{instance=“i1”,label1=“l1”,label2=“l2”,label3=“l3”,label4=“l4”} 有谁能给我提供一个代码片段,用它将上述指标推送到Pushgateway中 注意 我们有20K个临时实例运行该应用程序,因此决定使用Pushgateway。来自以下官方文档: 要使用分组键jo

Prometheus 格拉凡纳普罗米修斯酒吧时间间隔

我想用普罗米修斯的数据源得到格拉法纳的条形图。查询是sum(增加(nginx\u http\u请求{location=“login”}[1d]) 最小步长=1d。一切都正常,但最后一条有问题。他展示了我所理解的从2020-04-17 0:00到2020-04-18 0:00的价值观(例如今天的2020-04-17)。也许有人知道是否可以将酒吧结束日期设置为2020-04-17 23:59 格拉法纳酒吧示例:

如何在prometheus中省略Promql标签以避免重复通知

我有一个多区域kubernetes集群,它有3个区域,其中prometheus监控部署了replicaset=3。每个区域有1个alertmanager、1个kubestate metrics、1个grafana和1个prometheus操作员吊舱运行 例如,当我收到警报时,一个警报部署ReplicasUpdated,我收到三个警报-每个kube state metric pod中有一个警报。警报仅因实例标签不同而不同,即kube state metric pod的ip地址。 警报格式如下所示

Prometheus 理解普罗米修斯的速率函数值

我读过普罗米修斯函数块文档,但有时我不理解速率函数的实际值 假设我们要计算http服务请求超过60秒的平均时间,它将如下所示: sum by(uri) ( rate(http_client_requests_seconds_sum[60s]) / rate(http_client_requests_seconds_count[60s]) ) 所以它是这些时间序列中完成请求的平均时间,度量:持续时间。这对我来说完全有道理。现在我想计算60秒内http_客户端_请求_秒_计数的变化 s

Prometheus 如何在不使用Grafana中的聚合函数的情况下使用ProMQGROUP by

我试图创建一个查询,通过“Api”字段对数据进行分组,并使用prometheus和grafana选择一个值字段 我的示例查询(promql)是(Api)[30m:1m]的max(application\u apidaccesscount\u total)。这可以通过按“Api”字段分组数据来获得最大值 我如何使用grafana的面板来实现这一点?是否可以为Grafana提供一个基本查询并使用面板字段对其进行修改?您必须添加一个新的小部件并添加查询: max(rate(application_ap

Prometheus 是否有人使用$\u区间选择固定值的范围?

在PromQL中,我们使用范围向量选择器来获取函数的范围向量,如rate()。Grafana提供动态变量$\u interval,其使用方式如下: sum(rate(my_metric{foo="bar"}[$__interval])) 它的值是一个近似值,因此生成的范围向量包含大约每个像素(或多个)的一个条目。据我所知,这可以防止过度抓取 到目前为止还不错。但是看看Grafana Cloud中的多个可用仪表板,或者例如Robust Perception提供的演示仪表板,没

Prometheus 应用普罗米修斯公制重新标记“;“之后”;规则

是否可以在运行“之后”规则时应用度量重新标记配置?也就是说,我想更改使用规则定义的指标的上游事物的标签,但不希望使用“原始”指标编写规则的人在加入/聚合等时担心额外的标签 仅对规则定义的度量进行重新标记也可以;我不需要我们从目标中提取的原始指标上的标签。简短回答:不,目前(普罗米修斯2.25)不可能 如果需要,可以在Github上打开功能请求:

动态地将目标添加到Prometheus配置中

对于普罗米修斯的一项特殊工作,典型配置如下: static_configs: - targets: ['localhost:9090'] 但是,如果我想要一个动态的主机列表,那该怎么办呢?我在看scrape\u config,但这似乎并没有完成我想要的(除非我误读了?) 提前谢谢你 如果提供的服务发现机制之一还不能满足您的需要,您可以使用它动态提供目标。有几种方法可以为您的普罗米修斯提供动态目标。请参考链接 其中包括: azure_sd_配置(用于AzureVM度量) 领事馆sd_配置(用于

Prometheus 如何向Alertmanager中的一个接收方组发送多个警报?

我在这里看到了这个问题/答案: 这对我来说是一个很好的开始,我希望我能对回答者提出一个简短的问题,但我没有代表 无论如何,我有一个包含两个组的alert.rules.yml文件,如下所示: groups: - name: DevOpsAlerts rules: - alert: InstanceDown expr: up == 0 for: 5m labels: severity: critical annotations: su

Prometheus 返回零的探针

我一直在努力理解为什么一些HTTP端点返回“0”表示“probe_success”和“probe_HTTP_status_code”,同时完全能够使用curl获得有效响应 示例:curl-s localhost:9115/probe?目标=http://linux.org&module=http_2xx |grep-v'^' 输出: probe_dns_lookup_time_seconds 0.003712821 probe_duration_seconds 0.212811871 probe

Prometheus 忽略peometheus查询中的带有old的序列

我有一个示例程序,可以总结为以下问题: 我想在一个篮子里记录“球”的数量。因此,我有一个普罗米修斯计数器,用于记录每个篮子中的球数。让我们把这个计数器称为Balls(basket_name=“name”),所以我有一个系列的Balls和一个带有basket name的标签。 现在要显示所有篮中的球总数,我在promql sum(balls)中执行以下操作,它显示篮中的球总数。 问题是我每次都可以用不同的篮子重新启动我的程序,但查询总和(Balls)将继续计算以前运行的“旧”篮子 问题:如何将查询

Prometheus 将多个瞬间向量相加

我试图将一组仪表添加到向量()中,同时仍将其时间序列数据保存在普罗米修斯中 例如:1天的数据 Vector(10)=10.0全天 Gauge1=0.1(0100-1800,否则=无数据) Gauge2=0.2(0200-1900,否则=无数据) Gauge3=0.3(0300-2000,否则=无数据) Gauge4=0.4(0400-2100,否则=无数据) 我的目标是获得价值观: 10.0 (0000 - 0100) 10.1 (0100 - 0200) 10.3 (0200 - 0300

Prometheus 在ProMQ中将峰值检测为滚动百分比

我有一个用例,我希望能够将给定指标随时间的变化率绘制为滚动和的百分比,但我不知道如何在PromQL中表达这一点 例如,如果当前和为100,而5分钟前的和为50,则在过去5分钟内增加了200%。我想以百分比的形式将该比率随时间的变化绘制成图表,这样我就可以对此发出警报 以下是我尝试过的: delta(firehose_counter_event_gorouter_total_requests_total{bosh_job_name="router"}[5m]) irate(firehose_cou

Prometheus 如何创建查询以监视docker容器一天运行的分钟数

我试图监视docker容器,但在查询以监视容器一天运行的分钟数时遇到问题 count(rate(container_last_seen{id=~"/docker/.*",instance=~"$node"}[1d])) 这是我的查询,用于显示一天中有多少容器运行,但如果您知道上次看到的container\u的数据点之间的间隔,我不知道如何监视一天中容器运行的分钟数(它被称为scrape\u interval,通常在Prometheus配置文件中配置),然

具有单个Prometheus运算符的多个Prometheus实例

我们希望实现一个监控和警报解决方案,我们希望给每个功能单元提供自己的prometheus实例 目前,我们通过prometheus操作符和单个prometheus实例运行它,但现在我们需要用单个操作符将它扩展到多个prometheus实例 有人能告诉我正确的方向吗?这很简单:只需使用不同的配置将多个Prometheus对象部署到集群中即可。 普罗米修斯操作员将管理任意数量的普罗米修斯实例 在注释澄清后添加: prometheus operator是在集群中运行的一款软件,它使用kind:prome

如何动态填充prometheus作业的标签

我想添加一些标签,如区域,客户名称到刮取的目标,这些标签的值只能在运行时生成,因此我想在运行时将标签动态填充到作业中,并使用它们触发警报 有办法吗?可能有办法,但您需要确切指定从何处获取这些值以及将它们放置在何处。

Prometheus 如何结合普罗米修斯的两种价值观

我想从中显示显示名称 windows_process_info{ hob = "job" , group = "group" , instance = "instance" } 到 如何组合这两个普罗米修斯查询?我的解决方案: ( sum by ( process_id , process ) ( windows_process_cpu_time_total{ job = "job" , group = "

Prometheus 普罗米修斯的来源标签只能是以“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”开头的标签吗?

是否可以使用不以u u开头的标签创建标签 背景: 我正在与普罗米修斯合作,我正在尝试使用node_exporter监控lvs服务,因此我需要一个名为vrrp_vsvrrp virtualserver的标签,它应该包含一个vip和一个端口,如172.16.10.10:80,我试图使用公制节点的两个标签local_address和local_port_backend_connections_active制作一个leble,但是它什么都没有。您可以使用ProMQ从现有标签创建一个组合标签 label_

Prometheus opencensus如何创建度量?

例如,如果我使用OpenCensus,我会显式地创建直方图,但我看不到OpenCensus提供等效功能的选项 注意。我还不清楚从OpenCensus到OpenTelemetry的演变过程 在普罗米修斯(Prometheus)中,导出度量的服务提供了一个端点,该端点可以被刮取或拉取度量。在其他监控解决方案中,指标被推送到服务。当您将代码配置为导出到Prometheus时,还必须创建端点以公开这些度量。见: 注意,我引用了Golang的例子,因为您没有包含偏好。OpenCensus支持多种语言,但并

Prometheus查询返回前5个结果

我正在Prometheus中运行diskspace used查询,只想返回搜索结果中前5或前10个条目。我有没有办法做到这一点 目前,我正在尝试的查询返回58个条目 (100 - 100 * (node_filesystem_avail{device!~"by-uuid",device!~"tmpfs",mountpoint="/"} / node_filesystem_size{device!~"by-uuid",device!~"tmpfs",mountpoint="/"})) > 7

Prometheus 如何在Helm的范围函数中使用模板化值

我正在使用普罗米修斯的头盔图表,并计划为不同的环境提供不同的警报管理器文件集。 现有图表的提取部分: {{- $root := . -}} {{- range $key, $value := .Values.alertmanagerFiles }} {{ $key }}: | {{ toYaml $value | default "{}" | indent 4 }} {{- end -}} 要覆盖此部分,我有一个已定义的模板变量 {{- define "prometheus.alertma

Prometheus promql:如何在一段时间内找到丢失的行

我有一个返回BGP前缀的简单查询:bgp4PathAttrPeer{bgp4PathAttrPeer=“10.16.3.9”} 在我的例子中,这给了我一个233行的列表(每个前缀一行) 如果撤销一个前缀,则相同的查询将返回232行。 现在我的问题是,我如何才能找出缺少的BGP前缀 我可以对查询求和并绘制它们的图形,但这并不能告诉我到底缺少了哪个前缀,只是缺少了那个前缀 您可以转到控制台左侧的图形,然后增加时间范围

另一台服务器上的Prometheus postgres_导出器

我试图将Prometheus与postgres_exporter一起使用,但在另一个节点上—即Prometheus容器在一台服务器(Debian)上运行,并且应该监视另一台服务器(也是Debian)上运行的PostgreSQL容器 我在我的普罗米修斯上加了这个 - job_name: postgres_exporter static_configs: - targets: ['10.97.8.97:9187'] 在PostgreSQL server上,我对postgres_导出器使用了

Prometheus 普罗米修斯目标发现公司丢弃了目标标签

我让Prometheus在AWS上的K8内运行,并使用服务发现来获取有关我的基础设施的信息 我已经能够使用服务发现来检索指标和节点的目标标签,但是我显示了0/17个活动目标吊舱、0/13个节点导出器、3/9个服务端点和2/13个api服务器 我在下面的config-map.yaml中有一个Prometheus.yaml文件 以前有没有人做过这件事,并且能够说明我做错了什么 提前谢谢 global: scrape_interval: 5s evaluation_interv

Prometheus 仅测量普罗米修斯的积极变化';s递增()函数

我正在使用普罗米修斯(Prometheus)收集AWS cloudwatch指标,并在某些SQS队列出现大量消息时发送警报。假设我的队列深度图如下所示: 我想要一个只向上尖峰的闹钟。目前,我使用的是表达式increase(QueueDepthMetric[10m]),其中QueueDepthMetric是上面的可视化视图中表示的变量。我预计这只会在度量增加时显示峰值,但它会在度量的斜率增加时显示峰值: 这会导致在任何尖峰(正极和负极)上达到报警阈值。在浏览了普罗米修斯文档之后,我找不到我正在寻找

Prometheus Alertmanager:基于实例的Blackbox导出器警报

我们使用blackbox\u导出器“如果\u body\u匹配\u regexp:”来检查不同的内部监视器页面。问题是,当开发人员使用许多不同的“单词”来表示“失败的应用程序”。当服务正常时,一些单词实际上出现在其他一些监视器页面上。 在alers.rules中是否可以以某种方式区分实例?还是有其他办法解决这个问题 这可能不管用…但你可能知道我要做什么。。。 -警报:监视器页面上出现错误 expr:由于正则表达式=1,探测失败 时间:100万 实例:serve1,server2 标签: 严重性:

Prometheus 检测两个值的变化

我目前使用prometheus alertmanager警报来确定在给定时间运行的盒子数量 我想创建一个警报,如果在线框的数量发生变化,它将发出警报。我用这样的方式: sum(up{app="mybox"}) != sum(up{app="mybox"} offset 5m) 这将检测到状态更改,但不会报告当前/以前的值。所有$labels.value将返回的值均为真/假。有没有一种方法可以编写此查询,以便a)它在更改时发出警报,B)报告不同的值?如中所示,只有一个可用的$value是规则的表

Prometheus 在普罗米修斯中显示任意@Timed度量

我正在尝试向SpringBootWeb应用程序添加时间度量。目前,该应用程序使用千分尺、普罗米修斯和弹簧靴执行器 我可以在以下位置连接到我的应用程序:http://localhost:8080/actuator/prometheus 并查看默认指标列表,如: # HELP jvm_gc_memory_allocated_bytes_total Incremented for an increase in the size of the young generation memory pool a

在prometheus中执行每度量数据保留策略

普罗米修斯有没有像XDB那样“减少”旧数据的方法? 例如,我想在上周以“每1分钟采样一次”的分辨率存储一些请求计数器,然后在上个月每10分钟减少并存储一次样本,然后完全删除数据

Prometheus 如何在snmp导出器的版本2中设置密码

我使用snmp版本2在Cisco交换机上设置了密码,但无法使用snmp导出器获取数据。如何仅在snmp导出器中为版本2设置密码 错误 level=info ts=2020-12-27T11:37:06.875Z调用者=收集器。go:224模块=如果_mib target=172.16.108.10 msg=“Error scraping target”err=“scrape canceled(可能超时)获取目标172.16.108.10” 对于每个模块,必须单独定义一个社区进程,每个进程都可以单

Prometheus jmx_导出器未发送回jmv_度量

因此,我正在进行一个项目,需要安装一个Grafan仪表板,我发现了一些,但我感兴趣的仪表板(JMX Overview 3457)调用如下 jvm_memory_bytes_used{instance=~"$instance"} 问题在于度量“jvm\u内存\u字节\u使用”不存在,以“jvm\u”开头的度量都不会返回。如果它们以“jmx_”或“java_lang”开头,则返回。我在Github上找到的 https://github.com/prometheus/jmx_ex

  1    2   3   4   5   6  ... 下一页 最后一页 共 14 页