apiVersion: apps/v1
kind: Deployment
metadata:
labels:
APP: AppABC
TEAM: TeamABC
...
scrape_configs:
- job_name: 'pod monitoring'
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
...
kube_pod_container_status_restarts_total{
app="kube-state-metrics",
container="appabccontainer",
job="pod monitoring",
namespace="test-namespace",
pod="appabc-766cbcb68d-29smr"
}
我有没有办法从kube-state-metrics中刮取这些指标,但在不覆盖它们的情况下将应用程序和团队标签放在一起?
编辑-我想通了
expr: kube_pod_status_phase{phase="Failed"} > 0
expr: kube_pod_status_phase{phase="Failed"} * on (pod,namespace) group_right kube_pod_labels > 0
- name: Pod_Failed
rules:
- alert: pod_failed
expr: kube_pod_status_phase{phase="Failed"} * on (pod,namespace) group_right kube_pod_labels > 0
labels:
appname: '{{ $labels.label_APP }}' # This is what I wanted to capture
teamname: '{{ $labels.label_TEAM }}' # This is what I wanted to capture
annotations:
summary: 'Pod: {{ $labels.pod }} is down'
description: 'Pod: {{ $labels.pod }} is down in {{ $labels.namespace }} namespace.'
解决方案:使用PromQL,您可以进行分组。所以在我的普罗米修斯规则中,我改变了这个:
expr: kube_pod_status_phase{phase="Failed"} > 0
对此:
expr: kube_pod_status_phase{phase="Failed"} * on (pod,namespace) group_right kube_pod_labels > 0
因此,我的新警报规则如下所示:
- name: Pod_Failed
rules:
- alert: pod_failed
expr: kube_pod_status_phase{phase="Failed"} * on (pod,namespace) group_right kube_pod_labels > 0
labels:
appname: '{{ $labels.label_APP }}' # This is what I wanted to capture
teamname: '{{ $labels.label_TEAM }}' # This is what I wanted to capture
annotations:
summary: 'Pod: {{ $labels.pod }} is down'
description: 'Pod: {{ $labels.pod }} is down in {{ $labels.namespace }} namespace.'
我的各种docker容器导出prometheus度量,但是我们的prometheus安装只需要从一个endpoint提取所有度量。不幸的是,这是无法改变的。因此,我需要在一个点上聚合所有度量,从普罗米修斯安装可以刮取度量。 此外,如果这个程序或脚本能够提供关于如何处理由不同endpoint导出的相同度量的额外逻辑,那就太好了。例如,如果我只是将不同的度量站点连接在一起,Prometheus在解释度
对于和我们希望使用千分尺应用程序监控,因此包括: 并创建一个具有以下restendpoint的控制器: 因此,我们得到了endpoint,它只等待两秒钟,我们得到了endpoint,它返回了ITME的列表。 Bot请求工作。唯一的区别是,对于endpoint,我得到的是prometheus度量,而对于endpoint,我没有得到任何度量: 对于返回或仍不受支持的请求,是否必须配置其他内容才能使其工
我有以下计数器指标 如何计算最近2分钟内活动设备的数量,即2(设备id 3和4)?
我正在建立一个监控PoC以备将来的需要。PoC是在我的电脑上本地开发的。我使用普罗米修斯和格拉法纳来监视度量。我想统计一下收到的文件数量和处理文件所花费的时间。为此,我需要创建自定义度量。 我使用的是Python2.7.5。现在我已经把普罗米修斯和目标联系起来了。我收到度量标准,但不知道如何创建我想要的度量标准。 我希望收到的文件和“计数收到的文件数”度量。处理一个文件所花费的时间(即2s)和处理
我正在尝试将时间度量添加到我的spring-boot web应用程序中。现在,应用程序使用千分尺、普罗米修斯和Spring引导执行器。 我可以通过http://localhost:8080/acturet/prometheus连接到我的应用程序,并查看默认度量的列表,如: 但至少这让我得到了我想要的结果: 有没有更干净的方法?