01.12 基於zabbix4.2實現Linux服務器TCP連接狀態監控

概述

今天主要是導師說要用zabbix監控下TCP連接情況,所以順便整理了這篇文章,下面一起來看看吧!


一、獲取監控數據

<code>netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'/<code>
基於zabbix4.2實現Linux服務器TCP連接狀態監控

TCP各監控狀態描述

基於zabbix4.2實現Linux服務器TCP連接狀態監控


基於zabbix4.2實現Linux服務器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>
基於zabbix4.2實現Linux服務器TCP連接狀態監控

4、重啟客戶端

<code>systemctl restart zabbix-agent/<code>

5、在zabbix服務端測試

<code>bbix_get -s 172.26.150.134  -p 10050  -k tcp.status[listen]/<code>
基於zabbix4.2實現Linux服務器TCP連接狀態監控



三、導入zabbix模板文件

1、下載模板

模板名為:tcp_export_templates.xml,內容如下:

基於zabbix4.2實現Linux服務器TCP連接狀態監控

2、導入模板

配置-模板-導入

基於zabbix4.2實現Linux服務器TCP連接狀態監控

3、模板/主機鏈接模板

基於zabbix4.2實現Linux服務器TCP連接狀態監控



四、查看圖形

監測-圖形

基於zabbix4.2實現Linux服務器TCP連接狀態監控



模板領取方式

這份TCP模板怎麼領取呢?

同時希望大家多多轉發分享給更多的朋友哦!


基於zabbix4.2實現Linux服務器TCP連接狀態監控


分享到:


相關文章: