天天看點

Prometheus監控運維實戰六: Node_exporter監控主機

前面我們學習了prometheus的基礎概念,包括資料格式 、promql文法等,本節我們将學習如何通過prometheus監控主機 。

prometheus使用各種exporter來監控資源,exporter可以看成是監控的agent端,它負責收集對應資源的名額,并提供接口給到prometheus讀取。不同的資源對應不同的exporter,如node-exporeter、mysql-exporter、kafka-exporter等,而在這其中最常用的當屬node_exporter,它主要用來監控主機的性能參數。node-exporter使用go語言編寫,可用于收集各種主機名額的庫,還提供了textfile功能,可用于自定義名額。

下載下傳安裝包并解壓

啟動 node exporter

檢視伺服器,可看到端口已啟動(預設端口9100)

官方不建議通過docekr方式部署node-exporter,因為它需要通路主機系統。通過docker部署的方式,需要把任何非根安裝點都綁定到容器中,并通過--path.rootfs參數指定。 

拉取鏡像

啟動容器

部署完成後,通路節點位址:http://ip:9100/metrics ,可看到node-exporter擷取的名額。

Prometheus監控運維實戰六: Node_exporter監控主機

node-exporter提供不少配置參數,可使用 --help 進行檢視。

示例:可以通過--web.listen-address 改變監聽的端口

如果需要收集主機上面運作服務的狀态,可啟用systemd收集器。由于systemd名額較多,可以用--collector.systemd.unit-include參數配置隻收集指定的服務,減少無用資料,該參數支援正規表達式比對。

如docker和ssh服務狀态,

示例:

如果隻想啟用需要的收集器,其他的全部禁用,可用如下格式配置

textfile是一個特定的收集器,它的功能非常有用,textfile允許我們暴露自定義的名額。這些名額或者是沒有相關的exporter可以使用,或者是你自己開發的應用名額。

textfile通過掃描指定目錄中的檔案,提取所有符合prometheus資料格式的字元串,然後暴露它們給到prometheus進行抓取。

建立名額檔案儲存目錄 

寫入名額檔案,此處我們用手動方式寫入

啟用textfile

通路node-exporter的位址,可看到名額已生效

Prometheus監控運維實戰六: Node_exporter監控主機

在prometheus配置關于node-exporter節點的target,即可抓取相關節點名額資料。

執行個體抓取正常

Prometheus監控運維實戰六: Node_exporter監控主機

在表達式浏覽器中搜尋 {job="node-exporter",instance="localhost:9100"},可看到相關名額已被收集到prometheus。

Prometheus監控運維實戰六: Node_exporter監控主機

繼續閱讀