欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

详解Prometheus自动发现之file_sd_config

程序员文章站 2022-06-04 19:48:55
...

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

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": "主机模板"
      }
   }
]