首页 > 解决方案 > Kubernetes 更改 __meta_kubernetes_namespace

问题描述

我正在尝试监视我的集群 Kubernetes,并且我正在使用 prometheus 来获取所有信息。

它运行良好,但我需要监视一些特定的工作人员,并且我需要使用 __meta_kubernetes_namespace 对其进行标记,但找不到任何参考解释如何在 kubnernetes 环境中更改它。

请帮我解决它,

谢谢你。

标签: kubernetesrename

解决方案


您需要为Prometheus编写自己的抓取配置

这是 istio envoy 代理统计的部分片段,您应该根据要监控的资源以及在哪里寻找它们来编写自己的:

    - job_name: 'envoy-stats'
      metrics_path: /stats/prometheus
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_container_port_name]
        action: keep
        regex: '.*-envoy-prom'
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: pod_name
      metric_relabel_configs:
      # Exclude some of the envoy metrics that have massive cardinality
      # This list may need to be pruned further moving forward, as informed
      # by performance and scalability testing.
      - source_labels: [ __name__ ]
        regex: 'envoy_http_(stats|admin).*'
        action: drop
      - source_labels: [ __name__ ]
        regex: 'envoy_cluster_(lb|retry|bind|internal|max|original).*'
        action: drop

也请复习普罗米修斯的第一步,因为这将有助于普罗米修斯的工作。


推荐阅读