grafana初級入門

天下太平發表於2022-03-28

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等。

官網:https://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作為唯一資料來源。

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

思想

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

相關文章