我正试图加强我的监控,并希望扩大从我们的库贝庄园吸引到普罗米修斯的数量。我们已经有了一个独立的Prom实现,它有一个硬编码的配置文件监视一些裸金属服务器,并连接到cadvisor度量标准。
我想要做的是配置Kube,以监视部署在集群中的are服务器的apache_exporter指标,但也可以在实例被放大时动态添加第2、第3等are服务器。
我看过项目,但这似乎更适合于没有已建立的Prometheus部署的实例。是否有一种简单的方法可以让普罗米修斯刮掉Kube或etcd,以获取符合特定标准(如deploymentType=webserver这样的标记)的当前豆荚列表,并为这些豆荚刮取apache_exporter指标,并在其中刮除deploymentType=mysql的mysqld_exporter指标
发布于 2020-10-08 19:31:27
有一个名为kube-prometheus-stack (以前的prometheus-operator)的项目:https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
它有称为ServiceMonitor和PodMonitor的概念
基本上,这是一个选择器,它将Prometheus实例指向刮取目标。在服务选择器的情况下,它会发现服务背后的所有豆荚。在豆荚选择器的情况下,它直接发现豆荚。在这两种情况下,Prometheus都会被自动更新和重新加载。
示例PodMonitor
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实例(比如Infra和Product),您可以分离哪个Prometheus将获得哪个Pods到它的刮取配置中。
同样的情况也适用于ServiceMonitor。
https://stackoverflow.com/questions/63991541
复制相似问题