(七)Prometheus 自動發現主機

通過上一篇[(六)Prometheus 監控 apache 服務 的學習,我們已經對 prometheus 做了一個傳統服務的監控,本篇詳細講解 Prometheus 自動發現主機並添加。

準備環境

# 這裏使用的是(四)Prometheus + Grafana 可視化 完成時的環境
centos 7
prometheus 運行正常
grafana 運行正常

[root@fp-21 ~]# getenforce
Permissive

[root@fp-21 ~]# ss -lntp |grep prometheus
LISTEN     0      128         :::9090                    :::*                   users:(("prometheus",pid=10531,fd=6))

[root@fp-21 ~]# ss -lntp |grep grafana
LISTEN     0      128    10.0.0.21:3000                     *:*                   users:(("grafana-server",pid=10690,fd=7))

新開一臺服務器,做客戶端

# 關閉防火牆
[root@fp-22 ~]# systemctl stop firewalld.service 

# 修改 selinux 爲警告模式
[root@fp-22 ~]# setenforce 0

# 時間同步
[root@fp-22 ~]# ntpdate ntp.aliyun.com
31 Mar 22:16:56 ntpdate[1872]: step time server 203.107.6.88 offset -43199.490573 sec

安裝 node_exporter 收集數據,點擊下載

# 本地上傳或下載
[root@fp-22 ~]# cd /opt/ ; mkdir node_exporter ; cd node_exporter
[root@fp-22 node_exporter]# ls
node_exporter-0.18.1.linux-amd64.tar.gz

解壓

[root@fp-22 node_exporter]# tar xf node_exporter-0.18.1.linux-amd64.tar.gz 
[root@fp-22 node_exporter]# ls
node_exporter-0.18.1.linux-amd64  node_exporter-0.18.1.linux-amd64.tar.gz
[root@fp-22 node_exporter]# mv node_exporter-0.18.1.linux-amd64 /usr/local/node_exporter
[root@fp-22 node_exporter]# cd !$
cd /usr/local/node_exporter
[root@fp-22 node_exporter]# cp node_exporter /usr/local/bin
[root@fp-22 node_exporter]# node_exporter 

添加至開機自啓

# 添加爲系統服務
[root@fp-22 node_exporter]# vim /usr/lib/systemd/system/node_exporter.service

[Unit]
Description=node_exporter
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

# 重新加載
[root@fp-22 node_exporter]# systemctl daemon-reload

# 添加至開機自啓
[root@fp-22 node_exporter]# systemctl enable node_exporter.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.

# 啓動服務
[root@fp-22 node_exporter]# systemctl start node_exporter.service 

# 查看進程
[root@fp-22 node_exporter]# ps -ef |grep node_exporter
root      13952      1  1 21:29 ?        00:00:00 /usr/local/node_exporter/node_exporter
root      13956   1799  0 21:29 pts/0    00:00:00 grep --color=auto node_exporter

# 查看端口
[root@fp-22 node_exporter]# ss -lntp |grep node_exporter
LISTEN     0      128       [::]:9100                  [::]:*                   users:(("node_exporter",pid=13952,fd=3))

服務端添加配置文件

[root@fp-21 ~]# mkdir -p /usr/local/prometheus/target/{node,docker}
[root@fp-21 ~]# vim /usr/local/prometheus/target/node/host_status.json

[
        {
                "targets": [ "10.0.0.22:9100" ],
                "labels": {
                  "job": "node2-status",
                  "service": "node2"
                }
        }
]

修改 Prometheus 配置文件

[root@fp-21 ~]# vim /usr/local/prometheus/conf/prometheus.yml
 39   - job_name: 'host-status'
 40     file_sd_configs:
 41     - files:
 42       - "/usr/local/prometheus/target/node/host_status.json"
 43       refresh_interval: 6s

重啓 Prometheus

第一次引用,所以定義完成之後,需要重啓一下,如果後續再添加節點,則直接寫入json文件即可,無需重啓Prometheus服務

[root@fp-21 ~]# systemctl restart prometheus.service

查看 Prometheus 監控

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9ZsIQAEs-1585665153737)(E:\知識點總結\Prometheus\assets\prometheus_31.png)]

查看 Grafana 的數據

在這裏插入圖片描述

只有注入思想的博客纔是好的博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章