隨着業務的愈加複雜,對軟件系統的要求愈來愈高,這意味着咱們須要隨時掌控系統的運行狀況。所以,對系統的實時監控以及可視化展現,就成了基礎架構的必須能力。web
Grafana官方網站json
https://grafana.com/
Grafana是一個跨平臺的開源的度量分析和可視化工具,能夠經過將採集的數據查詢而後可視化的展現,並及時通知。它主要有如下六大特色:
一、展現方式:快速靈活的客戶端圖表,面板插件有許多不一樣方式的可視化指標和日誌,官方庫中具備豐富的儀表盤插件,好比熱圖、折線圖、圖表等多種展現方式;
二、數據源:zabbix,Graphite,InfluxDB,OpenTSDB,Elasticsearch,CloudWatch和KairosDB等;
三、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算併發送通知,在數據達到閾值時經過Slack、PagerDuty等得到通知;
四、混合展現:在同一圖表中混合使用不一樣的數據源,能夠基於每一個查詢指定數據源,甚至自定義數據源;
五、註釋:使用來自不一樣數據源的豐富事件註釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;
六、過濾器:Ad-hoc過濾器容許動態建立新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的全部查詢。
後端
本文此次介紹 zabbix與 Grafana結合使用
首先 先安裝好zabbix 配置完成後開始安裝Grafanacentos
zabbix官網 https://www.zabbix.com/ Grafana官網 https://grafana.com/
zabbix安裝此次再也不贅述 沒安裝的能夠看我以前的博客
api
訪問Grafana下載頁面https://grafana.com/grafana/download在這裏可獲取該軟件的全版本。
能夠按照使用需求,進行下載相應版本。
瀏覽器
系統環境說明服務器
[root@centos /root] #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@centos /root] #uname -r 3.10.0-862.el7.x86_64 [root@centos /root] #systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@centos /root] #sestatus SELinux status: disabled
安裝Grafana架構
在此次安裝中,咱們使用的是grafana-5.2.4版本。不一樣版本之間功能存在着必定的差距。 [root@centos /root] #wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.4-1.x86_64.rpm [root@centos /root] #yum install initscripts fontconfig #安裝依賴 grafana-5.2.4-1.x86_64.rpm [root@centos /root] #yum localinstall grafana-5.2.4-1.x86_64.rpm
啓動Grafana併發
[root@centos /root] #systemctl start grafana-server.service [root@centos /root] #systemctl enable grafana-server.service
檢查監聽端口
Grafana默認監聽端口爲3000,能夠經過修改配置文件(/etc/grafana/grafana.ini)對其作定製化配置。app
[root@centos /root] #netstat -lntup |grep grafana tcp6 0 0 :::3000 :::* LISTEN 1333/grafana-server
經過流量器訪問 http://ip:3000 便可訪問grafana頁面,初始用戶名與密碼均爲admin,可在登錄是修改默認密碼。
登錄成功以後能夠先進行建立第一個數據源,以及第一個展現面板。
使用Zabbix收集數據,Grafana展現圖形。Grafana默認沒有zabbix做爲數據源,須要給zabbix安裝一個插件,而後再添加進Grafana便可。
注:本次使用zabbix版本爲3.4.14。
[root@centos /root] #zabbix_server -V zabbix_server (Zabbix) 3.4.14
經過grafana-cli plugins list-remote命令 能夠獲取到grafana的插件列表。 [root@centos /root] #grafana-cli plugins list-remote |grep zabbix id: alexanderzobnin-zabbix-app version: 3.9.1
安裝插件
[root@centos /root] #grafana-cli plugins install alexanderzobnin-zabbix-app installing alexanderzobnin-zabbix-app @ 3.9.1 from url: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.9.1/download into: /var/lib/grafana/plugins ✔ Installed alexanderzobnin-zabbix-app successfully Restart grafana after installing plugins .出現√即爲安裝成功。在安裝完成後務必重啓Grafana [root@centos /root] #systemctl restart grafana-server.service
登錄grafana頁面,開啓zabbix插件。
點擊enable開啓插件。
添加zabbix數據源
相關配置項目說明:
配置項目 | 說明 |
---|---|
Name | 給數據源起一個名字。 |
Default | 選擇默認,意味着數據源將預先選定爲新的面板。 |
Type | 選擇數據源的類型。 |
Url | 這裏的Url是http協議,地址和端口是zabbix-web提供的接口。或爲zabbix的api地址。 |
Access | 訪問代理,這裏選擇了proxy表示Grfana經過後端訪問,還有direct值表示從瀏覽器直接訪問目錄。 |
Username | 輸入zabbix的用戶名,須要進行認證,通常使用管理員。 |
Password | 輸入zabbix用戶的密碼。 |
代理(proxy)訪問意味着的Grafana後端將從瀏覽器代理全部請求,並將它們發送到數據源。這樣是有用的,由於它能夠消除CORS(交叉來源站點資源)的問題,如消除須要傳播到數據源到瀏覽器的身份驗證詳細信息。但還支持直接(direct)訪問,由於在某些狀況下可能用來訪問直接根據用例和拓撲結構的Grafana、 用戶和數據源的數據源。
以上信息都填寫完成以後點擊Save & Test,出現Success就表示成功了,就能夠去利用zabbix中數據添加圖形了。
下面先引入zabbix自帶的dashboard,點擊import。
查看zabbix dashboard頁面
使用grafana的好處是對圖形的自定義更加簡便,經過變動不一樣的json文件,便可在數據源中查找到想要的結果,而後繪製出圖。
在Linux系統上,grafana-cli會假定grafana插件目錄是/var/lib/grafana/plugins。經過指定-pluginsDir標誌能夠覆蓋grafana-cli將要運行的目錄。在Windows系統中,必須爲每一個呼叫指定此參數
安裝插件最簡單的方法是使用與grafana捆綁在一塊兒的CLI工具grafana-cli。在修改插件以後發生任何修改以前,grafana服務器須要從新啓動。
列出可用的插件 #grafana-cli plugins list-remote 安裝最新版本的插件 #grafana-cli plugins install安裝特定版本的插件 #grafana-cli plugins install列出安裝的插件 #grafana-cli plugins ls 更新全部安裝的插件 #grafana-cli plugins update-all 更新一個插件 #grafana-cli plugins update刪除一個插件 #grafana-cli plugins remove