五、監控案例之監控TCP
1、 安裝agent,過程略
(下面是apt安裝,如果是編譯安裝,請注意路徑)
2、監控腳本
cd /etc/zabbix/zabbix_agentd.conf.d/
vim check_tcp.sh
#!/bin/bash
tcp_conn_status(){
TCP_STAT=$1
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_conn.txt
TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2)
if [ -z $TCP_STAT_VALUE ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
main(){
case $1 in
tcp_status)
tcp_conn_status $2;
;;
*)
echo "$0 + tcp_status + STATUS"
esac
}
main $1 $2
3、授予權限
chmod a+x check_tcp.sh
chown zabbix.zabbix check_tcp.sh
chown zabbix.zabbix /tmp/tcp_conn.txt
4、創建conf文件引用腳本
cd /etc/zabbix/zabbix_agentd.conf.d/
chown zabbix.zabbix check.conf
vim check.conf
UserParameter=check_tcp[*],/etc/zabbix/zabbix_agentd.conf.d/check_tcp.sh "$1" "$2"
5、 如果是編譯安裝,還需要配置agent 配置文件導入自定義配置那文件
vim /etc/zabbix/zabbix_agentd.conf
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
6、 重啟agent服務
systemctl restart zabbix-agent
7、 在被監控服務器為zabbix 用戶授權:
vim /etc/sudoers
21 zabbix ALL =(ALL) NOPASSWD: ALL
8、server端測試獲取數據
zabbix_get -s 192.168.7.105 -p 10050 -k "check_tcp["tcp_status","LISTEN"]"
添加模版
導入監控項
添加監控項
配置監控項
添加圖形
創建圖形
配置圖形
創建觸發器
配置觸發器
添加表達式
配置完成
添加主機,如果有可以以現有的主機更改
模板選擇我們剛剛創建的模板
查看圖形
想要其它的TCP狀態,需要修改check_tcp["tcp_status","LISTEN"]LISTEN這個值
如想要監控TIME-WAIT的值,修改成check_tcp["tcp_status","TIME-WAIT"]