交流|給Zabbix穿上漂亮的外衣——Grafana

安裝Grafana
$ cd /root
Redhat & Centos(64 Bit)
$ wget https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm
$ yum localinstall grafana-5.4.2-1.x86_64.rpm
下載zabbix & 其他插件
查看zabbix插件是否存在於grafana-cli工具內:
$ grafana-cli plugins list-remote | grep Zabbix
PS: id: alexanderzobnin-zabbix-app version: 3.9.1(存在,版本爲3.9.1)
$ grafana-cli plugins install alexanderzobnin-zabbix-app
#安裝圖形的餅狀插件
$ 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
$ systemctl daemon-reload
$ systemctl restart grafana-server
$ systemctl status grafana-server
Grafana服務配置文件
在其定義了許多配置選項,通常位於Linux系統中的/etc/grafana/grafana.ini。
在這個配置文件中,可以更改默認管理密碼、http端口、grafana數據庫(sqlite 3、MySQL、Postgres)、身份驗證選項(Google、GitHub、LDAP、auth代理)以及許多其他選項。啓動您的Grafana服務器。與您的管理用戶登錄(默認管理/管理)。打開側菜單(單擊頂部菜單中的Grafana圖標),頭部到數據源並添加數據源。
交流|給Zabbix穿上漂亮的外衣——Grafana
登錄Grafana服務首頁
在瀏覽器上輸入http://localhost(安裝格拉法納服務主機的IP):3000,賬號:密碼--admin:admin
交流|給Zabbix穿上漂亮的外衣——Grafana
第二界面是建議修改登錄密碼(可跳過->skip):
成功登陸格拉法納的首頁
交流|給Zabbix穿上漂亮的外衣——Grafana
添加ZABBIX的數據源到Grafana
Grafana默認沒有zabbix作爲數據源,所以我們需要手動給zabbix安裝一個插件,然後再添加進Grafana即可,非常簡單,下面開始配置。
· Data Source — 數據源
· Grafana支持多種不同的時序數據庫數據源,Grafana對每種數據源提供不同的查詢方法,而且能很好的支持每種數據源的特性。
· 目前官方支持瞭如下幾種數據源:
Graphite
InfluxDB
OpenTSDB
Prometheus
Elasticsearch
CloudWatch
點擊左側菜單欄->齒輪->plugins(插件)
交流|給Zabbix穿上漂亮的外衣——Grafana
可在plugins插件頁上看見zabbix插件:
交流|給Zabbix穿上漂亮的外衣——Grafana
在Read me 上顯示zabbix插件的版本是3.9.1
交流|給Zabbix穿上漂亮的外衣——Grafana
點擊config->enable使用該插件:
交流|給Zabbix穿上漂亮的外衣——Grafana
在Dashboards(儀表盤),已經插件內置的“模板”(待會查看):
交流|給Zabbix穿上漂亮的外衣——Grafana
添加zabbix插件完畢,可在首頁左側顯示zabbix插件的快捷按鈕
交流|給Zabbix穿上漂亮的外衣——Grafana
新建數據源Add data source(數據源)
點擊左側菜單欄->齒輪->data sources->add data source->zabbix
交流|給Zabbix穿上漂亮的外衣——Grafana
Zabbix的API地址爲“http://localhost(zabbix server的IP地址)/zabbix/api_jsonrpc.php”,其中IP的安裝zabbix-server的服務器IP
Zabbix API允許以編程方式檢索和修改Zabbix的配置,並提供對歷史數據的訪問。
它廣泛用於:
1、創建新的應用程序以使用Zabbix
2、將Zabbix與第三方軟件集成
3、自動執行常規任務
4、Zabbix API是基於Web的API,作爲Web前端的一部分提供。
5、它使用JSON-RPC 2.0協議,這意味着兩件事:該API包含一組獨立的方法;
客戶端和API之間的請求和響應使用JSON格式進行編碼。調用api的過程:發送一個http請求,請求方法,提交數據,請求url
Zabbix的API賬號密碼就是Zabbix的Web端登錄賬號和密碼,賬號:admin, 密碼zabbix
交流|給Zabbix穿上漂亮的外衣——Grafana
交流|給Zabbix穿上漂亮的外衣——Grafana

