在 分布式監控系統Zabbix3.2跳坑指南 和 分布式監控系統Zabbix3.2給異常添加郵件報警 已經介紹了如何安裝以及報警。此篇通過介紹監控數據庫的3306端口連接數來了解如何監控其它端口和配置自定義監控項的過程。
添加監控腳本
在要監控的客戶端上新建腳本:
/usr/local/zabbix/alertscripts/check_3306_port_num.sh
內容如下:
#!/bin/bash ss -an|grep 3306|grep ESTAB|wc -l
這個腳本很簡單,就是獲取3306端口已經建立的連接,並用“wc -l”來統計一共多少行,總之最后返回的是一個整數
注:alertscripts目錄若不存在需要自己新建
給腳本添加執行權限:
#chmod a+x check_3306_port_num.sh
配置客戶端文件
修改zabbix_agentd配置文件,添加一個“UserParameter”:
#vi /usr/local/zabbix/etc/zabbix_agentd.conf
添加如下內容:
更改 UnsafeUserParameters=1
添加 UserParameter=3306connectNum,/usr/local/zabbix/alertscripts/check_3306_port_num.sh
注:這里的“3306connectNum”就是item key,不能跟已有的重復,並且后面需要使用
重啟zabbix_agentd
#systemctl restart zabbix-agent
zabbix服務端測試獲取數據
#zabbix_get -s 192.168.80.30 -k 3306connectNum
輸出如下:
587
注:上面的192.168.80.30就是指的客戶端的IP,3306connectNum就是我們要測試的key,返回的587就是3306數據庫端口的連接數
zabbix的web界面中新建模板、監控項以及圖形
新建模板:
配置 –> 模板 –> 創建模板:
模版名稱 :Template App MySQL (存在則選擇)

給該模板添加監控項:
打開該模板 –> 監控項 –> 創建監控項:
名稱:MySQL 3306端口連接數
鍵值:3306connectNum
選中信息類型為數字

添加圖形:
打開該模板 –> 圖形 –> 創建圖形:
名稱:Mysql 3306端口連接數
監控項:添加上剛才創建的監控項


給主機綁定模板后:
主機》找到監控的主機》圖形》

這里要注意的是要針對此主機需要添加Template App MySQL模板的引用。
數分鍾后查看連接數的變化:

到此,我們使用zabbix自定義監控一個端口的連接數的配置就完成了。當然,根據我上面提到的原理,使用zabbix來監控一些其他服務也將不再是難事了
以上內容參考了其他網上資料的,也感謝其他網友的分享。
