概述
今天主要是導師說要用zabbix監控下TCP連接情況,所以順便整理了這篇文章,下面一起來看看吧!
一、獲取監控數據
<code>netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'/<code>
TCP各監控狀態描述
二、zabbix客戶端配置監控腳本
1、編寫腳本
<code># cat /etc/zabbix/zabbix_agentd.d/tcp_conn_status.sh
================================================================================================
#!/bin/bash
#this/>#tcp status
metric=$1
tmp_file=/tmp/tcp_status.txt
/bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' > $tmp_file
case $metric in
closed)
output=$(awk '/CLOSED/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
listen)
output=$(awk '/LISTEN/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
synrecv)
output=$(awk '/SYN_RECV/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
synsent)
output=$(awk '/SYN_SENT/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
established)
output=$(awk '/ESTABLISHED/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
timewait)
output=$(awk '/TIME_WAIT/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
closing)
output=$(awk '/CLOSING/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
closewait)
output=$(awk '/CLOSE_WAIT/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
lastack)
output=$(awk '/LAST_ACK/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
finwait1)
output=$(awk '/FIN_WAIT1/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
finwait2)
output=$(awk '/FIN_WAIT2/{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
*)
echo -e "\\e[033mUsage: sh $0 [closed|closing|closewait|synrecv|synsent|finwait1|finwait2|listen|established|lastack|timewait]\\e[0m"
esac
================================================================================================/<code>
2、添加自定義參數
<code># cat /etc/zabbix/zabbix_agentd.d/tcp.conf
================================================================================================
UserParameter=tcp.status[*],/etc/zabbix/zabbix_agentd.d/tcp_conn_status.sh $1
================================================================================================/<code>
<code>chown -R zabbix:zabbix /etc/zabbix
chmod -R 755 /etc/zabbix/<code>
4、重啟客戶端
<code>systemctl restart zabbix-agent/<code>
5、在zabbix服務端測試
<code>bbix_get -s 172.26.150.134 -p 10050 -k tcp.status[listen]/<code>
三、導入zabbix模板文件
1、下載模板
模板名為:tcp_export_templates.xml,內容如下:
2、導入模板
配置-模板-導入
3、模板/主機鏈接模板
四、查看圖形
監測-圖形
模板領取方式
這份TCP模板怎麼領取呢?
同時希望大家多多轉發分享給更多的朋友哦!
閱讀更多 波波說運維 的文章