新建數據源完畢
交流|給Zabbix穿上漂亮的外衣——Grafana
點擊左側菜單欄->zabbix->Zabbix server dashboard(zabbix服務器儀表盤)
Dashboards list:這個模塊是用來展示頁面列表用的。舉個例子,如果一個監控系統中,涉及到了多個頁面展示監控圖表,就會用到這個功能,這個模塊會列出你需要展示的頁面的列表,方便在當前頁面中,快速的切換到其他監控頁面。
交流|給Zabbix穿上漂亮的外衣——Grafana
顯示各種監控數據圖形
交流|給Zabbix穿上漂亮的外衣——Grafana
監控模板
添加模板就是定義一些變量,然後在製作圖形的過程中可以引用這些變量來達到模板的功效。這個template並不是指grafana提供了一個模板,而是提供了參數功能,就相當於一個宏變量,這個宏變量的值是和datasource級聯的(參數背後其實就是一個查詢語句,數據源內容發生變化,利用該參數獲取到的數據就會級聯發生變化)。
新建儀表盤
點擊->圖形->home
交流|給Zabbix穿上漂亮的外衣——Grafana

點擊左上角->New dashboard
交流|給Zabbix穿上漂亮的外衣——Grafana
使用Panel(無使用模板)
點擊->齒輪

設置儀表盤名稱:
交流|給Zabbix穿上漂亮的外衣——Grafana
下面以zabbix數據源爲例,講解templete的使用。
先來看下template的使用和效果
這是我創建的一個panel,用來展示cpu system time:
交流|給Zabbix穿上漂亮的外衣——Grafana
添加模板的變量(使用模板)
點擊variables
交流|給Zabbix穿上漂亮的外衣——Grafana
交流|給Zabbix穿上漂亮的外衣——Grafana
交流|給Zabbix穿上漂亮的外衣——Grafana

溫馨提示:如果是針對某一個主機羣組的模板,group的Query可以不需填寫,可以直接寫明組名。比如:
group
Query:DB數據庫服務器
host
Query:$group.

application
Query: $group.$host.
iteams
Query: $group.$host.$application.

