大二
Grafana是一款用Go語言開發的開源數據可視化工具,可以做數據監控和數據統計,帶有警告功能,而它的介面十分精美,且可以創建自定義的面版。
Grafana本身不保存監控數據,需要從其他數據源獲取,以下是Grafana支持接收的數據源,而我們這次的主題就是其中的 prometheus
是一個開源的系統監控和警報工具包
非常適合記錄時間序列資料,比如可以記錄機器CPU、Memory的使用情況,也可以在微服務中收集各個維度的資訊
本身,就是一個存時間序列的 資料集/資料庫,支援拉取資料,以及擁有外圍元件生態
Prometheus同其他時序數據庫相比有一个非常典型的特性:它是主動從各TARGET(客户端)上拉取(pull)數據,而非等待監控端的推送(push)
官方給的架構:
在Prometheus的架構設計中,Prometheus Server并不直接服務監控特定的目標,其主要任務負責數據的收集,儲存且對外提供數據查詢支持。因此為了能夠監控到數據,如主機的CPU使用率或是記憶體使用狀況,我們需要使用到Exporter
Exporter是Prometheus的指標數據收集组件。它負責從目標Jobs收集數據,並把收集到的數據轉換為Prometheus支持的時序數據格式。和傳統的指標數據收集组件不同的是,他只負責收集,並不向Server端發送數據,而是等待Prometheus Server 主動住抓取
執行完指令後,點選資料夾會看見出現了一個壓縮檔
執行完指令後,會出現解壓縮完畢的資料夾
執行完指令後,會在prometheus-2.35.0.linux-armv7 的資料夾中出現data資料夾
成功之後就會有以上畫面
輸入指令過後資料夾名稱會改變
( 因為每次開機會執行位於 /home/pi/prometheus/prometheus 內的執行檔,配合的設定檔是 /home/pi/prometheus/prometheus.yml。yml 檔內可設定透過瀏覽器連線的 Port,預設是 9090,要改成9010 )
成功畫面為出現綠色active (running)
如果遇到了錯誤訊息,可以試著使用
可以看到下拉式選單,可以選擇不同的資料類型
點按Execute可以得到,以下有兩個例子
記憶體配置的狀況圖
下載完壓縮檔會出現tar.gz檔
解壓縮過後會出現一個同名資料夾
一開始進入的頁面
點選Metrics後的結果頁面
讓他定時向監控主機的exporter取資料。
( 由於安裝的 Prometheus 和 node_exporter 在同一台樹莓派,yml設定檔內用 localhost:9100 取得受監控主機數據,如果分別安裝在兩部主機,需將 localhost 改成安裝 Exporter 的主機 IP )
在檔案最後加上以下幾行 node_exporter 設定
因為grafana系統是以視覺化著稱,但prometheus的視覺化呈現的功能較弱,所以可以藉由利用原本在grafana有的dashboard範本,做出一個把主機監控的數據呈現成一個可視化圖表
啟動時,在cmd顯示的畫面
(去網址port 3000地方會顯示此)
第一次登入後會要求更改密碼
進入此畫面就可以開始使用 grafana 了
假如你是個破電腦的用戶,需要多多關心記憶體狀態的話,可以多多利用Grafana觀察還剩多少可用空間。並且也可以用Grafana監控cpu狀態,避免虛擬機突然掛掉
通過Grafana圖表我們可以看見各種指標隨著時間變化,這一點方便我們判斷系統某個資源是否異常。但我們不能一直盯著 Dashboard,所以這時候 Prometheus 的告警功能就很方便了
Prometheus 提供用户可以自己配置的告警規則,在處理 Metrics 數據的时候,如果發現某個規則被觸發,就執行對應的告警動作,通過 email 或者其他方式通知用户。