添加自定義監控項目
- 需求:監控某臺web的80端口鏈接數,並出圖
- 兩步:1)zabbix監控中心建立監控項目;2)針對該監控項目以圖形展示
- 對於第一步,須要到客戶端定義腳本
- vim /usr/local/sbin/estab.sh //內容以下
#!/bin/bash
##獲取80端口併發鏈接數
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
- chmod 755 /usr/local/sbin/estab.sh
- 客戶端上編輯配置文件 vim /etc/zabbix/zabbix_agentd.conf//增長
UnsafeUserParameters=1 //表示使用自定義腳本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
//自定義監控項的key爲my.estab.count,後面的[*]裏面寫腳本的參數,若是沒有參數則能夠省略,腳本爲/usr/local/sbin/estab.sh
- 重啓zabbix-agent服務 systemctl restart zabbix-agent
- 首先到服務端驗證,執行命令
- zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count‘
- 而後在zabbix監控中心(瀏覽器)配置增長監控項目
- 鍵值寫my.estab.count
- 添加該項目後,到「監測中」 「最新數據」查看剛添加的項目是否有數據出現
- 有了數據就能夠添加圖形了
- 「配置」「主機」 「圖形」 「建立圖形」
添加自定義監控項目
- zabbix的監控項目是在模板裏面體現,可是有時候就會有些個性化的需求:某一個業務的數據,好比:運營人員想知道網站會員註冊量,會員活躍度;實際上,這些數據,均可以經過數據庫裏面的表的數字來體現,可是zabbix模板是不可能提供那麼詳細的監控項目;遇到這種狀況,就須要經過編程工具,寫成腳本,把數字展示出來,而後經過zabbix監控項目,造成圖表,就能夠實現分析天天的數據是多少;
- 需求
- 解決方法:
- 1)zabbix監控中心建立監控項目;
- 2)針對該監控項目以圖形展示;
- 首先須要在客戶端(B機器)定義腳本
[root@hf-02 ~]# vim /usr/local/sbin/estab.sh
#!/bin/bash
##獲取80端口併發鏈接數
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
保存退出
- 配置一個可以讓zabbix用戶執行的權限
- chmod 755 /usr/local/sbin/estab.sh
B機器
[root@hf-02 ~]# chmod 755 /usr/local/sbin/estab.sh
[root@hf-02 ~]#
- 在客戶端上編輯zabbix配置文件
B機器
[root@hf-02 ~]# vim /etc/zabbix/zabbix_agentd.conf
搜索 /UnsafeUserParameters
將# UnsafeUserParameters=0
改成UnsafeUserParameters=1
#目的是使用自定義腳本
搜索 /UserParameter
將# UserParameter=
改成UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
#表示自定義監控項的key爲my.estab.count,後面的[*]裏面寫腳本的參數,若是沒有參數則能夠省略,若是有參數寫入到 [ ] 裏面,用逗號分隔,腳本爲/usr/local/sbin/estab.sh
保存退出
- my.estab.count 這個是zabbix監控項裏的 鍵值
- 客戶端(B機器),重啓 zabbix-agent 服務
B機器
[root@hf-02 ~]# systemctl restart zabbix-agent
[root@hf-02 ~]#
- 檢查自定義的腳本是否被識別
- 到服務端(A機器)驗證,執行命令,server沒法獲取數據
- zabbix_get -s 192.168.202.131 -p 10050 -k 'my.estab.count'
- -s 指定客戶端的IP地址
- -p 指定端口,不加-p,默認就是10050端口
- -k 表示 鍵值
A機器
[root@hf-01 ~]# zabbix_get -s 192.168.202.131 -p 10050 -k 'my.estab.count'
0
[root@hf-01 ~]#
- 如果以前在客戶端(B機器)寫的腳本權限不設置成 755 ,這裏的server獲取數據時,就會提示 權限不夠
- 在獲取數據的時候,必定要保證數據的一般,防火牆和selinux都須要去設置,不然就會有可能沒法獲取數據
- 在zabbix監控中心(瀏覽器)配置增長監控項目,在 配置 ——> 主機 ——>建立監控項
- 名稱 寫爲:併發連接數
- 類型 :選擇zabbix客戶端
- 鍵值 寫:my.estab.count——>鍵值可自定義,是不固定的
- 單位 :保持默認
- 歷史數據保留時長(單位天):默認保持90天
- 應用集:能夠不選擇,由於沒有定義應用集
![在這裏輸入圖片標題 輸入圖片說明](http://static.javashuo.com/static/loading.gif)
- 在添加該項目後,還須要添加圖形,配置——>主機——>圖形——>建立圖形
![在這裏輸入圖片標題 輸入圖片說明](http://static.javashuo.com/static/loading.gif)
- 名稱爲建立併發連接數——>而後添加監控項 併發連接數——>點擊添加
![在這裏輸入圖片標題 輸入圖片說明](http://static.javashuo.com/static/loading.gif)
- 在圖形中,查看新建立的圖形,而後選擇預覽
- 如果網站訪問量很大,那麼每隔30秒就能夠看到一個數字,時間長了,就可查看到網站訪問量的趨勢
![在這裏輸入圖片標題 輸入圖片說明](http://static.javashuo.com/static/loading.gif)
- 作一個觸發器,選擇觸發器——>建立觸發器
![在這裏輸入圖片標題 輸入圖片說明](http://static.javashuo.com/static/loading.gif)
- 這樣觸發器就配置成功
總結:
- 在服務端上獲取數值(經過腳本實現),給予服務端訪問腳本的權限,在zabbix監控中心添加對應的監控項目(輸入鍵值),便可