Raspberry Pi 筆記(88):在Grafana呈現普羅米修斯監控主機數據

上一篇實做如何安裝普羅米修斯來收集受監控主數據:Raspberry Pi 筆記(87):安裝普羅米修斯Prometheus監控工具,普羅米修斯在視覺化呈現的功能比較弱,而 Grafana 系統卻是以視覺化著稱,兩個系統結合在一起,可說是強強聯手。本篇要實作在樹莓派上安裝 Node Exporter,讓普羅米修斯來取得主機監控的數據,並透過 Grafana 社群上已經製作好的儀表板(Dashboard)範本,將主機監控的數據以可視化的圖表呈現。

[安裝/設定Node Exporter]

在普羅米修斯的系統中,彙整受監控主機數據的功能稱做 Exporter,不同的 Exporter 負責不同系統或軟體的數據收集功能。它們具有統一的命名格式:xxx_exporter,而負責收集並提供主機資訊的稱做 node_exporter。以下就來瞭解一下如何安裝 node_exporter,並在普羅米修斯設定定時取得受監控標的主機的數據。
先到 Github:node_exporter 取得版本號及相關資訊。在樹莓派作業系統執行以下指令取得程式。如有最新版本,可以替換以下指令的版本編號:
$ wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-armv7.tar.gz
下載檔案並解壓縮:
$ tar -xzvf node_exporter-1.1.2.linux-armv7.tar.gz 
為了方便稍後將 node_exporter 存放的目錄名稱寫在啟動的服務檔案中,先更換成簡短的目錄名稱:
$ mv node_exporter-1.1.2.linux-armv7 node_exporter
使用 nano 編輯服務啟動設定檔:
$ sudo nano /etc/systemd/system/nodeexporter.service
將以下的內容複製到檔案內,要注意存放 node_exporter 執行檔的位置跟設定檔寫內容的路徑是否一樣?
[Unit]
Description=Prometheus Node Exporter
Documentation=https://prometheus.io/docs/guides/node-exporter/
After=network-online.target

[Service]
User=pi
Restart=on-failure

ExecStart=/home/pi/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target
按下   CTRL   +    X   存檔,然後按   Y   確定後離開 nano 編輯器。

開機時如要自動執行 node_exporter,可執行以下命令:
$ sudo systemctl enable nodeexporter
執行以下指令手動啟動 node_exporter 服務:
$ sudo service nodeexporter start
執行以下指令停止服務:
$ sudo service nodeexporter stop
如果 nodeexporter 啟動正常,可用瀏覽器開啟 Port 9100,檢視 exporter 送出的資料,如下圖:
http://192.168.0.107:9100
到這裡 Exporter 已經安裝完成,等著普羅米修斯定時來取數據。我們要修改普羅米修斯設定檔 prometheus.yml,讓他定時向受監控主機的 Exporter 取資料。先變更 prometheus 檔案所在的路徑,執行以下指令進行檔案編輯:
$ cd prometheus
$ nano prometheus.yml
在檔案最後加上以下幾行 node_exporter 設定,由於我安裝 Prometheus 和 node_exporter 在同一台樹莓派,yml設定檔內用 localhost:9100 取得受監控主機數據,如果分別安裝在兩部主機,需將 localhost 改成安裝 Exporter 的主機 IP。
  - job_name: 'node_exporter'
    static_configs:
    - targets: ['localhost:9100']
修改如下圖紅色框處:


[安裝 Grafana]

先到 Grafana 官網的 Download 頁面,選擇要安裝的版本,如下圖:
選定版本後,下方有各種不同作業系統的安裝方法,如下圖紅框處:
繼續安裝 adduser 及 libfontconfig1 兩個程式:
$ sudo apt-get install -y adduser libfontconfig1
下載 Grafana 套件:
$ wget https://dl.grafana.com/oss/release/grafana-rpi_7.4.3_armhf.deb
使用 dpkg 指令安裝 grafana 套件:
$ sudo dpkg -i grafana-rpi_7.4.3_armhf.deb
安裝完成時出現以下畫面,說明執行啟動 Grafana 的指令:

雖然安裝完成,開機時仍不會自動啟動 Grafana 服務,可執行以下指令讓 Grafana 開機時自動啟動:
$ sudo systemctl daemon-reload
$ sudo systemctl enable grafana-server
如要手動啟動 Grafana 服務,可執行以下指令:
$ sudo systemctl start grafana-server
Grafana 服務若已啟動,可使用瀏覽器連線測試,以我的 IP:192.168.0.107 為例,可以看到以下畫面:
http://192.168.0.107:3000
使用 admin 登入,預設密碼是 admin。登入後第一次會要求變更密碼:
輸入設定的密碼兩次後,進入以下畫面,就可以開始使用 Grafana 了。如以下畫面:

[建立普羅米修斯資料來源]

要收集來自普羅米修斯的資料來源,呈現在 Grafana Dashboard,請執行以下設定:
(1) 按下左側欄中的「齒輪」圖示打開設定畫面,按下畫面中的「Add data source」,進入增加資料來源設定畫面。
(2) 選擇「Prometheus」類型:
(3) 設定 Prometheus 伺服主機的網址(以我的IP:192.168.0.107為例,如以下畫面),下方的存取方式改為「Browser」。
(4) 網頁往下拉,選擇「Add & Test」,如果出現綠色框顯示「Data source is working」,表示設定測試已經完成。
到這裡已經設定好在 Grafana 接收普羅米修斯的資料了,可是還沒有建立 Dashboard,無法以視覺化圖表來呈現收到的資料。以下就說明如何從 Grafana 設群網路取得已經編寫完成的 Dashboard,下載在我們自己安裝的 Grafana 系統中。

[匯入Dashboard]

在 Grafana 官方的 Dashboards可以下載到很多適合各種不同 Exporter 的儀表板,不論是資料庫、Web服務或雲端服務商等,都有大量已經製作好的 Dashboard 可用。以下就說明一下如何匯入社群上已經製作好的 Dashboards。
(1) 到 Grafana 官方的 Dashboards 下載網站:下方左邊可以依照類別或關鍵字查詢Dashboard的名稱,我們以「Node Exporter」為例,找到一個中文版的儀表板:
(2) 點選選定的儀表板範本,進入以下畫面,右下方「Get this dashboard」旁有個數字「8919」,這是這個範本的編號,可以按下   Copy ID to Clipboard ,將這個數字複製起來或記住這個數字也可以。

(3) 回到連線樹莓派的 Grafana 網頁,點選左側選單「+」→ 「Import」,在「Import via grafana.com」下方的空格處,輸入或貼上剛剛複製的 Dashboard 編號,再按下右方的   Load
(4) 在下方選擇已經設定好的Data Source:Prometheus,按下   Import ,就匯入完成了。

以下是這個 Dashboard 範本的各種儀表圖形:

[參考資料]

Post a Comment

較新的 較舊