【问题标题】:Remove default vars from custom K8s prometheus exporter从自定义 K8s prometheus 导出器中删除默认变量
【发布时间】:2020-12-10 04:06:36
【问题描述】:

我开始使用自定义导出器(使用 kubernetes、grafana 和 prometheus),但遇到了问题。我设法正确地公开了我的指标,但每次我杀死发送它们的 pod 时,vars 都会改变,grafana 会绘制不同的颜色(比如新信息)。

有没有办法只将应用程序保留为 var,我认为问题在于改变的 vars(pod 名称和 ip)?

MyMetric{app="prometheus-export-mymetric",instance="172.26.32.69:3000",job="kubernetes-pods",kubernetes_namespace="default",kubernetes_pod_name="prometheus-export-mymetric-66694564b8-r4pqc",pod_template_hash="66694564b8"}

提前致谢。

【问题讨论】:

标签: kubernetes prometheus grafana prometheus-node-exporter


【解决方案1】:

您应该使用重新部署后保持不变的 pod 标签,而不是 kubernetes_pod_name。

在 prometheus 配置中,我们使用的是这样的:

 - job_name: kubernetes-pods
  honor_timestamps: true
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
    separator: ;
    regex: "true"
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
    separator: ;
    regex: (.+)
    target_label: __metrics_path__
    replacement: $1
    action: replace
  - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
    separator: ;
    regex: ([^:]+)(?::\d+)?;(\d+)
    target_label: __address__
    replacement: $1:$2
    action: replace
  - separator: ;
    regex: __meta_kubernetes_pod_label_(.+)
    replacement: $1
    action: labelmap
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: kubernetes_namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: kubernetes_pod_name
    replacement: $1
    action: replace

【讨论】:

    猜你喜欢
    • 2019-01-02
    • 1970-01-01
    • 2020-12-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    相关资源
    最近更新 更多