prometheus多个配置文件,prometheus文件发现

prometheus配置文件动态管理

由于Prometheus是“拉”的方式主动监测,所以需要在server端指定被监控节点的列表。当被监控的节点增多之后,每次增加节点都需要更改配置文件,非常麻烦,我这里用consul-template+consul动态生成配置文件,这种方式同样适用于其他需要频繁更改配置文件的服务。另外一种解决方案是etcd+confd,基本现在主流的动态配置系统分这两大阵营。consul-template的定位和confd差不多,不过它是consul自家推出的模板系统。

1.普通实现方法

先看下普通配置下Prometheus的配置文件样例:

- job_name: 'node-exporter'
static_configs:
- targets: ['10.167.202.10:9100']
labels:
hostname: 'web1'

- targets: ['10.167.202.11:9100']
labels:
hostname: 'web2'
- targets: ['10.167.202.12:9100']
labels:
hostname: 'web3'

 

2. file_sd_config实现方法

每次新加监控节点的时候,只需要添加一个新的targets即可,“hostname”是我自定义的一个label标签,方便区分。

当targets的数量达到几百上千之后,就产生一个问题,配置文件看起来就会特别冗余。

所以有经验的运维人就会想到用include的方式,把其他的配置文件包含进来,这样就把一个大而冗余的主配置文件,切分成一个个小的配置文件。

Prometheus这里用的方法就是基于文件的服务发现--"file_sd_config"。我这里在prometheus下面新建了一个conf.d的目录,包含两个子配置文件,分别监控不同系统的机器,linux和windows的机器:

在prometheus.yml中加入如下的配置

  - job_name: 'linuxnode-discorvery'
    file_sd_configs:
      - files:
        - /apps/prometheus/conf.d/linuxnode-discovery.json

  - job_name: 'windowsnode-discorvery'
    file_sd_configs:
      - files:
        - /apps/prometheus/conf.d/windowsnode-discovery.json

 

详细参考:

  - job_name: 'test_1_mssql'
    file_sd_configs:
      - files:
        - config/prometheus_1.yml
        - config/prometheus_2.yml
        refresh_interval:  60s

  - job_name: 'test_1_windows'
    file_sd_configs:
      - files:
        - config/prometheus_3.yml
        refresh_interval:  60s

refresh_interval:  60s这个参数是控制间隔刷新实例的配置文件的;

所以如果修改了 config/prometheus_1.yml  ,那么下一个刷新间隔(60)后,会自动加载进入 prometheus

 

file_sd_config参考样例

子配置文件可以是YAML或JSON格式,我这里用的JSON格式,示例如下:

cat conf.d/lnode-discovery.json
[
{
"targets": ["10.167.202.235:9100"],
"labels": {
"hostname": "test-01"
}
},

{
"targets": ["10.167.202.199:9100"],
"labels": {
"hostname": "test-02"
}
}
]

详细参考:

    - targets: ['192.168.191.73:9001']
      labels:
        name: 'YJ-DEV-SQLAG-2'
        sourcetype: MsSql

 

启动服务后,如下:

 
  
 
 
  
 

以后添加节点,编辑对应的json文件即可,不用重启服务。

 

转自:https://blog.csdn.net/jj1130050965/article/details/121453290

posted @ 2022-08-09 17:22  郭大侠1  阅读(1943)  评论(0编辑  收藏  举报