大卫说:关于构建自动化运维平台的相关内容,此前本公众号已经分享过很多篇文章,如:
Ansible Tower管理Windows演示 | 自动化运维落地之路
谁说互联网企业IT运维必须DIY? | Github排名第一的自动化运维工具
我们知道,在金融行业,用户要构建的自动化运维平台,应当是能够跨多种平台的一体化运维,而不是将物理机、虚拟化、各种Linux、各种UNIX、各种网络设备、各种硬件等,单独构建各自的运维平台。那样的话,一来难以统一展现运维结果,二来大幅增加了运维的复杂度和难度,上自动化运维效果适得其反。因此说,构建数据中心一体化运维平台,并且能够基于RBAC对账号进行管理,是不少金融行业客户的诉求。
而关于目前业内多种自动化运维工具,笔者此前也进行过对比(下图源自google搜索):什么样的运维神通,才配得上IT在银行业的江湖地位?
根据上表三种自动化运维工具:整体而言,Ansible不需要客户端(agent)这点上,很符合很多大行的监管要求的。在支持的操作系统平台上,Ansible与Puppet、SaltStack基本打个平手,但有一点,由于ansible不需要客户端,并且可以通过openssh认证,就决定了它不仅忽略可以管理各种OS(作为自动化工具的基本功,就像售前必须会讲PPT),它还能支持很多其他类型的平台和设备。
Ansible Tower的账号管理,基于RBAC方式,可以与企业内AD、LDAP进行对接,既做到全数据中心运维统一管理、统一展现,又能做到职责清晰,互不干扰。
接下来,本公众号将陆续推出如下文章,希望能够对读者有所帮助:
构建数据中心一体化运维平台--小型机篇 构建数据中心一体化运维平台--Windows篇
构建数据中心一体化运维平台--虚拟化篇
构建数据中心一体化运维平台--网络篇
构建数据中心一体化运维平台--Linux篇
本文将着重介绍如何通过Ansible Tower,对AIX操作系统进行自动化巡检。下面操作内容源自红帽黄军宝、董锐两位红帽技术专家。
IBM小型机自动化巡检
1、目标使用人员:系统管理员(机房维护人员)
2、目标业务说明:根据客户订制的性能指标,通过 ansible-tower 界面实现一键式巡检操作,并将巡检结果显示在web 上,提供检查结果导出、高亮及设定schedule巡检等功能。
在本文档中,下列缩略语与术语有其特定含义。
名称 | 描述 |
---|---|
Ansible | 一个优秀的IT自动化工具。它可以配置系统,开发软件,或者编排高级的IT任务等。 |
Ansible-Tower | Ansible Tower是能够帮助任何IT团队更容易使用Ansible的解决方案。该方案基于web。 |
<< Ansible 官方文档 >>
<<IBM官方文档之AIX7.1命令参考大全>>
四、安装部署
1.部署环境ansible-tower 安装
使用 tower 官方安装包,配置好 yum 源,可以很方便快捷地安装。安装完成之后,查看 ansible 版本为 2.1.1,tower 版本为 3.0.3。部署完成之后,可访问 tower 前端页面。
2.上传playbook包
上传到/var/lib/awx/projects 目录中,解压展开。
在 Apache 配置目录下,针对巡检页面存放目录配置 url映射关系。重启
Apache 服务。
五、使用方法
1、在Ansible Tower中创建 PROJECTS,指定 PROJECTBASE PATH 为“/var/lib/awx/projects”,
PLAYBOOK DIRECTORY 为 “aix_check”
2、创建 INVENTORY,添加需要做巡检的 IBM机器,可参考 ansible官方文档执行此操作
3、创建 JOB TEMPLATES, 将前面创建的 PROJECT 与 INVENTORY 关联起来。
点击 JOB TEMPLATES 右侧第一个执行图标,即可自动生成巡检报告。如果需要添加 schedule 请在 JOBS 菜单中添加。
五、代码实现
巡检模块将巡检结果通过register变量传递给 debug模块指定的变量当中,
genreport模块整合所有巡检结果,生成html代码并生成html页面和列表页面reportlists.html,
展示页面由index.html,banner.html, reportlists.html,和若干巡检结果页面组成
reportlists.html和巡检页面动态生成。
六、结果展示
Ansible Tower提供自动化执行平台,批量和定期执行巡检模块。通过web直观展示巡检结果,同时提供巡检结果高亮、导出等功能。
检查结果展示:
检查结果高亮:
检查结果导出 excel:
七、总结
通过Ansible Tower对IBM Power AIX系统的硬件与软件状况进行健康检查,实现一键式和定时自动化检查,并输出web和excel不同的报告,相比以往手动检查提高了工作效率,缩短健康检查周期,及时发现系统中问题,是自动化运维中重要一环。
根据环境未能提供短信通知接口,Ansible Tower可以结合短信接口可以实现短信通知,将检查失败的结果和问题可以通过短信的方式及时通知管理员。
最后,可能有人会问,书写playbook工作量大不大?实话实说,不小。但是,红帽已经在金融行业,尤其是银行业,通过项目,积累了大量的经验和playbook,可以为我们的客户使用。