Prometheus基于文件的服务发现是一种简单且可靠的自动化发现方式,它通过读取指定目录下的特定格式文件,来获取需要监控的目标列表信息。
1.在被监控端安装node_exporter
根据已有的环境,配置基本文件的服务发现。
找一台空置的服务器安装node_exporter
部署方法:Prometheus部署第二步骤
- 看到这里说明node_exporter部署成功
- 完成安装的步骤之后,接下来将完成服务发现的步骤
2.创建基于文件的服务发现
- 添加json格式文件(yaml格式也可以)(此步骤在服务端操作)
- 需要在prometheus的安装目录创建,目录名随意
[root@localhost ~]# cd /data/prometheus [root@localhost prometheus]# mkdir targets [root@localhost prometheus]# vim targets/dev_node.json
dev_node.json
文件内容如下:(如果有多个要监控项,就在[]框中在创建一个以下内容块)
[ { "targets": [ "192.168.10.4:9100" ], "labels": { "env": "pord" "job": "node_exporter" } } ]
- 修改Prometheus配置文件,在
scrape_configs:
下添加
- job_name: "file_ds" file_sd_configs: - files: - targets/*.json
- 重启Prometheus服务(注意仅第一次配置需要重启,以后再次修改json文件会自动识别)
[root@localhost prometheus]# systemctl restart prometheus.service
网页登录prometheus查看,如果有了说明部署成功
通过grafana仪表盘查看
- 此部分内容到此结束
3.补充:如果用yaml文件的 yaml格式
- targets: - "192.168.10.4:9100" labels: env: pord job: node_exporter
废话文学
Prometheus基于文件的服务发现是一种简单且可靠的自动化发现方式,它通过读取指定目录下的特定格式文件,来获取需要监控的目标列表信息。具体步骤如下:
- 在Prometheus配置文件中指定文件地址:
scrape_configs: - job_name: 'myjob' file_sd_configs: - files: - '/path/to/targets/*.json'
- 在指定目录下创建以.json为后缀的文件,文件内容为需要监控的目标列表信息,例如:
[ { "targets": ["example.com:8080", "example.net:8080"], "labels": {"group": "example"} } ]
- Prometheus会定期读取指定目录下的所有符合条件的.json文件,并解析其中的目标列表信息,将其添加到监控目标列表中。
使用基于文件的服务发现方法可以避免手动添加或删除监控目标的麻烦,同时也可以方便地进行批量操作。但需要注意的是,这种方法不适用于动态变化的服务发现场景。