F5配置转换工具 --- 导出配置至表格
2020-12-03 11:48:58
王亚军
F5配置转换工具 --- 导出配置至表格
很多F5的用户会想到f5在企业里面分布在各个区域,充当着业务流量处理环节中不同的角色。日常运维和使用的过程中,
1. F5管理员经常会接到各个应用团队或者运维同事的求助:“是否可以帮忙查一下XXX应用在负载均衡上的状态是否正常……”;
2. 想查一些应用对应配置的关联性,比如,网银对应的Virtual Server使用了哪些Profiles,做了哪个SNAT Pool,后端真实Server资源池的成员有哪些并且每个成员的状态如何,除了这些基本配置之外,调用了哪些编程脚本iRules,启用了什么类型的会话保持机制等;
3. 企业IT经理考虑到团队人员流动,希望想有一个应用配置汇总表,方便员工速查;
考虑到这些情况,所适用的解决方案比较多,如:
方案一:F5官方提供集中管理平台BIG-IQ,可以不同维度查询相关负载均衡配置,并可以集中监控以应用为维度的访问情况,统一化下发配置等,详情可以参考官方https://www.f5.com/zh_cn/products/automation-and-orchestration/big-iq
方案二:通过定期备份出来的ucs文件,线下通过工具或脚本获取ucs文件里面对应的bigip.conf中VS,Profiles,Pool等相关属性及关联性
方案三:通过在线运行的设备,使用工具或脚本实时获取应用资源的运行状态(如available,unavailable,enable,disable)和各种配置(如VS,Profiles,Pool,member,iRules,会话保持等)关联性关系。
本文通过Perl脚本实现了方案三的场景,通过Perl脚本将配置文件关联性和相关状态导出为XML格式,并可以直接使用Excel等表格打开,方便查看。目前导出的内容包含如下14大类,基本覆盖日常所涉及的内容:
1) VS名称
2) VS的IP和端口Port
3) 路由域 (Route Domain)
4) VS的状态:(如:green,enabled)
5) 调用的配置文件Profiles: 如Profiles名称,类型(tcp,http等),如果有SSL相关(包含调用的证书、证书链和key名称)等
6) 会话保持机制Persistence
7) 调用的可编程脚本iRules: 包含顺序和iRules名称
8) Pool的名称
9) Pool中的负载均衡算法
10) Pool中最小活动的成员数量(minimum active members)
11) Pool成员信息: 每个成员名称,IP地址,端口,比率值,优先级,当前运行状态
12) 健康检查Monitors信息: 健康检查名称,间隔时间 interval, 超时时间timeout,如果是HTTP/HTTPS类型,则包含Send String和 Receive String的内容
13) SNAT的信息:SNAT或SNATPool名称,SNAT的每个成员
14) 配置对应所属的Partition信息
话不多说,看看步骤:
1. SSH登录F5 BIG-IP设备
2. SFTP登陆F5 BIG-IP设备,导入Convert-LTM-config-to-XML.pl脚本至F5设备的某个目录下,如/shared/tmp/目录
3. 检查校验Perl脚本语法是否存在异常
perl -c /shared/tmp/Convert-LTM-config-to-XML.pl
4. 执行配置转换脚本,其中绿色127.0.0.1为设备地址,蓝色root为设备账号,红色password为对应账号的密码。
加上-s参数,可以省略掉配置中的Partition信息,适用于设备没有使用不同Partition的场景下,可以去掉该属性,在导出的表格中会更简洁。
如果不加-s参数,会带上配置所对应的Partition属性信息,适用场景为F5上通过不同分区Partition隔离的场景。
perl /shared/tmp/Convert-LTM-config-to-XML.pl -s 127.0.0.1 root password | sed "s/\/.*app\///g" | sed "s/\/Common\///g" > /shared/tmp/result-no-partition-3.xml
5. SFTP拷贝/shared/tmp/result-no-partition-3.xml文件至本地电脑,使用MS Excel程序打开该xml文件查看配置表格
注:
1)如果该工具所在的场景适合您,可以联系支持贵企业的F5客户经理或售前工程师进一步沟通和技术支持。
2)已验证运行过的环境:F5 v12.1,v13.1,v14.1。
发布评论 加入社群
相关文章

回复评论
发布评论