grafana初級入門

grafana初級入門

預備知識

Metrics、Tracing和Logging的區別

監控、鏈路追蹤及日誌作為實時監測系統運行狀況,這三個領域都有對應的工具和解決方案。

img

Metrics 監控指標的定義,特徵是它們是可聚合的:它們是在一段時間內組成單個邏輯指標、計數器或直方圖的原子項。

Logging 日誌的定義,特徵是它處理離散事件。

Tracing 它定義,特徵是它處理請求範圍內的資訊–任何可以綁定到系統中單個事務對象的生命周期的數據或元數據。

詳細參考文檔

監控系統

白盒監控

通過了解系統內部來預測實際運行情況,預測和實際是否一致。預判可能出現的問題。

黑盒監控

在系統或者服務在發生故障時能夠快速通知相關的人員進行處理。

度量指標 Metrics

  • 計量器(Gauge):瞬間狀態。例如:記憶體使用,CPU佔用等。
  • 計數器(Counter):累計型的度量指標。它是一個只能遞增的數值。例如:服務請求數。
  • 直方圖(Histogram):對觀察結果進行取樣。通常是請求持續時間或者響應耗時這樣的數據。
  • 匯總(Summary):對觀察結果進行取樣。除了可以統計取樣值總和和總數,還能按照分位數統計。

當然,對數據思考的角度不同也還有其他的類別。常用的前3種。

合適的場景選擇合適的指標。

什麼是工具

沒有它的時候,無所謂;有它的時候,也無所謂;

需要它的時候,就有所謂了。

grafana是什麼

grafana是一個開源的UI介面解決方案。

grafana是一個開源的、儀錶盤式的分析監控平台。

grafana是一個用於監控指標分析和圖表展示的工具。

grafana支援多種數據源,如Elasticsearch, Influxdb, Graphite, Prometheus, AWS,Mysql等。

官網://grafana.com/grafana

關鍵詞:

Visualize 可視化
Unify 統一
Extend 可擴展
Alert 告警
Open 全平台
Collaborate 協作

一句話:將數據池中的數據展示給用戶。

grafana能做什麼

監控mysql狀態

監控Node狀態

監控redis狀態

這3個需要前置promethues。有機會下次講promethues。

img

對接mysql裡面的數據 目前三消正在用的

img

grafana安裝

這裡是別人寫的教程

這裡是官方教程

建議不要install,包下載好後,直接找到grafana-server程式,然後執行./grafana-server &就可以了。

打開瀏覽器,輸入IP+埠,3000為grafana的默認埠。

對接mysql數據

grafana直連mysql,數據可視化。

具體實操。

可擴展

6個關鍵詞,重點寫這一塊。

插件:面板(Panel),數據源(Data Source),應用(app)

面板:和echarts類似,但是比echarts更靈活、易用

數據源:每一種數據源有不同的接入方式

應用:不太了解

數據源:分為資料庫狀態和資料庫數據。

  • 資料庫狀態:基本都能搞
  • 資料庫數據:有些不能搞。例如redis mongo,想想為什麼?

自定義面板插件官方說明

自定義數據源插件官方說明

FAQ

  • 同一個數據,不同人員看的角度不同,怎麼辦?

比如同一個數據,需要從A、B、C三個維度查看。展示的方式人的偏好也不同。

現在彩虹是做不到的。因為頁面調整在他們手裡。

grafana可以,使用者可以自由調整面板。

  • 學習門檻怎樣?

不高。會sql就可以,但是對sql還是有一定的要求。雖然grafana對每一種數據源的語法不同,但是它沒有創造語法,僅是對資料庫本身提供語法的封裝,方便使用。

  • 一個頁面是否可以同時展示不同數據源的數據?

可以的。

  • 一個dashboard是否可以同時展示不同數據源的數據?

不可以。

  • 如果數據分布在2個不同的數據源,並且需要經常操作,不是很方便,怎麼辦?

可以前面放置promethues,將數據聚合,然後將promethues作為唯一數據源。

如果小規模使用,不建議這樣做。數據經過了一次周轉,降低了自由度。

思想

  • 開放和自由,滿足不同的需求
  • 工欲善其事必先利其器
  • 開發過程中引入工具,降低未來的修復成本