#基于文件的服务发现
----------------------------------------------
#启用基于文件的服务发现
#以下都在服务端配置
vim /opt/monitor/prometheus/prometheus.yml
scrape_configs:
- job_name: 'test'
basic_auth:
username: prometheus
password: 123.com
file_sd_configs:
- files: ['/opt/monitor/prometheus/sd_config/*.yml']
refresh_interval: 5s # 每隔5秒检查一次
---------------------------------------------------
#配置完成后,使用promtool工具检查配置文件是否有误
cd /opt/monitor/prometheus
./promtool check config ./prometheus.yml
#查看prometheus的进程id,上面修改配置进行热加载配置
ps -ef |grep prometheus
kill -HUP 62291
------------------------------------------------------------
#添加被监控端:
mkdir /opt/monitor/prometheus/sd_config
cd /opt/monitor/prometheus/sd_config/
#定期检查该文件,自动将文件中的主机加入监控指标
vi test.yml
- targets: ['192.168.1.13:9100']

#基于consul的服务发现
#Consul是一个分布式的服务发现和键/值存储系统。
#Docker部署Consul:(任意机器部署,只要prometheus和被监控端能够和consul通信即可
docker run --name consul -d -p 8500:8500 consul
------------------------------------------------------------------
#被监控端配置
#向consul服务注册自己的IP,端口信息,prometheus会自动的监控这些主机
id:consul里面的一个实例
name:consul里面的一个组名
address和port:自己的IP和端口
tags:consul里面的标签
checks:consul的健康检查
最后是consul的注册地址
curl -X PUT -d '{"id": "Linux-2","name": "Linux","address": "192.168.0.13","port":9100,"tags":["service"],"checks": [{"http": "http://192.168.0.13:9100","interval":"5s"}]}' http://192.168.0.11:8500/v1/agent/service/register
--------------------------------------------------------------------
#服务端配置
vim /opt/monitor/prometheus/prometheus.yml
scrape_configs:
- job_name: 'consul'
consul_sd_configs:
- server: 192.168.0.11:8500 #consul地址及端口
services: ['linux'] #组名
----------------------------------------------------------------
#配置完成后,使用promtool工具检查配置文件是否有误
cd /opt/monitor/prometheus
./promtool check config ./prometheus.yml
#查看prometheus的进程id,上面修改配置进行热加载配置
ps -ef |grep prometheus
kill -HUP 62291