当前位置:首页 > 工业控制 > 《机电信息》
[导读]摘要:随着分布式计算服务的不断发展,信息系统所使用的服务资源越来越多,所涉及的设备也越来越多,而出于成本的考虑,运维人员却越来越少,因此,如何通过运维自动化缓解工作人员的压力显得尤为重要。现通过Zabbix自动告警配合Jenkins的任务配置,提出了一种能够可视化、可追踪的自动故障处理方式,可以有效提升系统的自动化运维水平。

引言

随着分布式系统以及x86服务器的大规模运营,系统所涉及的主机越来越多,应用的服务器类型也越来越多,使得业务复杂度逐步提升,运维人员的工作强度和压力也越来越大。为解决这一问题,提升维护工作的自动化水平势在必行。在系统日常维护工作中,故障处理是最常见的问题,对常见故障进行自动化处理,能够在极大程度上减轻维护人员的压力。本文将基于Zabbix和Jenkins,研究并设计一个自动化故障处理方案。

!$0ZZab和ienkans简介

Zabbix是开源分布式监控方案之一,具有良好的可用性和可靠性,能够对系统中的机器磁盘、CPU、内存以及网络状况进行实时监控并进行可视化呈现。相对于其他的开源监控软件,如Nagios、Cacti等,Zabbix具有更好的中文兼容性以及更好的文档支持[l]。

Jenkins是一个开源软件,其主要目的是为了对于持续的重复性工作进行可视化展现[2],旨在提供一个开放易用的软件平台。Jenkins具有丰富的插件,包括ssH、0racle、HTTPP0sT等,提供了易于扩展的能力,为配置化操作提供了便利[3]。

2系统设计总体介绍

系统总体设计流程如图1所示。

故障自动化处理是通过使用Zabbix对主机进行监控,配合Zabbix配置的触发器进行动作触发、告警,并通过调用在Jenkins配置的任务而实现的,并且可以运用短信进行可视化追踪呈现。整体设计包括4个模块:服务器监控模块、告警触发模块、预案调用模块、可视化配置操作模块。

2.!服务器监控模块

服务器监控模块主要用来采集每台生产机器的信息,是整个监控系统的核心。利用部署在每台生产机器上的ZabbixClient客户端对主机的信息进行采集,信息包括内存、CPU、磁盘、网络状况以及服务运行情况等。

监控平台通过服务器主机IP或者主机名对于不同的主机进行区分,实时对系统上报的信息进行处理,同时进行数据存储和展示。

2.2告警触发模块

告警触发模块是通过配置在Zabbix主机中的触发器和阀值来实现的,例如,当CPU可利用率高于阀值时就会进行告警:内存剩余可利用率低于阀值触发告警。对于一个具有较小容量的磁盘来说,80%的磁盘利用率已经具有很高的风险性了,而对于一个较大空间的磁盘而言,l0%的磁盘剩余足够安全运行很长时间。因此,对于不同的指标、不同的业务场景,需要配置不同的触发器以及阀值。服务器监控模块中的数据一旦满足触发器条件,触发器即会工作,触发相应的动作,Zabbix提供了多种操作方式,如Curl调用、ssH命令执行以及短信邮件等操作。

2.3预案调用模块

相对于Zabbix提供的操作方式,Jenkins的扩展性更为优秀,提供更多插件,Jenkins提供了极具扩展性的使用方式,无需进行代码编写,即可实现数据库sOL执行、shell脚本执行、HTTP请求执行等功能,具有优秀的可视化能力。本文采用ssH方法对远程主机的服务进行重启,磁盘空间清理、对数据库长会话进行监控处理、对锁表进行杀锁操作等,均可以通过Jenkins的配置操作方法实现。

2.4可视化配置模块

在Zabbix以及Jenkins中通过配置化的操作告警以及触发器和预案处理方式进行配置,避免了传统告警触发机制的黑盒化、脚本化。将故障和数据清晰展示在维护人员面前,进一步提高了运维水平,并降低了人员要求。

3系统配置实现方法

3.1系统短信发送

Zabbix的短信发送预置方式为调用串口进行短信发送,直接调用即可发送到设备。在目前的系统建设中,较少采用这种方式,而是采用PosT请求或者数据库插表的方式实现。短信内容在数据库插入表之后,后台发送进行扫描,这种处理方式具有较好的抗挤压性,可以提供较好的缓冲能力。本文通过编写脚本,将告警短信的接收者和接受短信设置为参数,传入后台sqlplus脚本中进行数据插入,Zabbix的短信模板如下:

Problems=ar=eta=(EVENT.TIME}on(EVENT.DATE}Problemname:EVENT.NAME}:(ITEM.VALUE}Hos=:(HosT.NAME}

severi=y:(EVENT.sEVERITY}

originalproblemID:(EVENT.ID}(TRIGGER.URL}

对于sqlPlus脚本而言,不同参数的传递是根据空格区分的,需要对后续参数进行合并,sqlplus脚本中第一个参数为接收者号码,而第二、第三以及第N个参数均为告警内容,在shell中使用msg='echos(@:2}'进行合并,将msg向后传输即可,最终生成接收者号码和短信内容的脚本进行传送。

