19.12 添加自定義監控項目

添加自定義監控項目

  • 需求:監控某臺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監控項目,造成圖表,就能夠實現分析天天的數據是多少;
  • 需求
    • 監控某臺web的80端口鏈接數,並出圖
  • 解決方法:
    • 1)zabbix監控中心建立監控項目;
    • 2)針對該監控項目以圖形展示;
  1. 首先須要在客戶端(B機器)定義腳本
[root@hf-02 ~]# vim /usr/local/sbin/estab.sh

#!/bin/bash
##獲取80端口併發鏈接數
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

保存退出
  • netstat -ant 顯示網絡鏈接的狀態
  1. 配置一個可以讓zabbix用戶執行的權限
  • chmod 755 /usr/local/sbin/estab.sh
B機器
[root@hf-02 ~]# chmod 755 /usr/local/sbin/estab.sh
[root@hf-02 ~]#
  1. 在客戶端上編輯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監控項裏的 鍵值
  1. 客戶端(B機器),重啓 zabbix-agent 服務
B機器
[root@hf-02 ~]# systemctl restart zabbix-agent
[root@hf-02 ~]#
  1. 檢查自定義的腳本是否被識別
  2. 到服務端(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獲取數據時,就會提示 權限不夠
  1. 在獲取數據的時候,必定要保證數據的一般,防火牆和selinux都須要去設置,不然就會有可能沒法獲取數據
  2. 在zabbix監控中心(瀏覽器)配置增長監控項目,在 配置 ——> 主機 ——>建立監控項
  • 名稱 寫爲:併發連接數
  • 類型 :選擇zabbix客戶端
  • 鍵值 寫:my.estab.count——>鍵值可自定義,是不固定的
  • 單位 :保持默認
  • 歷史數據保留時長(單位天):默認保持90天
  • 應用集:能夠不選擇,由於沒有定義應用集

輸入圖片說明

  1. 在添加該項目後,還須要添加圖形,配置——>主機——>圖形——>建立圖形

輸入圖片說明

  • 名稱爲建立併發連接數——>而後添加監控項 併發連接數——>點擊添加

輸入圖片說明 輸入圖片說明

  1. 在圖形中,查看新建立的圖形,而後選擇預覽
  • 如果網站訪問量很大,那麼每隔30秒就能夠看到一個數字,時間長了,就可查看到網站訪問量的趨勢

輸入圖片說明

  1. 作一個觸發器,選擇觸發器——>建立觸發器
  • 當併發大於200,作警告級別

輸入圖片說明 輸入圖片說明

  1. 這樣觸發器就配置成功

總結:

  • 在服務端上獲取數值(經過腳本實現),給予服務端訪問腳本的權限,在zabbix監控中心添加對應的監控項目(輸入鍵值),便可
相關文章
相關標籤/搜索