tcp连接数修改工具_生产上很实用的zabbix监控Linux TCP连接数,值得收藏

一、编写 zabbix agent TCP监控脚本

[root@aly etc]# vim /usr/local/etc/tcp_status.sh

#!/bin/bash

#this script is used to get tcp and udp connetion status

#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

;;

SYN_RECV)

output=$(awk '/SYN_RECV/{print $2}' $tmp_file)

if [ "$output" == "" ];then

echo 0

else

echo $output

fi

;;

SYN_SENT)

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

;;

TIME_WAIT)

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

;;

CLOSE_WAIT)

output=$(awk '/CLOSE_WAIT/{print $2}' $tmp_file)

if [ "$output" == "" ];then

echo 0

else

echo $output

fi

;;

LAST_ACK)

output=$(awk '/LAST_ACK/{print $2}' $tmp_file)

if [ "$output" == "" ];then

echo 0

else

echo $output

fi

;;

FIN_WAIT1)

output=$(awk '/FIN_WAIT1/{print $2}' $tmp_file)

if [ "$output" == "" ];then

echo 0

else

echo $output

fi

;;

FIN_WAIT2)

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|CLOSE_WAIT|SYN_RECV|SYN_SENT|FIN_WAIT1|FIN_WAIT2|LISTEN|ESTABLISHED|LAST_ACK|TIME_WAIT]e[0m"

esac

并赋予权限:

[root@aly etc]# chmod 777 /usr/local/bin/tcp_status.sh

[root@aly etc]# chmod 777 /tmp/tcp_status.txt

二、修改agent配置文件

备注: 创建自定义key ,需要修改被监控端agent 的配置文件

[root@aly etc]# vim /usr/local/zabbix_agentd.conf

把 UnsafeUserParameters=0 修改为 UnsafeUserParameters=1 (是否允许自定义KEY)

创建自定义KEY

[root@aly etc]# vim /usr/local/etc/zabbix_agentd.conf

#添加一行

UserParameter=tcp.status[*],/usr/local/etc/tcp_status.sh $1

三、登录到zabbix上 创建模板

c98caccef362abf25b73fde047560d49.png
0dbd5e9c0bb9669a4abcd928c644e3e7.png

创建监控项,如图所示:

根据zabbix_agent 自定义的key 和 tcp_status.sh 监控脚本 来填写键值

类型: zabbix客户端

更新间隔: 60 (单位为秒)

应用集: TCP Status

bba4a062e78e37baed2fbef4d078eaee.png
e3fc55139987a28097c3c77bca0fbc30.png

创建触发器,如图所示:

三分钟内的平均ESTABLISHED 连接数大于1000 就触发告警

严重性: 一般严重

表达式: {Template TCP Connection Status:tcp.status[ESTABLISHED].avg(3m)}>1000

ebce5e40e7b54a1a682d995d5f84338a.png

同样也可以 直接导入 模板,模板私聊小编获取

6b9f0b9f8354175dcfbc7449df81984c.png
2b508898faa8f92c823b8b7da9112229.png

四、 客户机重启zabbix_agent

[root@aly root ]# /etc/init.d/zabbix_agent restart

给主机关联 链接的模板

cbfa32d9bb9fb583fb3c86230ab93d85.png

五、验证

5b576b077c5559c752061954b9d69b7e.png
21de1102a57860966fe1246ca987cd69.gif

私聊小编,回复 关键字 "tcp" 即可获得本文的监控项脚本,键值定义配置文件,zabbix tcp 监控模板文件哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值