F5记录连接表脚本
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,今天群里正好有人问一个情况,用户的业务并发连接突然飙升,作为部署在敏感位置的F5设备,并没有自动记录连接请求日志的现成功能,若发生这种情况,用户需要知道当时的连接表情况,起码要知道是哪个IP地址发出的
千家信息网最后更新 2025年02月02日F5记录连接表脚本
今天群里正好有人问一个情况,用户的业务并发连接突然飙升,作为部署在敏感位置的F5设备,并没有自动记录连接请求日志的现成功能,若发生这种情况,用户需要知道当时的连接表情况,起码要知道是哪个IP地址发出的大量请求。
F5面对这种情况,基本有2个选择:
1、在VS中关联iRule,记录每次的tcp请求情况,包括请求原地址、源端口、net成内部地址、net成内部端口、分发到哪台服务器等信息。但是记录这些日志非常消耗设备性能,我记的有一个用户就非要做这个,怎么劝都不听,他的设备并发峰值是1200万/s,也就是有可能一瞬间要写入上百万条日志,非要做就做吧,邮件里把事情的情况写明,导致的后果写明,iRule给他,要做就自己做吧。果不其然,真是立竿见影,放上去点了一下"update",设备宕机了。
2、每隔一段时间去检查一下连接表条目数,如果超过阀值就记录当前的连接表情况,并且根据原地址进行过滤排序。我认为这种方式要好一些,就算你的并发有1200万,我显示连接表,对连接表信息过滤等等操作,也只是相对速度慢了一些,对设备不会造成太大影响。
#!/bin/bashfunction define(){ threshold=20000 log_path=/tmp/f5_conn_log/ user=`whoami`}function check(){ if [ $user != root ];then echo "Please use root user." exit 1 fi if [ ! -d $log_path ];then mkdir $log_path fi}function gather(){ while true do timestamp=`date +%Y%m%d_%H%M%S` num_conn=`tmsh show sys connection | wc -l` if [ $num_conn -gt $threshold ];then tmsh show sys connection>${log_path}${timestamp}.log awk -F ':' '{print $1}' ${log_path}${timestamp}.log | sort -nr | uniq -c | sort -nr | head -20 >> ${log_path}${timestamp}_top.log fi sleep 300 done}function main(){ define check gather}main
脚本是个while死循环,使用的时候加上&放到后台,可以设置为开机启动。
每次取到的信息是2个文本文件,一个是完整的连接表,另一个是对连接表进行过滤排序的top20。
[root@F5:Active] f5_conn_log # cat 20160114_164101_top.log 5841 192.168.1.7 1674 192.168.1.104 1462 164.115.20.151 317 192.168.4.110 274 192.168.4.84 258 192.168.1.248 257 192.168.4.13 246 192.168.1.76 214 192.168.1.85 199 192.168.1.146 183 192.168.1.120 169 192.168.1.166 165 192.168.1.134 163 172.18.0.131 161 192.168.1.115 155 100.90.90.150 153 192.168.1.6 148 192.168.100.76 142 172.18.0.107 137 192.168.1.150
情况
设备
地址
信息
日志
用户
端口
排序
脚本
果不其然
立竿见影
万条
业务
也就是
事情
位置
功能
只是
后台
后果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
程序员服务器图片
游戏软件开发是个大学专业吗
jsp实现数据库的查询
微信小程序开发者服务器地址
网络技术学徒骗局
服务器地址如何获取我的世界
王者怎么弄另一个服务器
国家保密学院与网络安全
数据库技术陈世红版
山西配电服务器机柜虚拟主机
设计一个项目数据库系统
mysql嵌入式数据库
宿豫区直销网络技术参考价格
房产网软件开发
深圳应用软件开发价钱是多少
软件开发阶段活动有
要不要建一个数据库
网络安全充电器
数据库中的操作日志
服务器怎么设置云桌面
上海优质软件开发
妄想山海捏脸数据库狼人
软件开发流程需要的岗位
鄞州安卓软件开发系统
浪潮服务器bios设置启动顺序
潍坊分销软件开发哪家靠谱
小度可以改服务器吗
服务器日记
软件开发设计确认报告
长沙软件开发集中在哪个区域