0
点赞
收藏
分享

微信扫一扫

Prometheus 联邦集群


联邦集群

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

 

 

联邦集群配置

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

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

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

[root@master ~]# kubectl get pod -n monitoring
NAME READY STATUS RESTARTS AGE
alertmanager-inst-0 2/2 Running 8 5d6h
alertmanager-inst-1 2/2 Running 8 5d6h
prometheus-k8s-0 3/3 Running 21 15d
prometheus-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'

Prometheus 联邦集群_开发语言

Prometheus 联邦集群_后端_02

Prometheus 联邦集群_数据_03

 参数解释:

通过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 []参数,则将选择所有匹配系列的并集。

举报

相关推荐

0 条评论