利用Linux Cron 实现F5 monitor定时启停

2020-12-06 23:07:52

自由自在飞✨

利用Linux Cron

        

1. 需求

       某分行的服务器每天凌晨01:00定时停机重启,停机20分钟(即到01:20)。该组服务器发布了90+的服务,即与之有关联的F5的pool和VS各为90+,pool member则更多。每个pool上都关联了默认的tcp monitor,停机重启阶段F5有大量的健康检查失败,并产生大量的相关日志。用户希望在此阶段停止对这组服务器的健康检查,并且自动化实现改功能。

       根据需求来看,可以有两种解决方案一种是在syslog server上过滤掉这个时间段产生的这些相关日志,此方法我们不做讨论研究,仅提供另外一种解决的思路;另一种是通过F5来实现定时关闭和开启该组服务器相关的pool上的健康检查,即定时删除和添加相关pool上的tcp monitor

2. 定时删除和添加monitor

       考虑用户需求,可以采用cron方式在停机重启时定时执行删除monitor的脚本;在停机重启结束后,定时执行添加monitor的脚本。

每天凌晨1:00定时删除tcp monitor的脚本实例:

chmod +x /var/tmp/delmonitor.sh

#!/bin/sh

. /etc/profile

. ~/.bash_profile

#delete monitor in pool

tmsh modify ltm pool pool-1 monitor none

        以上脚本中的“pool-1”为pool name,“none”代表不关联任何monitor,即删除原有的monitor

备注:请根据实际相关的pool name,对以上脚本进行调整,本次需求中相关的pool有90+,那么tmsh的脚本条目也相应的要与相关pool的条目数相同。

 

每天凌晨1:20定时添加tcp monitor的脚本实例:

chmod +x /var/tmp/add monitor.sh

#!/bin/sh

. /etc/profile

. ~/.bash_profile

#add monitor in pool

tmsh modify ltm pool pool-1 monitor tcp

         以上脚本中的“pool-1”为pool name,“tcp”为monitor name

备注:请根据实际相关的pool和monitor的name,对以上脚本进行调整,本次需求中相关的pool有90+,那么tmsh的脚本条目也相应的要与相关pool的条目数相同。


 定时执行脚本:

定时脚本的执行是通过cron来实现的,我们可以通过crontab -e来将以上我们定义的脚本添加到cron中定时执行。

具体的操作如下:

[root@test:Active:Standalone] config # crontab -e

# cron tab for root

1-59/10 * * * * /usr/bin/diskmonitor

MAILTO=""

52 * * * * /usr/bin/copy_rrd save

#Everday 01:00 exec delmonitor.sh

0 1 * * * /var/tmp/delmonitor.sh

#Everday 01:20 exec addmonitor.sh

20 1 * * * /var/tmp/addmonitor.sh

添加完成后,退出保持即可。


 3. 注意事项

       定时删除和添加monitor的实现脚本,主要是基于cron定时执行工具来实现,不是F5官方提供的功能,不能随F5系统版本升级,即F5系统版本升级后需要重新添加配置。

发布评论 加入社群

发布评论

相关文章

通过 ALB 和 BIG-IP 在 Azure 中运行 FTP 服务

尚路遥

2020-04-16 09:47:48 311

Login

手机号
验证码
© 2019 F5 Networks, Inc. 版权所有。京ICP备16013763号-1