云计算环境的自动化运维系统研究
2021-12-02马卫国
马卫国
摘要:随着互联网技术的飞速发展,国内各类企业的数量不断增加,运营管理部门的业务量不断增加,企业内部的IT环境也越来越复杂。基于传统的管理模式已不能满足企业的需要。大数据、云计算等技术越来越多地应用于企业。服务器管理消耗了大量的人力和资源。因此,本文主要讨论云计算环境下的自动运维系统。
关键词:云计算;自动化技术;运维系统
随着信息技术的发展,信息保护已成为信息技术的重要组成部分。传统的手工操作非常复杂,效率低下,人员成本高,出错率高,难以在陌生环境中快速恢复。由此可见,传统的运行维护模式工作强度高、效率低,不能满足实际应用的需要。因此,开发自动化操作和维护系统尤为必要。在系统设计开发过程中,可以合理利用先进的云计算技术,使开发的系统功能更加强大,满足用户需求,提高整体运维水平。
1云计算概述
云计算是一种新的IT服务模式,指的是利用网络提供IT服务(包括硬件和软件)。与传统信息技术相比,云计算技术还具有一些新的特点,如灵活性、按需付费、资源池等,这是传统信息技术没有的特点,因此新兴的IT技术将带来新的IT能力,这改变了企业实施和部署IT资源的传统方式。
2基于云计算环境的自动化运维系统设计
2.1系统设计思路
AOMS依托云计算平台,采用流行的B/S架构体系。整个系统由两部分组成,一部分是Web端,另一部分是服务器端。服务器负责为系统提供云计算环境,包括计算、网络、控制、存储等多个节点。数据库是其核心组件。服务器上还安装了具有监控功能的插件Zabbix,相关模块安装在不同的节点上。例如,Zabbix服务器安装在控制器节点上,Zabbix代理安装在计算节点上。该网页显示实时监控信息、检查结果和报警规则。B/S架构的应用使用户无需安装客户端即可直接通过浏览器访问系统,避免了系统内存的占用和运行速度的影响。通过浏览器,用户可以选择特定的系统功能,如性能监控、大屏幕操作和维护、检查和报警。整个系统分为三个层次,分别为性能层(网页)、服务层(服务器)、数据层(数据库)。
2.2系统主要功能设计
2.2.1性能监控模块
该模块可分为集群健康监控信息两部分,主机、历史、对模块的功能、流程,基于组件设计方法,具体设计要点如下:(1)集群性能监控包括以下内容:CPU、内存、虚拟机、报警、,网络、日志和每个数据库等。(2)您可以查询过去六个月的历史信息,以监控集群中主机的性能。将此时间范围设置为六个月的原因主要是数据存储问题。监控周期设置为5分钟。如果监测多个监测项目,则会在24小时内收集大量数据,而在6个月内收集的数据量是数据库能够承受的最大数据量。监控项目如下:CPU和内存使用情况、磁盘使用情况以及nic入站和出站流量。为了直接显示历史数据,在设计过程中引入了折线图。此函数查询主机信息,获取主机名和管理网络IP地址,调用Zabbix接口,并根据控制器节点的IP地址查询主机的CPU使用情况。刷新页面信息可以减轻服务器上的负载。
2.2.2监控告警模块
报警监控是AOMS的一项重要功能。在设计此模块时,您可以关注以下功能:报警项和报警历史记录。(1) 您可以根据报警规则自定义报警项。您可以单独或批量设置报警项。受监控主机主要指整个集群中的主机。监控项目包括CPU和内存使用情况、系统和日志磁盘使用情况、NIC的传入和传出流量、虚拟和计算服务异常数量以及网络故障数量。您可以分级设置报警项目,使运维人员可以按优先级处理报警信息。设置四个报警严重性。严重程度为W(警告)、C(严重)、I(不足)和O(正常)。W表示小警报,C表示大警报,I表示数据不足,O表示无警报。创建报警时,除了集群中的主机之外,还需要选择监控项目和阈值。您可以一次创建多个报警项,以实现批量创建的效果。如果有其他要求,可以修改创建的报警项。只能修改一个报警项,不能修改所有報警项。修改过程与创建过程类似,但不能批处理。(2) 触发报警时,随着时间的推移,报警信息将变为历史信息。为了避免网络不稳定的影响,引入了多周期触发机制。也就是说,如果连续三个时段触发阈值,则会生成警报。如果未触发阈值,则不会生成报警。不要将报警时间设置得太长(建议设置为1分钟)。每1分钟,系统调用Zabbix插件以获取监控信息,并将其与为报警设置的阈值进行比较。如果报警周期超过阈值,将生成报警。查看历史报警信息时,需要设置过滤条件,如开始时间和结束时间。
2.2.3巡检模块
自动检查包括状态检查和一致性检查。前者主要检测整个集群的基本服务状态,通过调用接口获取最新数据,保证数据的实时采集。后者是对虚拟机状态的比较检测。状态检查可以通过接口调用实现,这里不进行分析。一致性检查是指对操作系统(OpenStack)资源的检查,包括虚拟机、网络、磁盘和映像。虚拟机检测是本模块设计的关键部分。具体设计方法和要点如下:(1)在虚拟机检测设计过程中,Ansible架构中的syscan模块可以用来完成所有工作任务,运行自己的流程,任务完成后,结果将直接写入RbabitMQ,主进程负责实时接收API接口信息。执行POST和GET操作。侦听RbabitMQ以获取流程消息,汇总数据并将其写入文件,然后自动侦听。(2一致性检验结果保存在系统文件中。服务器可以通过调用API接口获取包含检查结果的文件,分析结果,并将结果显示在网页上。在实现自动化时,您可以比较vm状态并重新启动vm以重建基础数据。如果确认了剩余资源,请从相应的VM中删除它们。当主机位置不一致时,需要使用API接口重新启动和删除计算服务,以解决自动问题。
2.3数据库设计
在设计AOMS数据库功能时,应考虑监控和报警。性能监测数据不需要存储在数据库中,因此报警数据的存储成为数据库功能设计的重点。可以通过用户定义的方式删除或添加报警。因此,报警必须包含以下内容:主机名和IP地址、监控项目和阈值。监控项目可以通过集群进行区分。生成报警时,可将其直接存储在相应的历史记录表中。
2.4系统测试
AOMS的设计和开发完成后,需要测试各个模块是否能够正常运行,系统是否能够满足用户的需求。在系统功能测试过程中,AOMS基于云计算平台,因此只需在PC机上测试系统功能,如在运维中心显示报警、在监控首页显示报警、批量创建和删除报警、手动检查等。测试结果表明,上述各项测试均合格,表明所设计开发的系统具有良好的可用性。
综上所述,基于云计算环境的自动化运维系统的设计与开发是一项比较复杂的工作。由于涉及的内容较多,任何环节一旦出现问题,都可能影响系统的功能和性能。因此,要求设计人员掌握设计方法,保证系统的设计质量,为系统功能的发挥提供保障,对促进运维效率的提高具有重要意义。
参考文献
[1]孟垒.Python在自动化运维业务中的设计与实现[J].中国有线电视,2021(04):359-362.
[2]林亮滚.自动化运维监测系统的应用研究[J].工程建设与设计,2020(22):247-248.
[3]金光涛,丰德伟,马小亮,王韬.数据中心自动化运维设计与应用[J].信息技术与信息化,2020(11):68-71.
[4]李明,张靖,吴尚,徐道磊.基于时序数据库的自动化运维技术研究[J].信息技术,2021(06):102-107.