3.2动作调用

触发器被触发后,调用短信模块将告警信息发送给接收者,同时利用Curl工具调用Jenkins中已经配置好的预案。

Jenkins出于安全的考虑,在远程调用过程中,需要通过验证用户密码和=oken来进行安全认证。为此,建议设置独立的用户进行远程调用。远程调用的格式是由用户名、key、JoB对应的URL以及=oken共同构成。例如:h==p://=riggerurl:t2一4f3347t982c一ca12一cc69323190a3@IP:Por=/0enkins/0ob/tblogspar=i=iontrop/builtj=oken==okenName。

其中,key的查看需要在Jenkins设置中通过查看用户APIToken实现,且每次查看后都会发生变更。=oken保护是针对任务而单独设置,不同的任务可以具有不同的=oken,是通过在Jenkins任务中"触发远程构建(例如,使用脚本)"来设定的。3.3Jenkins预案配置

系统触发告警后,如果立即触发故障处理,有可能在测试中造成系统不可用,因此,在预案被调用后,故障处理的最合适时间应该是等待N分钟后,并能够提供可取消的方案,从而避免被认为是误操作。在本文设计的方案中,调用预案后,通过Jenkins发送触发短信。系统提供URL可以实时取消,如果无人取消或者操作,系统将继续下一步,等待任务,并在完成后进行结果告知。

触发短信的模板是通过Jenkins预置参数来构建的,Jenkins的常用预置参数如表1所示:

利用这些内置参数,可以构建短信模板:如"xxxx告警触发任务:s(JoBNAME},s(BUILDURL},让系统等待5min后自动处理,可通过点击URL查看或取消",系统等待功能可通过sleep命令实现,最终配置如图2所示。

完成后可以进一步在Jenkins中添加其他故障处理配置,如重启服务、清理磁盘文件、调用数据库脚本等,从而实现系统故障的自动化处理。

3.4Zabbix动作配置

Zabbix采集到的数据经过触发器后,需要调用Jenkins中的任务进行处理,在Zabbix中进行动作添加即可实现。在Zabbix的动作操作中选择Zabbix服务器执行命令,脚本如下:

curl-xPosTh==p://=riggerurl:t2一4f3347t902c一ca12一cc69323190a3@IP:Por=/0enkins/0ob/tblogspar=i=iontrop/builtj=oken==okenName,即可调用相关配置预案从而进行相关处理。

4方案实现效果

在Zabbix收集到的数据经过服务器处理后,如果达到了触发器条件,则会首先发送告警短信给运维人员,然后调用Jenkins中的预置任务进行处理。Jenkins再次发送确认短信,如果无人操作,则继续工作,完成任务并发送结束告知短信。系统设计的最终效果如图3所示。

5结语

随着分布式系统的广泛应用,可视化维护以及自动化运维已经成为当前研究的热点话题,相对于传统的监控告警、人工上线等处理方式,本文设计的基于Zabbix和Jenkins的自动化故障处理方案具有可视化、可追踪的特点,一方面实现了对系统健康度的监控,另一方面能够对于常见故障进行实时自动处理,具有一定的实用价值和先进性,并进一步提高了运维质量,有效缓解了运维人员的工作压力。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

8b10b编码作为数字通信领域中的一项重要线路编码方案,其核心理念在于将每8位数据映射到10位编码中。这个映射过程严格按照特定规则进行,旨在保证编码中的电平转换足够,以维持信号的直流平衡,并提供足够的时钟信息,使接收端能...

关键字: FPGA 8b/10b编码 IC设计

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

选择正确的电容器种类、功率电感器、开关频率和半导体对于 DC/DC 开关电源控制器的效率至关重要。做出正确的选择并非易事,但即使做出了正确的选择,控制器也必须具有高效率且符合 EMC 要求才能上市。

关键字: DC/DC 转换器 EMC

智能合灯控制系统由环境光照检测、人体接近检测、语音识别、按键控制、合灯控制、数据显示、蓝牙通信、报警提示功能模块组成。

关键字: STM32 智能台灯

捡球机的移动装置以直流电机驱动,寻球装置以摄像头图像传感器模块构成,并搭配以图像检测算法。避障装置以红外检测和报警模块为主,以防在行动过程中触碰障碍物。

关键字: STM32 捡球机

利用数控机床进行机测时可以通过机床本体与测头来完成。

关键字: DSP 数控机床

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

香港生产力促进局日前参与“机遇汇人才博览展”,在展位提供面谈机会,活动反应热烈,吸引来自内地、新加坡、加拿大、英国等地区的海内外人才广泛关注。

关键字: 科技 人才

5月7日,香港生产力促进局与HP达成一项合作协议,将在香港建立“生产力局 - HP 3D打印技术中心”(中心)。该中心将专注于积层制造技术,即3D打印技术的应用研究和开发,旨在成为中试转化的重要基地,通过先进的3D打印技...

关键字: 3D打印

香港“生产力局 · 中小企支援”4月30日公布2024年度第二季“渣打香港中小企领先营商指数”(“渣打中小企指数”)调查结果,本季综合营商指数较上季回升3.6至47.3,反弹至2023年第四季的水平(47.6)。

关键字: 营商
关闭