详解Prometheus自动发现之file_sd_config

Prometheus提供了自动发现的功能,对于开源组件,我们选择基于文件的自动发现,即,实现方式如下:

1. prometheus.yml配置

修改prometheus.yml文件,添加自动发现文件信息,具体如下:

scrape_configs:
  - job_name: 'file_ds'   #此处定义了自动发现的采集任务名称,可以依据自己的业务定义多个自动发现任务
    file_sd_configs:
      - files:
        - targets/*.json         #采集文件路径
        refresh_interval: 5m #自动发现间隔时间,默认5m

2.配置自动发现文件target.json

target.json文件包含的项与prometheus.yml的配置文件中job_name.static_configs的项一致,用户可以为每组targets加labels,便于告警分组、告警抑制时使用,示例如下:

[
   {
      "targets": [
         "172.16.0.96:19100"
      ],
      "labels": {
         "project_name": "项目测试20200413",
         "env_name": "开发环境",
         "soft_name": "测试应用20200413",
         "template_name": "测试模板20200413",
         "template_type": "主机模板"
      }
   },
 {
      "targets": [
         "172.16.0.96:30013",
         "172.16.0.96:30015"
      ],
      "labels": {
         "project_name": "项目测试20200413",
         "env_name": "开发环境",
         "soft_name": "测试应用20200413",
         "template_name": "测试模板20200413",
         "template_type": "主机模板"
      }
   },
{
      "metrics_path": "/_prometheus/metrics",
      "targets": [
         "172.16.0.96:9200"
      ],
      "labels": {
         "project_name": "项目测试20200413",
         "env_name": "开发环境",
         "soft_name": "测试应用20200413",
         "template_name": "测试模板20200413",
         "template_type": "主机模板"
      }
   }
]

你可能感兴趣的:(#,Prometheus系列,Prometheus,监控,自动发现)