Prometheus 联邦集群

网友投稿 1075 2022-11-30

Prometheus 联邦集群

Prometheus 联邦集群

联邦集群

假设有三组项目,A组项目是web,B组项目是数据库,C组项目是业务,可以在每一组项目下部署一个prometheus server实例,然后由一个中心prometheus server负责收集各个组下的监控数据,具有这种特性的称为prometheus联邦集群。

联邦集群配置

monitor namespace下面的prometheus server当成是中心节点:

[root@master ~]# kubectl get pod -n monitorNAME READY STATUS RESTARTS AGEprometheus-server-5775f99578-mc7fw 1/1 Running 0 6m18s

monitoring namespace当成是各项目组下收集数据的prometheus server

[root@master ~]# kubectl get pod -n monitoringNAME READY STATUS RESTARTS AGEalertmanager-inst-0 2/2 Running 8 5d6halertmanager-inst-1 2/2 Running 8 5d6hprometheus-k8s-0 3/3 Running 21 15dprometheus-operator-7d6496d74b-vrjcj 1/1 Running 11 19d

修改monitor namespace的prometheus server的prometheus.yml文件

- job_name: 'federate' honor_labels: true metrics_path: '/federate' params: 'match[]': - '{job="example-app"}' - '{__name__=~"job:.*"}' - '{__name__=~"node.*"}' static_configs: - targets: - '192.168.100.5:30372'

参数解释:

通过params参数可以用于指定只获取某些时间序列的样本数据,如下:

通过URL中的match[]参数指定我们可以指定需要获取的时间序列。match[]参数必须是一个瞬时向量选择器,例如up或者{job="api-server"}。配置多个match[]参数,用于获取多组时间序列的监控数据。

horbor_labels配置true可以确保当采集到的监控指标冲突时,能够自动忽略冲突的监控数据。如果为false时,prometheus会自动将冲突的标签替换为”exported_“的形式。

在任何给定的Prometheus服务器上,/ federate端点都可以为该服务器中选定的时间序列集检索当前值。 必须至少指定一个match [] URL参数以选择要公开的系列。 每个match []参数都需要指定一个即时矢量选择器,例如up或{job =“ api-server”}。 如果提供了多个match []参数,则将选择所有匹配系列的并集。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot之groups应对不同的Validation规则自定义方式
下一篇:Prometheus 监控 mysql
相关文章

 发表评论

暂时没有评论,来抢沙发吧~