如果今天想要統計「TCP:80」連線數量,需使用「自定義」和「Zaabix 被動模式」監控實現,使用「UserParameter」進行「值」的「傳遞」搭配「Shell Script」,發現「Zabbix Server」二次開發功能非常強大。
1. 建立「http_statistics.sh」編寫「Shell」
cd /usr/lib/zabbix/alertscripts
PS.「zabbix」預設放置「script」位置,詳細請見「/etc/zabbix/zabbix_server.conf」
vi http_statistics.sh
#!/bin/sh
netstat -an | grep 192.168.1.13:80 | grep ESTABLISHED | wc -l
2. 賦予「執行權限」
chmod a+x http_statistics.sh
3. 修改「zabbix_agentd」配置文件,加入「UserParameter」呼叫「檔案位置」
vi /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1
PS 啟用「功能」
UserParameter=http_statistics,/usr/lib/zabbix/alertscripts/http_statistics.sh
PS. 「http_statistics」 就是 「item key」 需要回傳「值」,不能重複,後面要使用。
4. 重新啟動「zabbix_agent」
sudo systemctl restart zabbix-agent
5. Zabbix Server 測試 獲取 數據
/usr/bin/zabbix_get -s 192.168.1.13 -p 10050 -k "http_statistics"
6. 建立「Template http_statistics」加入「監控主機」
7. 建立「應用項目」與「項目」
找到「Template http_statistics」=>「應用集」
建立「應用集」
點選「項目」
1. 輸入「名稱」(任意)
2. 選擇「Zabbix 端點代理程式(被動式)」
3. 鍵值 輸入「http_statistics」
PS. 對應「UserParameter」參數
4. 輸入「數據更新間隔」
5. 加入當前「應用集」
8. 建立「圖形」選擇「項目」
參考資料
「老蔡博客」-「Zabbix 自定义监控实现思路以及自定义监控某个端口的连接数」
1 則留言:
您好,我想請問有沒有什麼方法是可以利用ZABBIX去監控Windows Server的smb或cifs分享出來的資料夾?
或著是有什麼方法可以看到誰正在開啟檔案?
張貼留言