首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更新基于pod标签的prometheus scrape配置

动态更新基于pod标签的prometheus scrape配置
EN

Stack Overflow用户
提问于 2020-09-21 11:40:32
回答 1查看 2.7K关注 0票数 2

我正试图加强我的监控,并希望扩大从我们的库贝庄园吸引到普罗米修斯的数量。我们已经有了一个独立的Prom实现,它有一个硬编码的配置文件监视一些裸金属服务器,并连接到cadvisor度量标准。

我想要做的是配置Kube,以监视部署在集群中的are服务器的apache_exporter指标,但也可以在实例被放大时动态添加第2、第3等are服务器。

我看过项目,但这似乎更适合于没有已建立的Prometheus部署的实例。是否有一种简单的方法可以让普罗米修斯刮掉Kube或etcd,以获取符合特定标准(如deploymentType=webserver这样的标记)的当前豆荚列表,并为这些豆荚刮取apache_exporter指标,并在其中刮除deploymentType=mysql的mysqld_exporter指标

EN

回答 1

Stack Overflow用户

发布于 2020-10-08 19:31:27

有一个名为kube-prometheus-stack (以前的prometheus-operator)的项目:https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack

它有称为ServiceMonitorPodMonitor的概念

基本上,这是一个选择器,它将Prometheus实例指向刮取目标。在服务选择器的情况下,它会发现服务背后的所有豆荚。在豆荚选择器的情况下,它直接发现豆荚。在这两种情况下,Prometheus都会被自动更新和重新加载。

示例PodMonitor

代码语言:javascript
复制
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: example
  namespace: monitoring
spec:
  podMetricsEndpoints:
  - interval: 30s
    path: /metrics
    port: http
  namespaceSelector:
    matchNames:
    - app
  selector:
    matchLabels:
      app.kubernetes.io/name: my-app

注意,这个PodMonitor对象本身必须由控制器来发现。要实现这一点,您需要编写一个PodMonitorSelector(链接)。这个额外的显式链接是有意完成的-这样,如果集群中有2个Prometheus实例(比如InfraProduct),您可以分离哪个Prometheus将获得哪个Pods到它的刮取配置中。

同样的情况也适用于ServiceMonitor

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63991541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档