文章系國內領先的 ITOM 管理平臺供應商 OneAPM 編譯呈現。
概覽
Grafana 是一個開源的監控數據分析和可視化套件。最常用於對基礎設施和應用數據分析的時間序列數據進行可視化分析,也可以用於其他需要數據可視化分析的領域。Grafana 可以幫助你查詢、可視化、告警、分析你所在意的指標和數據。可以與整個團隊共享,有助於培養團隊的數據驅動文化。
Grafana 有強大的社區支持,有豐富的模板插件,足夠滿足需要的功能特性。幾乎可以集成任何數據源、監控工具和告警平臺。可謂是不可多得的神器。也有很多國內國外的知名公司在使用。
接下來,小編從 Grafana 的重要特性展開來說,最後附上部分示例實踐,僅供參考。
可視化,酷炫,靈活易用的可視化組件
統一,同時集成多個數據源
開源,活躍強大的社區
告警,定義告警並集成其他告警平臺
通知,可擴展,模板和插件機制
一、可視化(Visualize)
Grafana 提供了豐富的圖標、圖形和其他可視化選項,經過簡單的界面操作就能通過分析來更好的理解數據。並且大部分情況下你只需要使用社區提供的模板和插件就足夠了,並不需要自己過多的配置。
二、統一(Unify)
可以把所有數據源的數據同時集成到 Grafana,因此可以獲取更好的上下文。Grafana 原生支持超過30個開源和商業的數據源,在統一的儀表板中將它們的數據混合在一起分析。並且可以通過現有的插件集成 Zabbix 這樣常用的監控工具的數據。非常的方便。
Grafana 內置支持的常用數據源:
InfluxDB
OpenTSDB
Elasticsearch
Zabbix
Graphite
MySQL
具體的數據源請參考 https://Grafana.com/plugins,總能找到你想要的。
InfluxDB
混合數據源(Mix Data Source)
三、開放(Open)、可擴展(Extend)、合作(Collaborate)
Grafana 的開源性質,可以讓你沒有任何顧慮的深度使用,同時還有一個活躍強大的社區。並且 Grafana 可以安裝部署在任何平臺上。包括 Linux,Windows,macOS 和 Docker。在 Grafana 中有數百個圖表模板和插件,幾乎每週都會更新。所以你能想到的絕大部分使用場景都是可以找到相應的模板和插件。Grafana 還可以在團隊之間共享,通過授權用戶來進行協同工作。這也可以培養團隊的數據驅動文化。
Grafana 的動態儀表板(使用動態 dashboard,使用在儀表板頂部顯示為下拉列表的模板變量創建動態和可重複使用的儀表板):
Grafana 註釋(使用來自不同數據源的豐富事件註釋圖表。 將鼠標懸停在事件上可以顯示完整的事件元數據和標籤):
Ad-hoc 過濾器(Ad-hoc 過濾器允許即時創建新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的所有查詢):
四、告警(Alerting)
無縫定義告警在數據中的的位置,可視化的定義閾值,並可以通過 Slack,OneAlert 等平臺獲取告警通知。最為重要的是可直觀的定義告警規則,不斷的評估併發送通知。注意告警功能在新版本中才有。
五、通知(Notifications)
當指標超過設定的告警閾值時,Grafana 就會觸發告警接。當指標恢復到正常時 Grafana 就會關閉告警。這些動作都會有通知。除了最常見的 Email 通知,Grafana 內置的通知 APP 有 Slack,PagerDuty,VictorOps,OpsGenie。這些平臺均為國外,可能在國內因為翻牆(如果大家有好的翻牆方式可以留言分享)、語言等原因,導致在國內有點水土不服。國內類似平臺很少,首家 SaaS 一站式告警平臺 OneAlert (不能否認,目前國內一直是處於領先)支持通過webhook 方式集成 Grafana。OneAlert 可以解決告警的匯聚、告警的分派,多方式通知,多人團隊排班、告警壓縮等問題,在此就不展開了,有興趣去官網瞭解下。OneAlert 官網:http://www.onealert.com/
六、實踐
作為一個 Geek 看到這麼酷炫的東西怎麼能不動手試一下呢。大部分情況下我們最常使用的功能是 Dashboard 模板、數據源應用、告警和通知這幾個關鍵的功能。下面就從一個簡單的示例來實際操作一下。
1、安裝,注意:因為告警功能只在4.0以上版本可用,最好安裝當前最新穩定版。
以 Linux 環境為例安裝
<code>Ubuntu & Debian(64 Bit):/<code>
<code>wget https://s3-us-west-2.amazonaws.com/Grafana-releases/release/Grafana_4.6.3_amd64.deb/<code>
<code>sudo dpkg -i Grafana_4.6.3_amd64.deb/<code>
<code>Standalone Linux Binaries(64 Bit):/<code>
<code>wget https://s3-us-west-2.amazonaws.com/Grafana-releases/release/Grafana-4.6.3.linux-x64.tar.gz/<code>
<code>tar -zxvf Grafana-4.6.3.linux-x64.tar.gz/<code>
<code>Redhat & Centos(64 Bit):/<code>
<code>wget https://s3-us-west-2.amazonaws.com/Grafana-releases/release/Grafana-4.6.3-1.x86_64.rpm/<code>
<code>sudo yum localinstall Grafana-4.6.3-1.x86_64.rpm/<code>
2、啟動,如果需要請加入開機自啟,centos6.x 為例
<code>sudo service Grafana-server start/<code>
3、配置 DataSource和Dashboard
添加一個 DataSource,以 InfluxDB 為例。
<code>Data Sources->Add Data Source/<code>
創建一個 Dashboard 或者直接引入一個 Dashboard 模板。
4、配置告警
告警的閾值可以通過鼠標拖動來實現:
5、添加通知渠道
<code>Notification channels->add channel/<code>
首先添加一個 email 通知:
Send Test 一下應該就能收到。
再添加一個 OneAlert 通知,如果沒有用過 OneAlert 的同學直接去註冊 ok 了,跟著引導可以很方便快捷創建一個 Grafana 應用,並且記錄 Appkey。
如果已經有 OneAlert 賬號,直接登錄->應用->添加應用->Grafana,OneAlert 的配置界面說明非常完整,直接參考就可以了。
將獲取到的 URL 直接複製下來:
在 Grafana 中添加一個 Webhook channel,將 URL 填入 Webhook Settings 的 URL 中,http method 為 POST,選中 type 為 Webhook,勾選 Send on all alerts 和 Include image,你會在 OneAlert 中得到很好的使用體驗。點擊Send Test 後再 OneAlert 中就能看到你的告警。
最後在 Grafana 的 Alert 配置頁面選中 OneAlert 和 Email 的通知 Channel:
測試通過的話,接下來你就可以通過配置 OneAlert 的通知策略、分派策略、排班等,就可以時刻通過微信、短信、電話、APP來接收告警並和團隊一起協作。
總結
Grafana 可以促進以數據驅動運維的團隊工作效率提升,讓我們花更少的時間和精力來減少故障、快速恢復故障和避免故障。配合告警神器 OneAlert,可以彌補 Grafana 不能解決的精準分派、多方式通知、排班等功能的不足,如果大家有更好歡迎留言推薦分享,大家一起進步!
Grafana 的 Github 地址:https://github.com/Grafana/Grafana
參考資料:Grafana Document:http://docs.Grafana.org/
OneAlert 是北京藍海訊通科技有限公司旗下產品,是國內首個 SaaS 模式的雲告警平臺,集成國內外主流監控/支撐系統,實現一個平臺上集中處理所有 IT 事件,提升 IT 可靠性。想了解更多信息,請訪問 OneAlert 官網 ,歡迎免費註冊體驗 。
來源:http://blog.oneapm.com/apm-tech/804.html
閱讀更多 柒加壹 的文章