背景🌼
1、案例
描述:F5 使用优先级组在 2 台服务器之间实现负载,平时流量都负载到服务器A,当服务器A Down时,流量都切换到服务器B上。
问题:当服务器A 再次变为 UP 时,未超时旧连接会继续负载到服务器B 上,导致部分业务异常。
需求:当服务器A 变为 UP 时,需要自动关闭客户端到服务器B 的连接。以将流量移动到服务器A。
2、解决方法
当 F5 检查到 Server A
状态变为 UP
的日志时,自动触发删除所有客户端到 Server B
流量的命令。
一、基础环境🌻
1、环境拓扑
说明:地址和优先级等信息已经在上图进行描述,pool 中少于一个成员存活时触发优先级组切换。现在当客户端访问 F5 虚拟服务 192.168.6.234:80
,将会把流量负载到Server A
。
二、实验配置🌹
1、模拟 Server A Down
关闭 Server A
服务器,检查当前连接状态。
通过以上截图显示,当前流量已经负载到 Server B
。
2、配置触发命令
在 /config/user_alert.conf
中添加以下命令:
alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_UP "Pool /Common/pool_test member /Common/192.168.6.80:80 monitor status up" {
exec command="tmsh delete sys connection ss-server-addr 192.168.10.223 ss-server-port 80"
}
命令含义:当 Server A 成员状态 up 时,删除 Server B 全部连接。
3、重启进程
tmsh restart sys service alertd
三、实验测试🌷
(1)开启 Server A 服务器,并检查当前流量连接状态。
通过以上截图显示,当前流量已经负载到 Server A
。
(2)在 F5 ltm
日志上查看 Server A
状态变为 UP
的日志。
(3)在 F5 Audit
日志上查看触发删除 Server B
连接的命令日志。
总结:通过以上知识可举一反三,当触发其他日志告警时,也可执行响应的命令。
示例:当VS Down,可执行抓取该VS 10000 个数据包等等。
注意:触发多条命令时,命令之间使用分号进行分隔。
请问 这是什么程序源码啊