實戰一:實現zabbix監控TCP連接數
端口狀態轉換
TCP三次握手
TCP四次斷開
1、配置主動模式的zabbix-agent服務器(node1主機)
(1)制作TCP連接數提取腳本
[root@node1 zabbix_agentd.d]# cat tcp_conn.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_NUM=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2) if [ -z $TCP_NUM ];then TCP_NUM=0 fi echo $TCP_NUM } main(){ case $1 in tcp_status) tcp_conn_status $2; ;; esac } main $1 $2
(2)加上執行權限,並驗證效果。
[root@node1 zabbix_agentd.d]# chmod +x tcp_conn.sh # 加上執行權限 [root@node1 zabbix_agentd.d]# bash tcp_conn.sh tcp_status LISTEN # 查看此時提取連接數的效果 12 [root@node1 zabbix_agentd.d]# bash tcp_conn.sh tcp_status WAIT-TIME # 查看此時提取連接數的效果 0
驗證完成腳本后,生成在/tmp/tcp_conn.txt文件是root用戶的,可以將其文件刪除或者修改屬主為zabbix即可。
[root@node1 zabbix_agentd.d]# rm -rf /tmp/tcp_conn.txt [root@node1 zabbix_agentd.d]# chown -R zabbix.zabbix /tmp/tcp_conn.txt
(3)在監控主動proxy模式的基礎上修改/etc/zabbix/zabbix_agent.conf配置文件,主動模式的配置見上章:https://www.cnblogs.com/struggle-1216/p/12354813.html
Server=192.168.7.100,192.168.7.103,192.168.7.104 # zabbix-server服務器和主動模式proxy代理服務器 ServerActive=192.168.7.104 # 主動模式的proxy代理服務器 Hostname=192.168.7.101 #主動模式被監控的主機 UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/tcp_conn.sh $1 $2 # 定義模板名稱,並調用/etc/zabbix/zabbix_agentd.d/tcp_conn.sh腳本,傳遞$1和$2參數。
(4)重啟zabbix-agent服務
# systemctl restart zabbix-agent
(5)然后在主動模式的proxy主機上進行驗證腳本的傳遞,顯示數字之后,說明配置正確
[root@node4 ~]# zabbix_get -s 192.168.7.101 -p 10050 -k "linux_status[tcp_status,LISTEN]" 12 [root@node4 ~]# zabbix_get -s 192.168.7.101 -p 10050 -k "linux_status[tcp_status,WAIT-TIME]" 0
2、在zabbix網頁上導入制作好的TCP監控模板
(1)打開zabbix網頁,然后導入自制的TCP監控模板
(2)選擇自制的模板
(3)將TCP監控連接數模板關聯到前面主動模式監控的tomcat主機上
(4)將制作好的tcp模板關聯上
(5)查看TCP監控連接數信息