grafana初級入門
預備知識
Metrics、Tracing和Logging的區別
監控、鏈路追蹤及日誌作為實時監測系統執行狀況,這三個領域都有對應的工具和解決方案。
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能做什麼
這3個需要前置promethues。有機會下次講promethues。
對接mysql裡面的資料 目前三消正在用的
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作為唯一資料來源。
如果小規模使用,不建議這樣做。資料經過了一次週轉,降低了自由度。
思想
- 開放和自由,滿足不同的需求
- 工欲善其事必先利其器
- 開發過程中引入工具,降低未來的修復成本