普罗米修斯+;Kubernetes度量来自错误的刮削作业
我通过使用图表的默认值(包括图表的默认值)部署了prometheus服务器(+kube state metrics+节点导出器+alertmanager)。问题是,我期望某些指标来自于某个特定的工作,而不是来自另一个工作 例如,普罗米修斯+;Kubernetes度量来自错误的刮削作业,kubernetes,prometheus,Kubernetes,Prometheus,我通过使用图表的默认值(包括图表的默认值)部署了prometheus服务器(+kube state metrics+节点导出器+alertmanager)。问题是,我期望某些指标来自于某个特定的工作,而不是来自另一个工作 例如,kubernetes服务端点作业提供了node\u cpu\u seconds\u total,但我希望它来自kubernetes节点作业,即节点导出器。返回的度量值是准确的,但问题是我没有通常来自kubernetes节点的标签(由于kubernetes节点作业对kube
kubernetes服务端点
作业提供了node\u cpu\u seconds\u total
,但我希望它来自kubernetes节点
作业,即节点导出器
。返回的度量值是准确的,但问题是我没有通常来自kubernetes节点的标签
(由于kubernetes节点
作业对kubernetes服务端点
具有role:node
vsrole:endpoint
。我需要这些缺少的标签用于高级查询+仪表板
节点cpu秒数总计{mode=“idle”}的输出:
node_cpu_seconds_total{app=“prometheus”,chart=“prometheus-7.0.2”,component=“node exporter”,cpu=“0”,heritage=“Tiller”,instance=“10.80.20.46:9100”,job=“kubernetes service endpoints”,kubernetes_name=“get prometheus node exporter”,kubernetes_namespace=“default”,mode=“idle”,release=“get prometheus”}423673.44
node_cpu_seconds_total{app=“prometheus”,chart=“prometheus-7.0.2”,component=“node exporter”,cpu=“0”,heritage=“Tiller”,instance=“10.80.20.52:9100”,job=“kubernetes service endpoints”,kubernetes_name=“get prometheus node exporter”,kubernetes_namespace=“default”,mode=“idle”,release=“get prometheus”}417097.16
日志中没有错误,我确实有其他kubernetes节点
度量,例如up
和storage\u operation\u errors\u total
因此节点导出器
正在被删除
我还手动验证了node exporter
具有此特定度量,node\u cpu\u seconds\u total
,具有curl:9100/metrics | grep node\u cpu
,并且它具有结果
作业顺序定义是否重要?如果一个作业具有相同的名称,是否会覆盖另一个作业的指标?我是否应该删除
kubernetes服务终结点作业的指标?我是普罗米修斯的新手,因此非常感谢任何详细的帮助。从scrape配置中,kubernetes节点作业探测https://kubernetes.default.svc:443/api/v1/nodes/${node_name}/proxy/metrics
,而kubernetes service endpoints作业使用定义的prometheus.io/scrap:true
探测这些服务的每个端点,其中包括节点导出器。因此,在您的配置中,节点cpu秒数的总度量肯定来自kubernetes service endpoints作业。我能够找到如何添加导航到prometheus service discovery status UI页面可显示“丢失”标签。此页面显示可通过relabel_configs处理和保留的所有“已发现标签”。处理/保留的内容显示在“目标标签”下的“已发现标签”旁边"因此,接下来只需修改scrape_configs
中的kubernetes服务端点
作业配置,我就添加了更多的taget标签。下面就是我在图表的scrape_configs
中所做的更改。通过这个新配置,我获得了名称空间
,服务
,pod
,以及节点de>添加到所有指标中,如果该指标尚未包含它们(请参见荣誉标签
)
- job_name: 'kubernetes-service-endpoints'
+ honor_labels: true
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: __scheme__
regex: (https?)
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
action: replace
target_label: __address__
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
- target_label: kubernetes_namespace
+ target_label: namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
- target_label: kubernetes_name
+ target_label: service
+ - source_labels: [__meta_kubernetes_pod_name]
+ action: replace
+ target_label: pod
+ - source_labels: [__meta_kubernetes_pod_node_name]
+ action: replace
+ target_label: node