②自动发现并修改为系统服务

第一节中,我们已经能够添加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界面查看新节点是否加入成功。

上一篇:【分享】让prometheus支持PUSH模式,可以使用remote write协议推送数据


下一篇:Kubernetes运维之使用Prometheus全方位监控K8S