第一节中,我们已经能够添加node_exporter节点作为被监控主机,步骤是在被监控主机上运行node_exporter,然后修改监控主机上prometheus的配置文件,之后重启prometheus服务。
这种方式如果添加新的监控节点,就要重新修改配置文件并重启服务,很不稳定。
现在改为基于文件的自动发现,prometheus每隔几分钟重新读取记录监控主机的列表文件,这样只需修改记录被监控主机的配置文件,无需重新启动prometheus服务
添加记录被监控主机的配置文件
mkdir /usr/local/prometheus/targets vi /usr/local/prometheus/targets/nodes-linux.yml
- targets: - 192.168.137.145:9100 - 192.168.137.146:9100 labels: app: node-exporter job: node
把Prometheus发现方式改为基于文件的自动发现
vi /usr/local/prometheus/prometheus.yml
scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] # new join node_exporter - job_name: 'nodes' file_sd_configs: - files: - targets/nodes-*.yml refresh_interval: 2m
重启服务,添加新的节点,然后在web界面查看新节点是否加入成功。