我使用SpringBoot2.0.0并试图公开/exactor/prometheus端点。
我启用了所有web管理端点,但只有prometheus端点未公开。有什么帮助吗
management.endpoints.web.exposure.include=*
2018-03-04 03:11:07.854 INFO 7864 --- [ restartedMain] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/
标签: Prometheus
prometheus-alertmanagerprometheus-blackbox-exporter
目前,我有一个AlertManager配置,当“probe\u success”指标为0时,它只发送一个警报
我不知道如何在警报规则的“expr”字段中加入“probe\u http\u status\u code”度量和“probe\u success”度量,以防止在“probe\u success”度量因429(对多个请求)http状态代码而为0时触发警报
我试图用下面类似的问题来解决这个问题,但没有成功。
“probe\u success”和“probe\u http\u status\
我的普罗米修斯实例有间歇性的内存峰值,这是它的RSS大小的两倍。这会导致它达到k8s中配置的容器限制并打开实例
它通常位于~65GB的区域,这是非常有用的计算器的一大特点。容器配置为120GB内存限制
我可以看到进程驻留内存字节的峰值与go\u memstats\u heap\u alloc\u字节的增加相匹配,而恢复(当它恢复并且没有OOM时)会导致go\u memstats\u heap\u released\u字节的增加,因为内存被释放,而go\u memstats\u gc\u sys\
Prometheus blackbox exporter在参数模块下引用了多个模块,那么作业的语义是什么
我猜这意味着所有模块都已尝试,只有当所有模块都成功时,探测才会成功。我遇到的所有示例都只使用单个模块(通常),到目前为止,我既没有配置示例,也没有在源代码中查找它。也许这里有人已经/肯定地从直接经验中知道了。根据blackbox\u exporter源代码,似乎每个探测器都只执行一个测试/模块。要么在请求中提供模块名称(如文档所示),要么默认为http\u 2xx
执行多个模块的唯一方法似乎
我正在尝试使用blackbox exporter将网页中的值嵌入到prometheus中,但目前看来http blackbox probe不支持抓取网页的源代码,这是可以理解的。我的用例是一个网页可以有3种状态:待机、从外部源获取、完成(这嵌入到页面的源代码中)。我已经考虑过滥用http响应代码来做这件事,并做类似的事情
200 = done,
202 = fetching,
400 = standby
然后使用probe\u http\u status\u code发出警报。
然而,我并不真
我有一个经常被接受的度量,但是值不会经常改变。假设它在过去24小时内可能已经改变了5次。
通过此查询,我获得了过去24小时内的所有样本:
样品.公制.容量[24小时]。
但我只想要这段时间内的五个不同的值。
如何更改查询以获取该值列表?您可以尝试使用以下方法:
((changes(your_metric[1m]) * your_metric) > 0)[24h:]
更改将仅显示值更改。更改度量的值为1,然后将其乘以度量值。结果是24小时内的不同值表。您可以尝试使用以下方法:
((chan
我在普罗米修斯有一个仪表,当我的服务停机时,它的值为-1(我的部署有0个吊舱)。当服务启动时,仪表会记录登录的用户数。我试图计算出这个量表在一天中的总时间是-1,也许是一周的平均值
我试图像这样使用timestamp()函数:timestamp(我的仪表[1d]=-1),但我得到了一个错误。我尝试了其他的东西,比如minu\u over\u time(),但也没用
编辑:如果有人对如何计算k8s部署在一天内停机的总时间有其他想法,而不使用我的仪表,我将不胜感激。当图表设置为1d时,我将进行计数(
标签: Prometheus
prometheus-alertmanagergrafana-alerts
我正在使用Prometheus alertmanager对一些指标设置警报。其中一个指标是使用分组依据查询,然后在该通用查询上设置警报
示例:Grafana仪表板上用于计算自上次成功培训模型以来的时间的指标:
time() - max_over_time(max(spark_job_success_time{model=~"mymodel.*"}) by (model) [24h:1m])
此查询为每个模型创建一个单独的时间序列,其名称与mymodel.*匹配
我想在此指
已开始使用Grafana版本7,但不清楚如何基于所选模板变量创建包含动态行的简单表
此动态变量指向服务器IP地址,数据取自Prometheus后端
target_memory{instance="server", ip="ip1"} 1
target_memory{instance="server", ip="ip2"} 2
target_temperature{instance="server"
当请求量比平均值下降50%时,最好的警报方式是什么?这是我的现金
expr:(100-(100*增加(一些请求度量计数器[10m])/(增加(一些请求度量计数器[10m]偏移10m)))>50
但它会一直发射,直到与前10分钟相关的情况属实,我不确定这样做是否正确
可以在即时查询的范围内连接Prometheus中的元素吗
我有一个元素job\u last\u run{jobname=“somejob”},其中的值是以秒为单位的unix时间戳,还有一个元素job\u state{name=“somejob”},其中的值是与作业的可读状态相关的数值
我希望能够运行一个即时查询,输出表系列数据,这些数据可以按照job\u last\u run中的时间戳值排序,还可以为每个元素返回job\u state中的值,该值与每个元素中存在的作业的名称相匹配。我认为这是不可
我有一个作为第三方API的系统。我需要观察每个第三方的响应时间。但正如普罗米修斯在其文件中所定义的:
请记住,键值标签对的每个唯一组合
表示一个新的时间序列,它可以显著增加
存储的数据量。不要使用标签来存储高精度的尺寸
基数(许多不同的标签值),例如用户ID、电子邮件
地址或其他无界值集
这意味着我不应该使用标签作为我的端点,因为用户是无限的(现在是600,继续摸索)。然后我将观察每个用户的指标,但这会改变我将来可能遇到的任何性能问题吗
代替标签过滤:
http请求总数{id=“3rdParty
速率函数真的给出了一段时间内的平均值吗
我通过以下方式向端点发送20个请求:
ab-n20http://0.0.0.0:8001/
所以,我使用速率函数,度量值超过20秒,所以它应该给我1个值,因为在过去的20秒中有20个请求
因此20/20=1但它提供了2的值
我相信两者之间没有关系
刮除间隔和
评估间隔对于结果,我的两个间隔都是10s如果您的刮伤间隔是10s,那么这是预期的。其工作原理是,普罗米修斯在你20秒的时间间隔内采集2个样本(因为它们相隔10秒),计算差值(20),将其外推到整个时
标签: Prometheus
kubectlspring-boot-actuatorprometheus-operator
已配置普罗米修斯操作员以获取springboot吊舱指标(通过致动器)
能够在普罗米修斯图形用户界面上查询度量http\u服务器\u请求\u秒数\u计数
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 | jq . | grep http_s
但在查询自定义度量api时,相同的http\u服务器\u请求\u秒数\u计数度量不可见
适配器的cm描述输出
Namespace: custom-metrics
Labels:
我正在寻找一个查询,以获得普罗米修斯上周运行的服务器的平均正常运行时间。每周大约15小时,所以大约8-10%
我在CentOS 7.6.1810上使用Prometheus 2.5.0和node_exporter。
我最有希望的实验是:
1-随时间的平均值(up{job=“prometheus”}[7d])
这是我在寻找获得平均正常运行时间的方法时发现的,但它正好给了我1。(我猜它忽略了没有擦伤发生的时间?)
2-时间总和(up{job=“prometheus”}[7d])*15/604800
这
我在库伯内特斯运行普罗米修斯,遇到了一些库伯状态度量连接错误。正在尝试检查日志,但无法在日志中看到连接失败。普罗米修斯的详细日志记录还需要启用吗?只需在普罗米修斯的启动命令中添加--log.level=debug。大概是这样的:
spec:
template:
spec:
containers:
- args:
- --log.level=debug
如果您使用docker compose,此配置将在prometheus中启用调试日志记录:
我有一个查询说(1-probe_success{instance=”https://www.google.com“})-我基本上是在尝试获取实例关闭的总次数。目前,当我将它设置为“Singlestat”时,它可以正常工作,在Grafana上显示“Total”值
但是,如果我想排除不到一分钟的停机时间,该怎么办?普罗米修斯是否有允许子查询/条件来实现这一点
我的普罗米修斯目前设置为每15秒收集一次数据。理想情况下,我希望在下面的场景中看到我的总价值5
最近2分钟内的样本数据
上午7:00:00-1
我有以下记录规则:
record:istio\u slo:error\u rate:ratio\u rate2w
表达式:|
总和(速率(istio_请求总数{destination_app!=“unknown”,response_code=~“5.*”}[2w]))
by(目的地\服务\名称空间、目的地\应用程序、目的地\服务\名称)
/
总和(速率(istio_请求总数{destination_app!=“unknown”}[2w]))
by(目的地\服务\名称空间、目的地\应用程序、目的地
我检测了普罗米修斯指标,当我试图刮取它们时,我得到了“浮动中不支持的字符”错误。
知道为什么会发生此错误吗?当我收到此错误时,是因为公开的度量值有语法错误。当我收到此错误时,是因为公开的度量值有语法错误。
这是我的普罗米修斯警戒规则
一段时间内的平均值(metricName[1m])>100
触发警报后,当metrci数据丢失超过1分钟时,警报将得到解决
有没有办法停止警报状态的更改 我相信这个选项并不存在,因为我们的想法是将警报建立在一个指标上。在我看来,你有两个选择。1.将查询范围从1m增加到更大,这样,如果您缺少minnuet的度量值,它将不会影响您,或者您可以使用缺席函数,该函数在没有度量值时返回1。选项1是我现在可以找到的最佳方法,但对于接收到警报消息时不理解proemetheus的用户
让我们想象一下,我有一个称为carries的指标和两个名为type和name的标签类型表示我们有水果还是蔬菜,名称是水果或蔬菜的名称,例如胡萝卜,洋葱,香蕉,橙色,苹果。我想做的是创建一个单独的stat面板,该面板将按以下方式(当然-在仪表板加载时动态刷新)逐行重复:
第1行:蔬菜,带胡萝卜和洋葱
第2行:水果,带有香蕉、橙色、苹果
到目前为止,我尝试在仪表板级别使用两个变量:
$types=label\u值(类型)
$names=label\u值(卡路里{type=~“$types”},nam
我正在使用EFK堆栈,并且
我尝试了以下文档,以便普罗米修斯可以通过启用和从elasticsearch中获取度量,但在我安装helm chart时,它抛出了此错误:
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(PrometheusRule): missing require
我正在使用Prometheus数据源开发Grafana仪表盘。它包含多个表,还包含特殊筛选器
因为对于我的表中的不同字段/列,我使用组织字段应用了transform,并覆盖了标签(名称->客户名称,职务->工作地点),所以我想对我的过滤器做同样的事情,它现在正好显示从普罗米修斯(名称,职务等)->(客户名称、工作地点等)
有没有办法做到这一点
我已配置Prometheus和所有已配置端点的状态,即客户端已启动。所有作业的刮擦间隔保持为5秒。但当在“最后一次刮伤”一栏中勾选时,我看到最后一次刮伤是几分钟前的1小时。或者几分钟前。这是否意味着出了什么问题。普罗米修斯的刮擦是如何工作的
谢谢
添加了prometheus.yml的图像,出于安全原因,我已替换了主机名。添加了prometheus.yml的图像,出于安全原因,我已替换了主机名。
我使用不同的标签组合创建了一些指标,这些指标在一段时间后不断累积,因此,当Prometheus服务器刮取“/metrics”端点时,延迟太高,响应大小显著增大。这会对服务于其他请求的应用程序性能造成影响
我读到普罗米修斯建议反对过度使用标签()。但是,我的问题是,是否有一种方法可以从客户那里清除指标?或者,是否真的建议从应用程序中清除它们 这听起来像是一个经典的标签基数问题,解决方案是首先避免这样做。普罗米修斯不是一个事件记录系统,所以必须选择一些标签从度量中删除,这样就不会发生这种情况
当在没有任何函数的情况下查询prometheus时,结果是从最后一次刮取返回的,还是从最后一分钟返回的,等等
my_metric{label1=myval}
这大概是上一次刮的,有更多细节。谢谢!这是有道理的,我认为令人困惑的是“没有为该时间序列返回值”这一措辞。在我的例子中,返回一个值,但该值在前5分钟内没有递增。我想情况也是这样。
标签: Prometheus
prometheus-alertmanagerprometheus-blackbox-exporter
我不熟悉普罗米修斯和警报系统。
我开发了一个微服务,并添加了度量代码,以便在出现错误时获得增量的总数。
现在我正在尝试创建一个警报,这样每当错误增加时,它都应该标记出来并发送一封邮件。
但我无法对这种情况形成适当的查询。我使用了类似于error_total>0的方法来发送警报,但它每次都会工作,因为计数将大于0,除非我们手动重置它。您要查找的是。在前15分钟内出现错误时,以下表达式将触发en error:
expr: increase(my_error_metric[15m]) > 0
a
以下是我的ProMQ查询:
sum by(package_type) (Havoc_FlowTime_Count{status=~"SUCCEEDED"})
包类型的时间序列没有任何状态标记设置为“成功”的值。因此,结果中没有包含上述包装类型标签的即时向量。是否有一种方法可以将所有的“0”值都设置为现在丢失的值
我在格拉法纳画了一张图,我得到一个计数器的速率,然后从另一个计数器的速率中减去它。
我在图中使用区间变量。
现在,当我想用5m作为间隔时,我想让速率乘以(5*60)。
同样,当1h时,应乘以(1*24*60*60)
$period=1m、5m、10m、1h等等。
我的问题
rate(service_total{state="otp_send"}[$period]) * 300 - ignoring(state) rate(service_total{state="otp_validate"}[$
什么不起作用:
Grafana的时间偏移选项,因为它适用于所有查询,并且不接受负值
将“偏移量”添加到查询中可以及时将其向前(向右)移动,但不接受负值
我想通过prometheus的api获取监视器主机的度量,并且需要为每个请求的度量发起一个请求
curl http://IP:9090/api/v1/query?query=node_cpu_seconds_total{instance="IP:9100"}
curl http://IP:9090/api/v1/query?query=node_memory_MemTotal_bytes{instance="IP:9100"}
是否有一种方法可以一次从
我使用包含电子邮件和webhook的默认接收器配置alertmanager:
receivers:
- name: infra_email
email_configs:
- to: 'xxx.xxx@xxx.xxx'
send_resolved: true
webhook_configs:
- url: 'http://172.22.45.34:55553/'
send_resolved: false
这个很好用
当我尝试将其配置为独立接收器时:
r
我在用普罗米修斯监控服务。普罗米修斯根据一些配置发送警报,配置如下:
evaluation_interval=1m
group_wait=30s
group_interval=5m
普罗米修斯根据配置为1分钟的评估间隔接收度量。解释了普罗米修斯如何使用以下配置:
```
1m - metric received
2m - metric received
3m - metric received
4m - metr
我有一个查询,我只想在运行特定服务的主机上运行
伪代码看起来像
windows_os_virtual_memory_bytes
where
windows_service_state{name="sense",state="running"} == 1
因此,只有当带有name=“sense”的服务处于活动状态时,我才能获得虚拟内存使用on子句匹配标签。在这种情况下,
windows_os_virtual_memory_bytes > 0 and
看看普罗米修斯的相关指标列表,我明白了
prometheus_build_info
prometheus_config_last_reload_success_timestamp_seconds
prometheus_config_last_reload_successful
prometheus_engine_queries
prometheus_engine_queries_concurrent_max
prometheus_engine_query_duration_seconds
pro
如何获得普罗米修斯的真实计数指标
目前,count度量提供了运行信息,比如到目前为止有多少请求到达某个端点
但我想知道某一天早上9点到下午5点的数字,我的端点被击中了多少次?在9:00时,它可以将计数器值设为0,并进行计算吗? < P>尝试使用范围查询API,代码为< >启动< /代码>和结束< /代码>时间戳:
文件:
query=:普罗米修斯表达式查询字符串。
开始=:开始时间戳。
end=:结束时间戳。
步长=:以持续时间格式或浮点秒数表示的查询分辨率步长。
超时=:评估超时。可选。默认为
我想单独获取单个请求的大小,但当请求发送到API receivedBytes.observereq.size时,返回所有请求的大小的聚合值,直到最后一个请求
我可以单独获得请求的大小而不是聚合值吗?普罗米修斯是一个度量监控系统,所以不关心单个事件。相反,它关心的是请求的平均大小,或者每秒字节数
这里您需要的是一个日志系统,它可以为您记录每个请求的信息。谢谢。还有一个问题,我们可以通过查询普罗米修斯来获得指标的先前值吗?。然后我可以从当前值中减去前一个值,得到最新的请求大小。普罗米修斯(Prome
我有两个不同的指标:
具有字段类型的度量_a
具有字段类型的度量_b(相同)
我试着总结a和b,是同一类型的。
如果类型仅存在于度量值_a上而不存在于度量值_b上,则它应返回度量值_b的结果。
我在普罗米修斯身上尝试了很多选择:
sum by(type)(metric_a{job=~“provision dev”})或vector(0)+sum by(type)(metric_b{job=~“provision dev”})或vector(0):只返回metric_a的值,不计算metric_b
我在普罗米修斯有以下标签,如何在模板制作时创建通配符查询
类似于“查询”:“标签\值(应用程序\计数\总数,xyx)”。这些值是从Eclipse文件REST-API生成的
application_getEnvVariablesCount_total
application_getFEPmemberCount_total
application_getLOBDetailsCount_total
application_getPropertiesCount_total
普罗米修斯对待度量名称的方式
我们正在使用irate()函数检查redis集群上2分钟内的命令速率。问题是,在2分钟内,差值以百万为单位,并且图表没有显示任何值
普罗米修斯用什么类型来计算汇率,是整数、长还是双精度?可能是因为类型的原因,速率查询没有返回任何值。您确定这不是因为间隔太小吗?计算是以双精度执行的,因此这不应该是一个问题。相同的查询对于集群中的其他redis节点也可以很好地工作。在指标差异太大的情况下,它不起作用。请注意,irate不关心2分钟或3小时,它需要2个最新的数据点。它是在时间范围内使用增量的速率。您正
我使用的是kNative Observability插件,它在我的Google Kubernetes引擎集群上安装了Prometheus和Grafana
有两个问题:
在kNative的最新版本中,该插件已被弃用
我看到插件将日志保存在Prometheus吊舱中(我的最佳猜测),有时它会在高负载下崩溃
有没有办法在谷歌云监控中重新创建Grafana仪表盘?也许更好的问题是,有没有办法让普罗米修斯记录的kNative日志进入谷歌云环境?您可以使用为此目的而构建的工具将普罗米修斯度量导出到云监控
日
我有一个计划外的批处理作业,每天可能触发多次,也可能不会触发多次。对于每个调用,我将生成一个递增1的计数度量
我希望在1天内为度量应用increase()函数,并在当天的每次调用中看到一个峰值
然而,我注意到,increase函数并没有显示或外推延长缺失周期的数据(就像添加这些度量之前的周期),因此第一次调用总是零增量
我正在尝试类似于增加(job\u invocation\u total[1d])
我还尝试使用或on()vector(0)将不存在的值设置为零,但increase()函数不允许这
我正在寻找一种计算唯一标签值并显示每个客户名称的每个唯一标签计数的方法。以下是我的指标。我需要得到苹果=1,橙色=1的计数
customer_alerts(alertname="a", customername="apple")
customer_alerts(alertname="b", customername="orange")
customer_alerts(alertname="a"
我有一个普罗米修斯柱状图度量,例如http_api_end_point_latency_seconds,其中我添加了3个标签。
例如,http_api_end_point_latency_seconds{uri=“api/Home”,status=“200”,authStatus=“authorized”,le=“1.2”)
该指标被添加到应用程序的中心位置,在任何时候,我们都会有不同的标签组合,从而产生不同的时间序列
问题:
我们希望监控在任何时间点存在的不同时间序列的数量,即,我们正在寻找所
我正在删除一个用破折号表示度量名称的导出器。普罗米修斯度量名称不能有破折号,因此我无法刮取这些度量
是否可以用下划线替换破折号以使度量名称有效
当前:collected\u a-b\u derivate\u total
所需:collected\u a\u b\u derivate\u total
我把它添加到我的配置中,但它似乎不起作用
- source_labels: [__name__]
regex: "(.*)-(.*)"
action:
给出如下所示的警报查询:
timestamp(ALERTS{alertstate="firing"})
你怎么知道它发射了多少秒 计算过去一小时/一天/任何警报触发的秒数(或相当于时间百分比)非常简单:
sum_over_time(ALERTS[1h:1s])
或者,由于效率原因,分辨率较低:
sum_over_time(ALERTS[1h:10s]) * 10
计算警报何时开始触发(或相当于,自上次触发以来,警报已触发多长时间)更为复杂:
ALERTS{alertstate="firin
我是普罗米修斯的新手。我在寻找监视应用服务器的方法,这些应用服务器不支持Prometheus,但支持JMX
这类应用程序提供了一些配置,以通过JMX端口启用连接
那么为什么普罗米修斯需要在目标系统上放置普罗米修斯特有的JAR(java代理的东西)?它只需连接到JMX端口并获取所需的任何信息 普罗米修斯的目标并不是在一个二进制文件中支持所有可能的应用程序,只是太多了。相反,500个出口商的存在是为了充当翻译人员,普罗米修斯可以专注于它最擅长的工作。普罗米修斯的目标不是在一个二进制文件中支持所有可能
要求:
我想在grafana中将脱机数据显示为当前数据
例如:
我在普罗米修斯有数据,时间戳是7天前(从14天前到7天前)。
现在我想在grafana中将其显示为当前数据。从14天前的时间戳开始,确保grafana将时间戳显示为当前时间戳。
那么我该怎么做呢?在PromQL查询中使用offset
sum by (foo) (rate(counter_total{bar="zoom"}[5m] offset 7d))
我想对Prometheus服务器进行一次http调用,并获得以下信息:
多指标
计算过去30秒内所有指标的速率
我有下面的查询,它在过去30秒内一次调用中请求多个普罗米修斯度量的结果。我只是不知道如何扩展这个查询来计算所有这些指标的比率。有人能帮忙吗
/api/v1/query?query={__name__=~"metric1|metric2|metric3",service=~"testservice"}[30s]
我想做一些像
/api
在客户站点/网络上,我安装了一些服务器
为了进行监控,我现在在每台服务器上都安装了windows exporter。
通过一台中央普罗米修斯服务器,我从每台服务器/windows exporter获取数据
我在Grafana仪表板中显示数据
这太棒了!我喜欢
我非常喜欢它,所以我真的很喜欢在我的公司办公室里有这个服务器仪表盘
我正在寻找正确的解决方案来做到这一点。我的第一个计划是:
在cutomer network将普罗米修斯的存储空间更改为at web存储
在我的公司安装普罗米修斯并连接到同一
1 2 3 4 5 6 ...
下一页 最后一页 共 14 页