Grafana是一款用Go語言開發的.源數據可視化工具,能夠作數據監控和數據統計,帶有告警功能。目前使用grafana的公司有不少,如paypal、ebay、intel等。php
①可視化:快速和靈活的客戶端圖形具備多種選項。面板插件爲許多不一樣的方式可視化指標和日誌。
②報警:可視化地爲最重要的指標定義警報規則。Grafana將持續評估它們,併發送通知。
③通知:警報更改狀態時,它會發出通知。接收電子郵件通知。
④動態儀表盤:使用模板變量建立動態和可重用的儀表板,這些模板變量做爲下拉菜單出如今儀表板頂部。
⑤混合數據源:在同一個圖中混合不一樣的數據源!能夠根據每一個查詢指定數據源。這甚至適用於自定義數據源。
⑥註釋:註釋來自不一樣數據源圖表。將鼠標懸停在事件上能夠顯示完整的事件元數據和標記。
⑦過濾器:過濾器容許您動態建立新的鍵/值過濾器,這些過濾器將自動應用於使用該數據源的全部查詢。css
詳細安裝教程可參考:http://docs.grafana.org/installation/debian/shell
wget <u>https://dl.grafana.com/oss/release/grafana-6.0.1-1.x86_64.rpm</u>ruby
yum install initscripts fontconfig yum install freetype yum install urw-fonts
rpm -Uvh grafana-6.0.1-1.x86_64.rpm
使用grafana-cli工具安裝 #獲取可用插件列表 grafana-cli plugins list-remote 修改圖形爲餅狀 grafana-cli plugins install grafana-piechart-panel 安裝其餘圖形插件 grafana-cli plugins install grafana-clock-panel #鐘錶形展現 grafana-cli plugins install briangann-gauge-panel #字符型展現 grafana-cli plugins install natel-discrete-panel #服務器狀態 grafana-cli plugins install vonage-status-panel
例:grafana-cli plugins uninstall vonage-status-panel 安裝和卸載後須要重啓grafana纔可以生效
啓動:service grafana-server start 中止:service grafana-server stop 重啓:service grafana-server restart 加入開機自啓動: chkconfig --add grafana-server on
默認用戶密碼:admin/admin, 訪問地址: 服務地址 : [http://grafana服務地址:3000](http://localhost:3000/) 若是出現登陸界面,表明安裝啓動成功
Dashboard的創建都是基於某一個數據源的,因此要先加一個數據源。bash
可視化方式有不少種,不過Graph、Table、Pie chart 這三種基本就已經知足數據展示要求了。服務器
注意:只有Graph才能配置告警併發
SELECT $__timeGroupAlias(create_time,$__interval), country_name as metric, COUNT(user_id) as '用戶數量' FROM `user` WHERE $__timeFilter(create_time) GROUP BY 1,2 ORDER BY $__timeGroup(create_time,$__interval);
把這個Graph折線圖Copy一份,改一下展示方式便可。ide
select user_id,user_name,mobile,id_number,country_name,money,create_time from user WHERE $__timeFilter(create_time) and country_name in ($countryName)
注意:默認添加完table後,若是有數字,會以K爲單位,好比將300000展現位30k。
數字展現方式修改,Add column style:工具
select country_name, create_time as time, count(*) as c from user where $__timeFilter(create_time) group by country_name order by c asc;
若是user在該org下role=admin,就擁有了對該dashboard的admin權利,愛幹啥幹啥,好比配置這個dashboard,看dashboard,配置dashboard的權限。
若是user在該org下role=editor,就擁有了對該dashbaord的edit操做權限,能夠編輯dashboard,固然也能夠看。
若是user在該org下role=viewer,就擁有對該dashbaord的view操做權限,就是能夠看這個dashboard,但不能編輯。
就如上圖設置,若是登陸用戶是admin,就能夠進行編輯;若是登陸用戶是wade,僅有查看權限。測試
當表格中出現數據後,須要經過篩選條件進行篩選,grafana提供了模板變量用於自定義篩選字段。
Type:定義變量類型
Query:這個變量類型容許您編寫一個數據源查詢,該查詢一般返回一個 metric names, tag values or keys。例如,返回erver names, sensor ids or data centers列表的查詢。
interval:interval值。這個變量能夠表明時間跨度。不要按時間或日期直方圖間隔硬編碼一個組,使用這種類型的變量。
遺留問題:當選擇1d(單位是d)時,會報解析錯誤:error parsing interval 1d,暫未解決;
Datasource:此類型容許您快速更改整個儀表板的數據源。若是在不一樣環境中有多個數據源實例,則很是有用。
Custom:使用逗號分隔列表手動定義變量選項。
Constant:定義一個隱藏常數。有用的metric路徑前綴的dashboards,你想分享。在dashboard export,期間,常量變量將做爲一個重要的選項。
Ad hoc filters:很是特殊類型的變量,只對某些數據源,InfluxDB及Elasticsearch目前。它容許您添加將自動添加到使用指定數據源的全部metric查詢的key/value 過濾器。
上面的Table和Graph分別使用了interval和query來定義變量進行篩選,再也不重複。
grafana只有graph支持告警通知。
grafana的告警通知渠道有不少種,像Email、Teams、釘釘等都有支持。
在grafana.ini中開啓告警:
#################################### Alerting ############################ [alerting] # Disable alerting engine & UI features enabled = true #開啓 # Makes it possible to turn off alert rule execution but alerting UI is visible execute_alerts = true #開啓 # Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state) ;error_or_timeout = alerting # Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok) ;nodata_or_nullvalues = no_data # Alert notifications can include images, but rendering many images at the same time can overload the server # This limit will protect the server from render overloading and make sure notifications are sent out quickly ;concurrent_render_limit = 5
要能發送郵件通知,首先須要在配置文件grafana.ini中配置郵件服務器等信息:
#################################### SMTP / Emailing ########################## [smtp] enabled = true #是否容許開啓 host = #發送服務器地址,能夠再郵箱的配置教程中找到: user = 你的郵箱 # If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" password = 這個密碼是你開啓smtp服務生成的密碼 ;cert_file = ;key_file = skip_verify = true from_address = 你的郵箱 from_name = Grafana # EHLO identity in SMTP dialog (defaults to instance_name) ;ehlo_identity = dashboard.example.com [emails] ;welcome_email_on_sign_up = false
修改完配置,記得重啓Grafana服務
Grafana是個功能強大、展示層很漂亮的數據可視化監控工具,本篇主要介紹了Grafana基於MySQL數據源的安裝及經常使用姿式,也支持其餘數據源如ElasticSearch、InfluxDB等。