(https://s1.51cto.com/images/blog/201904/30/4e939c30611826642407e47b713b4a4a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(https://s1.51cto.com/images/blog/201904/30/197e2b85b578a86f09a145820872d3d5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

同樣是獲取一個監控項的數據,我現在換一種方式,紅框中的四個值我全部替換成template,其實就是四個變量。
(https://s1.51cto.com/images/blog/201904/30/525074c6dcdf3e7810beed935fadaae7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

顯示效果和爲使用無模板的panel一致,在其他儀表盤也可以使用該變量:
(https://s1.51cto.com/images/blog/201904/30/89daf686ae6b7d19bcdeaabc84ed8e36.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
添加圖表格/曲線圖顯示
即變量設置完成後,就可以設置圖形,將之前所有添加的圖形,下面的組,主機,application,iteam都可以用變量來表示。
點擊圖表狀的按鈕->graph: (選擇一款圖形類型,如下選擇"Graph"。(磁盤和內存的監控圖類型可以選擇"Pie Chart"餅狀類型)
(https://s1.51cto.com/images/blog/201904/30/07009f107ae96e4d035012765e5c2931.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
選定圖形指定的組、主機、應用集、監控項:
(https://s1.51cto.com/images/blog/201904/30/be1622559b11b436cf6c2c6734f118b6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
給監控圖形設置名稱:
(https://s1.51cto.com/images/blog/201904/30/491eacedfc1e47a5e816b763d1cac505.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置度量值(當我們需要爲某個系統某個服務做監控、做統計,就需要用到Metrics)
· Grafana使用JavaScript正則表達式來實現。例如,如果需要顯示的CPU時間(用戶、系統、iowait,等等)你可以使用正則表達式在項字段創建圖:/CPU (?!idle). time/
· 使用正則表達式對不同主機的相同監控項進行比較,使用/.
/表示匹配全部,/^salt/匹配以salt開頭的選項,以所有主機顯示CPU system time爲例:
· (https://s1.51cto.com/images/blog/201904/30/77a7a19d094cfe9df6fb1ac918d5c635.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
· 顯示圖表的圖例(數值和單位) :
(https://s1.51cto.com/images/blog/201904/30/96bb7afceece07dd6b519655663a51eb.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
CPU for server and agent圖表設置完成:
(https://s1.51cto.com/images/blog/201904/30/84ebdbeaf24a2792f25c16c567670615.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
添加餅圖顯示
選擇PIE CHART:
(https://s1.51cto.com/images/blog/201904/30/a24bd502cbb3f193d5a2cd9a401fddab.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置監控主機和監控的項目:
(https://s1.51cto.com/images/blog/201904/30/ecf3d8c0cddf2e1b8e3ce06ce8cc70d7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
成功顯示餅圖:
(https://s1.51cto.com/images/blog/201904/30/4849b03ea801c8566b870fc08aee8a16.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
添加表格顯示
選擇table:
(https://s1.51cto.com/images/blog/201904/30/7f01f7be3b210640837977037c879db1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置表格名稱:
(https://s1.51cto.com/images/blog/201904/30/671c8d6d806da30283e7ab5a570c2c62.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置監控主機和監控的項:
(https://s1.51cto.com/images/blog/201904/30/f3ac12f9d7d92f44ac768df9454418af.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置選項:
(https://s1.51cto.com/images/blog/201904/30/bc9654c7f8d96459e5f45f817149f939.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
成功顯示錶格:
(https://s1.51cto.com/images/blog/201904/30/702647b9db340049fd25d6afe1d0a51e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Zabbix+Grafana監控mysql
Zabbix-agent客戶端設置
在/usr/local/zabbix/scripts目錄下上次mysql的監控腳本
(https://s1.51cto.com/images/blog/201904/30/298fafe0f8c054aad2e8e3fd27e58fc4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
賦予腳本權利和設置所屬者和所屬組:
$ chmod u+x /usr/local/zabbix/scripts/chk_mysql.sh
$ chown -R zabbix.zabbix /usr/local/zabbix/scripts/chk_mysql.sh
修改zabbix_agentd.conf
$ vim /usr/local/zabbix/etc/zabbix_agentd.conf
增加下面三行腳本
$ UserParameter=mysql.version,mysql -V
$ UserParameter=mysql.status
,/usr/local/zabbix/scripts/chk_mysql.sh $1
$ UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -P3306 -h127.0.0.1 ping | grep -c alive
注意修改端口用戶名密碼
在MySQL數據庫添加zabbix用戶
mysql>GRANT PROCESS,SUPER,REPLICATION CLIENT ON . TO zabbix@'127.0.0.1' IDENTIFIED BY 'zabbix';
mysql> flush privileges;
重啓zabbix_agentd服務
$ /etc/init.d/zabbix_agentd restart
Zabbix Server端測試
(https://s1.51cto.com/images/blog/201904/30/f67a4c787b81df2840297bbab450c047.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
解決方法:
$ vim /etc/my.cnf
[mysqladmin]
user=zabbix
password=zabbix
重啓mysql
$ /etc/init.d/mysqld restart
再次測試
(https://s1.51cto.com/images/blog/201904/30/a404d5023a4328377df7fae5dc0a7afd.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Zabbix Server配置監控
添加zabbix_agent的監控模板->Template DB Mysql
(https://s1.51cto.com/images/blog/201904/30/7a7a19bd291ea6736fd3624d64c9a07f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
可在zabbix server的“圖形”中顯示mysql監控圖形
(https://s1.51cto.com/images/blog/201904/30/c3a625c4704c85beb0791233ee9d05a1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Grafana配置
選擇新建一個表格graph
(https://s1.51cto.com/images/blog/201904/30/f60c4b0566f4a777b1480666c51d8391.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點擊->edit(編輯)
(https://s1.51cto.com/images/blog/201904/30/1f1f39b212ce785b18b48d59b72f4147.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
選擇監控項
(https://s1.51cto.com/images/blog/201904/30/96dc77cb50d92ac3e1087059d7f6b9af.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
修改編題
(https://s1.51cto.com/images/blog/201904/30/6d535e6c193650865f0bb047cd5ca268.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Grafana呈現mysql的監控圖形
(https://s1.51cto.com/images/blog/201904/30/7493fe7aea67d9f3405d7ba08faa1497.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
最終效果圖
(https://s1.51cto.com/images/blog/201904/30/5dbfad709f3546710e7b07f9ddbd966d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
回看監控情況
可將監控圖形的過去時刻倒回,查看圖形日誌:
(https://s1.51cto.com/images/blog/201904/30/089d9301c61145db1954427c42b08ef8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
測試報警功能
編輯/etc/grafana/grafana.ini配置文件:
(https://s1.51cto.com/images/blog/201904/30/63ff86569bd077692a9e3483c606770f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
重啓grafana服務
$ systemctl restart Grafana.service
所選的郵件應用要開啓smtp服務
(https://s1.51cto.com/images/blog/201904/30/476ed83cfef5fbeebda5fadafb18ef65.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點擊左側->鈴鐺->選擇notification channels
(https://s1.51cto.com/images/blog/201904/30/f34189b35fb42a6dcf3933bc87bfc9d2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
顯示新建的報警設置:
Zabbix插件不支持任何第三方報警功能(已測試)
(https://s1.51cto.com/images/blog/201904/30/7f3da9393288dd2e3dd6d85b8622699c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置爲,我們點擊->send test
收到了grafana官方發過來的告警測試軟件:
(https://s1.51cto.com/images/blog/201904/30/9dc39c497efbd64b473b05d14d6b91c9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

監控網站延時率 & 判斷網站的聯通性
特別是對使用CDN網絡的網站監控很有幫助
下載world-APP 插件
$ grafana-cli plugins install raintank-worldping-app
重啓grafana服務使配置生效
$ systemc tl restart grafana-server.service
要想啓用worldPing插件,需要先去grafana官網(https://grafana.com/orgs/riclee/api-keys)申請一個API key
如圖所示,點擊Add Api Key按鈕,API key name可以隨便取:
(https://s1.51cto.com/images/blog/201904/30/7f61845ceed9e5c93d42602848f9dfb5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

生成API key後,記得先把生成的API key複製保存
獲得API key之後就可以啓用worldPing插件了,點擊enable輸入從官網獲取的API key,worldPing插件就啓用成功了。
(https://s1.51cto.com/images/blog/201904/30/ea7c5f28d786d1e117b402b1efcff973.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點擊->左側菜單欄->->worldping home:
(https://s1.51cto.com/images/blog/201904/30/6d3290fcff3566e93d867b8264e9ec6e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點擊->new endpoint
(https://s1.51cto.com/images/blog/201904/30/5fc4157dbcbfb7967ae1f306ab99de64.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在endpoint name上輸入想要檢測的網站,等待片刻:
(https://s1.51cto.com/images/blog/201904/30/1d76a57869324642f81776e42afbd96c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點擊->Go to smmary dashboard
(https://s1.51cto.com/images/blog/201904/30/a7b4a582c2e5c46f058d95131079dfc3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
此插件內置了www.google.com的demo
(https://s1.51cto.com/images/blog/201904/30/a73a5914c438698ff38b3303e34cc498.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在上面你可以看到你所配置的每個地區能夠訪問www.google.com的正常運行時間,狀態,以及性能。
(https://s1.51cto.com/images/blog/201904/30/b8ecc5bd8587d31fb5076b6039b68798.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
除此之外,worldping將每個監控指標分成獨自的儀表盤。配置了例如ping、DNS、web檢測儀表盤,數據更加詳細清晰:
(https://s1.51cto.com/images/blog/201904/30/3d04a6bbdf958fc57e5e6111534fe887.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Web
(https://s1.51cto.com/images/blog/201904/30/5023564d1ee6ec6fc7248acf99b03337.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
DNS
(https://s1.51cto.com/images/blog/201904/30/6b1e215391e333089e9568badf2c7b6a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
PING
(https://s1.51cto.com/images/blog/201904/30/6be26d5cabf07591694da1d1cb347c21.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Influxdb+telegraf 監控服務器cpu、內存和硬盤
下載influxdb
cd /opt

下載速度很慢, 建議用迅雷下載, 然後通過XSHELL上載到服務器

$ wget https://dl.influxdata.com/influx ... db-1.0.2.x86_64.rpm
$ yum localinstall influxdb-1.0.2.x86_64.rpm
啓動influxdb服務
$ systemctl restart influxdb
下載設置telegraf
$ cd /opt

下載速度很慢, 建議用迅雷下載, 然後通過ftp上載到服務器

$ wget https://dl.influxdata.com/telegr ... af-1.0.1.x86_64.rpm
$ yum localinstall telegraf-1.0.1.x86_64.rpm
$ cd /etc/telegraf

只收集cpu, 內存和硬盤的數據

$ telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf

設置將數據傳遞寫入influxdb服務器

$ vi telegraf.conf

將地址改成 influxdb 對應的服務器地址, 端口默認 8086, 默認數據庫 telegraf

啓動telegraf服務
$ systemctl restart telegraf
在grafana上設置
導入influxdb數據源
(https://s1.51cto.com/images/blog/201904/30/0c778fb059bba969591bc6c22f505fdc.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
創建一個新的儀表盤
定義度量值,注意選擇influxdb數據源:
(https://s1.51cto.com/images/blog/201904/30/7c2a810472b5f5b5f19e288ba91910d9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置閥值郵件告警
設置報警,設置完了後點擊->“test rule”
(https://s1.51cto.com/images/blog/201904/30/a9f40c99ea590b5e55ac7ea0f0eaf610.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
觸發報警,這時郵箱收到報警信息:
(https://s1.51cto.com/images/blog/201904/30/313e5bba10b8d659be414a5a5c6fdf65.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在菜單欄的Alerting欄目,收到網頁的報警
(https://s1.51cto.com/images/blog/201904/30/1c55ea66a1e98f2c3278266cff311d53.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
增加釘釘報警功能
點擊左側->菜單欄->鈴鐺->notification channels
(https://s1.51cto.com/images/blog/201904/30/a5b96db0ba6d7bc80efeddaf3991dda5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(https://s1.51cto.com/images/blog/201904/30/a0810892de696175bc05f89e1c18e2e6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置告警方式爲DingDing,圖中的url是釘釘機器人的webhook地址
(https://s1.51cto.com/images/blog/201904/30/464a3a112b4dd951037efeab2390e2fb.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在釘釘軟件上,選擇機器人設置:
(https://s1.51cto.com/images/blog/201904/30/f12e9d97c99a52a70850904014392c30.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點擊->完成,將webhook複製到grafana的告警url中:
(https://s1.51cto.com/images/blog/201904/30/68dbe29f8a5f7d8e5586045543a16b07.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置完了後我們點擊->send test測試釘釘告警效果:
(https://s1.51cto.com/images/blog/201904/30/bfd182184511c9e6f32a97fab81d3dc0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
這時候我們會在釘釘上收到測試告警信息:
(https://s1.51cto.com/images/blog/201904/30/dcb26d2e6237639f668d262e50b29cdf.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
將釘釘告警設置在influxdb+telegraf的圖表中
(https://s1.51cto.com/images/blog/201904/30/09d9fd132f0b8d1348b84099dd5c1b30.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
達到預警閥值,觸發告警,這時釘釘的機器人會發來告警信息:
(https://s1.51cto.com/images/blog/201904/30/361e0e251d5b2b4c6b664fb4da8934e4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Influxdb+ collectd 監控服務器cpu、內存和硬盤
下載collectd
$ yum install -y collectd # collectd依賴epel-release安裝源
安裝rrdtool插件
爲了讓influxdb能夠識別collectd的數據,要安裝rrdtool插件,否則/var/lib/collectd/rrd目錄不會生成
rrdtool插件與依賴包的安裝:
$ yum install collectd-rrdtool rrdtool rrdtool-devel
設置collectd服務
Vim /etc/collectd.conf
FQDNLookup true
BaseDir "/var/lib/collectd"
PIDFile "/var/run/collectd.pid"
PluginDir "/usr/lib64/collectd"
TypesDB "/usr/share/collectd/types.db"
LoadPlugin syslog
LoadPlugin cpu
LoadPlugin disk
LoadPlugin interface
LoadPlugin memory
LoadPlugin rrdtool
LoadPlugin swap
LoadPlugin network
<Plugin cpu>
ReportByCpu true
ReportByState true
ValuesPercentage true
</Plugin>
<Plugin interface>
Interface "eno33554984" #用ifconfig查看Interface對應名稱
IgnoreSelected false
</Plugin>
<Plugin load>
ReportRelative true
</Plugin>
<Plugin network>
<Server "127.0.0.1" "25826"> #此IP寫入influxdb服務器IP,這裏是監控本機所以寫環回地址
</Server>
</Plugin>
#配置日誌級別和路徑等屬性,重啓collectd,在/var/log/collectd.log中可看到日誌
LoadPlugin logfile
<Plugin logfile>
LogLevel info
File "/var/log/collectd.log"
</Plugin>
rrd目錄
啓動collectd後,可在/var/lib/collectd目錄下看到rrd目錄的監控內容
(https://s1.51cto.com/images/blog/201904/30/650c496c2c53f58d8f8e2a1b964b8761.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
設置influxdb
編輯influxdb服務的配置文件/etc/influxdb/influxdb.conf
(https://s1.51cto.com/images/blog/201904/30/5a9ff364b8c0ca5eaa70296993a8bde9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

重啓服務
$ systemctl restart influxdb.service collectd.service
查看collectd數據庫
這裏的數據庫無需在influxdb裏事先創建好,collectd在向influxdb發送數據的時候會自動創建該數據庫。這裏重啓influxdb服務,會發現其會開啓一個UDP的25826端口用來接收數據(netstat -tunpl | grep 25826)。
(https://s1.51cto.com/images/blog/201904/30/82d2fc7e9d792e2b657791f912cce188.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
將collectd數據庫的influxdb在grafana導入zabbix
(https://s1.51cto.com/images/blog/201904/30/62d617e0f71b2c577feb48a44c9a0f1b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
創建一個表格,在其度量值上輸入以下參數
(https://s1.51cto.com/images/blog/201904/30/9a621f4320ff078cc5a2b4db8bd3b96e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
也可以點擊toggle edit mode:使用sql腳本:
SELECT derivative("value") AS "value" FROM "interface_rx" WHERE "host" = 'client174' AND "type" = 'if_octets' AND "instance" = 'eth0'
(https://s1.51cto.com/images/blog/201904/30/0641612ace4b640dc54bdb3de73812f9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
表格顯示監控圖形:
(https://s1.51cto.com/images/blog/201904/30/b3bc4ce9ee3e420c35d07d1facd7192c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章