熱門搜索 Zabbix技術資料 Zabbix常見問、答討論 成功案例 Zabbix交流區 Prometheus交流區
這一期主要來跟大家聊一下,使用node_exporter工具來暴露主機和因公程序上的指標,利用prometheus來監控宿主機;以及通過通過Cadvisor監控docker容器。
# 1 下載軟件包
wget http://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
# 創建node exporter運行目錄
mkdir -p /usr/local/node_exporter
tar -xf node_exporter-1.4.0.linux-amd64.tar.gz
cd node_exporter-1.4.0.linux-amd64 && mv ./* /usr/local/node_exporter
#驗證
./node_exporter --version
./node_expoter –help
#默認運行端口
–web.listen-address=”:9100″
# 暴露指標的路徑
–web.telemetry-path=”/metrics”
#注意:通過配置參數,可以決定啟用哪些收集器。
#啟動node_exporter,可以指定參數進行覆蓋
nohup ./node_exporter –web.listen-address=”:9600″
–web.telemetry-path=”/metrics” &
#查看是否啟動完成 ps -ef | grep node_exporter
說明: textfile收集器允許我們暴露自定義指標,這些自定義指標可能是批處理或cron作業無法抓取的,或者是沒有可用的exporter
原理:收集器通過掃描指定目錄中的問津,提取所有格式為prometheus指標的字符串,然后暴露他們以便被prometheus sever抓取
1) 創建收集器目錄
mkdir /usr/local/node_exporter/textfile_collector
2) 創建新指標,注意指標在以.prom結尾的文件內定義
echo ‘metadata{role=”docker”,data_center=”ShangHai”} 2’ >metadata.prom
3) 啟動textfile收集器
textfile收集器不需要配置參數,默認就會被加載,我們在啟動node_exporter的時候,指定textfile收集器的目錄即可
參數:
collector.textfile.directory
啟動
nohup ./node_exporter –web.listen-address=”:9600″ –web.telemetry-path=”/metrics” –collector.textfile.directory=”/usr/local/node_exporter/textfile_collector” &
說明: systemd收集器記錄了systemd管理的服務,通過–collector.systemd.unit-whitelist參數指定需要收集的服務,按需收集
啟動:
nohup ./node_exporter –web.listen-address=”:9600″ –web.telemetry-path=”/metrics” –collector.textfile.directory=”/usr/local/node_exporter/textfile_collector” –collector.systemd –collector.systemd.unit-whitelist=”(docker|sshd|rsyslog).service” &
配置prometheus對node_exporter進行指標采集
? – job_name: “node_exporter”
? ? static_configs:
? ? ? – targets: [“192.168.161.118:9600”]? ? ? ? #這個端口盡量使用默認端口9100,方便辨認
docker run
-v /:/rootfs:ro
-v /var/run:/var/run/:rw
-v /sys:/sys:ro
-v /dev/disk:/dev/disk:ro
-v /home/docker:/var/lib/docker:ro
-p 8080:8080
–detach=true –name=cadvisor –net=host google/cadvisor
#注意:/home/docker為實際部署的docker數據目錄,默認應該為/var/lib/docker
?驗證:
?查看指標:
http://192.168.161.118:8080/metrics
配置prometheus server抓取CAdvisor
配置prometheus.yml配置文件
熱重啟prometheus
#prometheus server啟動開啟熱更新配置
參數:–web.enable-lifecycle
nohup ./prometheus –web.enable-lifecycle –config.file=prometheus.yml &
#熱重啟prometheus
curl -X POST http://192.168.161.118:9090/-/reload
查看prometheus 的targets,即可發現,docker容器監控完成,到此本期的分享就結束了,更多關于prometheus的干貨分享,可以持續關注尊龍時凱社區,或者尊龍時凱官網的prometheus技術分享專欄。
尊龍時凱對主機、網絡、存儲、數據庫、中間件、應用、硬件、虛擬化、攝像頭及其他數據感知設備等實現一站式監控,保障業務高效穩定的運行。
View details