从普罗米修斯抓取中排除 Kubernetes 命名空间
Posted
技术标签:
【中文标题】从普罗米修斯抓取中排除 Kubernetes 命名空间【英文标题】:Exclude Kubernetes namespaces from prometheus scraping 【发布时间】:2021-12-11 08:48:55 【问题描述】:我已经使用社区 helm chart 部署了 Prometheus,并希望从特定命名空间中抓取指标并从所有其他命名空间中删除指标。我使用了下面的抓取配置,但它似乎不起作用。还尝试使用 Drop 操作。
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: keep
source_labels: [__meta_kubernetes_namespace]
target_label: accounts
【问题讨论】:
您需要使用regex: accounts
而不是target_label: accounts
才能使keep
操作起作用。
这能回答你的问题吗? Monitor only one namespace metrics - Prometheus with Kubernetes
【参考方案1】:
试试这个:
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- my-namespace-to-monitor
【讨论】:
用上面的配置试过了,还是一样的问题。【参考方案2】:我发现了这样的东西:https://www.robustperception.io/dropping-metrics-at-scrape-time-with-prometheus
所以我会尝试将帖子中的示例更改为这样的:
scrape_configs:
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: node
metric_relabel_configs:
- source_labels: [ __meta_kubernetes_namespace ]
regex: 'accounts'
action: drop
【讨论】:
以上是关于从普罗米修斯抓取中排除 Kubernetes 命名空间的主要内容,如果未能解决你的问题,请参考以下文章
我如何在普罗米修斯(kubernetes 监控)中获取(当前)已建立的 TCP 连接数