如何全方位監控Linux系統狀況

作為linux系統運維人員,需要實時掌握linux系統的運行負載,網絡狀態,磁盤,內存使用情況。所以作為開源監控警報系統prometheus, 官方自然給大家提供了這樣一套工具,可以監控多個服務器的實時運行狀況,以及實時警告。

Prometheus提供了node_exporter給廣大運維人員使用,這是一個相當強大,且統計全面的工具。https://github.com/prometheus/node_exporter, 這個是node_exporter的github地址。

啟動node_exporter非常簡單,官方提供了docker鏡像給我們使用,我們只需要簡單的命令就可以把node_exporter啟動起來。

$ docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter --path.rootfs /host

net指定host,表示我們啟動的container共享主機的網絡信息,可以直接訪問主機上的網絡信息。

pid指定host,container裡面可以獲取主機上的所有進程運行信息。

同時,為了瞭解文件系統的信息,需要把物理機的根目錄/掛載到docker的/host目錄,並告訴node_exporter容器,在container裡面哪個是物理機的根目錄,在這裡就是/host。

啟動之後,node_exporter默認監聽的端口是9100,這個時候我們就可以直接測試metrics是否可以拿到。

$ curl http://127.0.0.1:9100/metrics

這時候我們就會拿到node_exporter所有的metrics。

接下來,需要配置prometheus去哪裡採集node_exporter的metrics信息,添加target到prometheus裡面。

如何全方位監控Linux系統狀況

添加node exporter目標

這裡我們添加了一個新的targets用於採集node_exporter的metrics。

然後,我們需要添加官方提供node_exporter的grafana dashboard。

https://grafana.com/dashboards/1860

如何全方位監控Linux系統狀況

node_exporter dashboard

點擊右邊的Copy ID to clipboard.或者是download json文件。

如何全方位監控Linux系統狀況

導入新的dashboard

如何全方位監控Linux系統狀況

拷貝ID到表單裡

如何全方位監控Linux系統狀況

grafana自動從官網的倉庫中,下載json文件,選擇數據源。

如何全方位監控Linux系統狀況

服務運行狀況圖表

如何全方位監控Linux系統狀況

監控的層面

然後我們可以看到在grafana新建的dashboard中,會出現從各個層面拿到的實時的運行狀態的數據。後面我們就可以通過grafana的alert或是prometheus的alertmanager組件來根據設定好的閾值來發警告給運維人員。


分享到:


相關文章: