大數據圖表監控分析工具Grafana

隨着業務的愈加複雜,對軟件系統的要求愈來愈高,這意味着咱們須要隨時掌控系統的運行狀況。所以,對系統的實時監控以及可視化展現,就成了基礎架構的必須能力。mysql

Grafana是一款可視化工具,有着很是漂亮的圖表和佈局展現,功能齊全的度量儀表盤和圖形編輯器,大多使用在時序數據的監控方面,如同Kibana相似。sql

Grafana的UI更加靈活,有豐富的插件,功能強大。數據庫

官方地址:grafana.com/grafana後端

1、Grafana 簡介

Grafana的套路基本上跟kibana差很少,都是根據查詢條件設置聚合規則,在合適的圖表上進行展現,多個圖表共同組建成一個dashboard,熟悉kibana的用戶應該能夠很是容易上手。瀏覽器

另外Grafana的可視化功能比kibana強得多,後面逐步會介紹到,並且4以上版本將集成報警功能。bash

Grafana 的主要特色架構

一、展現方式:快速靈活的客戶端圖表,面板插件有許多不一樣方式的可視化指標和日誌,官方庫中具備豐富的儀表盤插件,好比熱圖、折線圖、圖表等多種展現方式;併發

二、數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;app

三、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算併發送通知,在數據達到閾值時經過Slack、PagerDuty等得到通知;elasticsearch

四、混合展現:在同一圖表中混合使用不一樣的數據源,能夠基於每一個查詢指定數據源,甚至自定義數據源;

五、註釋:使用來自不一樣數據源的豐富事件註釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;

六、過濾器:Ad-hoc過濾器容許動態建立新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的全部查詢。

2、Grafana下載安裝

根據本身的系統版本和配置,下載對應的包,官方提供了以下說明,可直接按照說明進行下載,本文以操做系統RedHat & CentOS爲例,介紹下Grafana最新版本的安裝。

3、Grafana啓動

  1. 方式一
Start Grafana by running:

sudo service grafana-server start

sudo update-rc.d grafana-server defaults //設置開機啓動(可選)
複製代碼
  1. 方式二 To start the service using systemd:
systemctl daemon-reload

systemctl start grafana-server

systemctl status grafana-server 

sudo systemctl enable grafana-server.service //設置開機啓動
複製代碼

啓動服務,打開瀏覽器,輸入IP+端口,3000爲Grafana 的默認偵聽端口。

系統默認用戶名和密碼爲admin/admin,第一次登錄系統會要求修改密碼,修改密碼後登錄,界面顯示以下:

默認狀況下,Grafana 的配置存儲於sqlite3中,若是你想使用其餘存儲後端,如mysql,postgresql等,請參考官方文檔配置::docs.grafana.org/installatio…

Grafana 的幾個基本構成和基本概念參考官方文檔: docs.grafana.org/guides/basi…

4、Grafana使用

1.添加數據源 先要明確一點,Grafana 只是一個dashboard(4版本開始將引入報警功能),負責把數據庫中的數據進行可視化展現,自己並不存儲任何數據,

另外某些查詢和聚合使用的是數據庫自己提供的功能,須要對應的數據庫去支持。所以不表明你換了一個數據庫後端就必定能展現相同的圖形。

Grafana 目前支持的數據庫有: Graphite, Prometheus, Elasticsearch, InfluxDB, OpenTSDB, AWS Cloudwatch。將來可能會有更多的數據庫的支持加入,請關注更新。

也可使用第三方插件引入支持。

這裏使用Elasticsearch做爲數據庫的來源。首先進入數據源的設置頁面,點擊左上角的圖標,選擇Data Sources-Add data source:

進入數據源的設置,例如咱們要從logstash-YYYY.MM.DD這些index中讀取數據,就像kibana默認的index那樣配置便可:

  1. 生成圖表

數據源配置好以後,就能夠開始可視化的第一步了。這一步相對較爲簡單,只要熟悉ES的查詢語法就能夠輕鬆寫出來。

想建立圖表,首先得有dashboard,new一個dashboard出來,而後後添加Panel。

簡單解釋一下這些配置:

query: 對應的就是kibana上面的查詢條件,先把想要展現的數據所有select出來,而後進行聚合或篩選,Alias是給這個查詢起個別名,可用於圖例說明

metric: 這個就是關鍵的指標量的,到底展現的是什麼東西。這裏展現的是GROUP BY以後對value求平均值

Group by: 對應elasticsearch的bucket,按照type_instance分桶

整個查詢下來大體至關於SQL中的

SELECT avg(val) WHERE query_string('ac:$applicationName AND sn:$serviceName') GROUP BY sn GROUP BY Date_Histogram(tb)
複製代碼

注:其中$applicationName[應用名稱]和$serviceName[服務名稱]使用的是模版變量功能。

最關鍵的地方在Query這個配置,這裏就是定義怎麼獲取到$serviceName這個變量的全部可選值,每一個數據庫的語法不同,

好比Elasticsearch的Template語法在這裏:docs.grafana.org/datasources… ,若是你使用的是其餘數據源,那麼查詢對應數據源的模板語法便可。

以上即爲Grafana的安裝及使用簡介,更多使用方式,請參考這裏:docs.grafana.org/guides/gett…

相關文章
相關標籤/搜索