侧边栏壁纸
  • 累计撰写 175 篇文章
  • 累计创建 87 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Linux监控TCP连接数并触发日志记录

Z先森
2018-12-05 / 0 评论 / 0 点赞 / 9 阅读 / 855 字 / 正在检测是否收录...

####场景 由于服务器经常半夜出现TCP连接数暴增,没办法及时查看处理,回头看记录又看不到现象,不好排查,故编写此脚本用于记录日志。 ####脚本内容

#!/bin/bash
#任务计划设置此脚本每分钟执行一次即可,* * * * * sh /shell/tcp_stats.sh
now_time=$(date +%Y%m%d-%H:%M:%S)
log_dir="/var/log/tcp_stats/" #日志
time_range="3" #3秒内的差异值
max_tcp_diff="1000" #差异值的上限

function get_netstat_log(){
        if [[ ! -d $log_dir ]];then
                mkdir -p $log_dir
        fi
        before_tcp_stats=$(netstat -anltp | wc -l) #取当前tcp连接数
        sleep $time_range
        after_tcp_stats=$(netstat -anltp | wc -l) #隔${time_range}秒后取tcp连接数
        diff=$(expr ${after_tcp_stats} - ${before_tcp_stats})  #计算差异值
        if [[ $diff > $max_tcp_diff ]];then
                netstat -anltp >${log_dir}${now_time}.log
        fi
}
for ((i=1, i<6, i++))
do
        get_netstat_log
        sleep 7
done

0

评论区