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

引言

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

1Zabbix和Jenkins简介

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

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

2系统设计总体介绍

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

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

2.1服务器监控模块

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

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

2.2告警触发模块

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

2.3预案调用模块

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

2.4可视化配置模块

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

3系统配置实现方法

3.l系统短信发送

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

Problemstartedat(EVENT.TIME}on(EVENT.DATE}Problemname:EVENT.NAME}:(ITEM.VALUE}Host:(HosT.NAME}

severity:(EVENT.sEVERITY}

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

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

3.2动作调用

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

Jenkins出于安全的考虑,在远程调用过程中,需要通过验证用户密码和token来进行安全认证。为此,建议设置独立的用户进行远程调用。远程调用的格式是由用户名、key、JoB对应的URL以及token共同构成。例如:http://triggerurl:d2一4f3347d982c一ca12一cc69323190a3@IP:Port/0enkins/0ob/dblogspartitiondrop/buildjtoken=tokenName。

其中,key的查看需要在Jenkins设置中通过查看用户APIToken实现,且每次查看后都会发生变更。token保护是针对任务而单独设置,不同的任务可以具有不同的token,是通过在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-,PosThttp://triggerurl:d2一4f3347d902c一ca12一cc69323190a3@IP:Port/0enkins/0ob/dblogspartitiondrop/buildjtoken=tokenName,即可调用相关配置预案从而进行相关处理。

4方案实现效果

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

图3系统设计的最终效果

5结语

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

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

为解决使用现有接装纸分离装置生产“视窗烟支”时出现的安装调整难度大、耗时长、稳定性差,烟支接装纸外观质量缺陷率高等问题,设计了一种接装纸三级分离和控制装置。通过接装纸初步分离、分离定位控制和最终定位输送装置模块化设计,且...

关键字: 视窗烟支 接装纸 分离 控制

构建了机载电源特性测试系统 , 包括硬件平台和软件平台:硬件平台用于产生电源特性测试所需激励信号 , 软件 平台实现电源特性测试架构的 自动切换和电源特性的数据采集;硬件平台由APS15000线性功放 、LVA2500线...

关键字: 电源特性测试 测试切换 数据采集 自动控制

作为业内持续专注于物联网(IoT)芯片开发的厂商,Silicon Labs(芯科科技)自2021年剥离基础设施与汽车(I&A)业务后,全力聚焦物联网领域。而随着物联网迈向全场景无缝连接与人工智能(AI)端侧赋能的新阶段,...

关键字: 芯科科技 IoT BLE AoA Sub-G AI

永磁同步电机具有高效节能 、低噪声 、高功率密度等显著优点 ,特别适用于新能源电动汽车行业 。针对城市用轻型 低速电动汽车的应用 , 分析了一款内置式永磁同步电机的设计方法及特点 , 对汽车驱动电机的基本性能及设计策略进...

关键字: 永磁同步电机 新能源汽车 有限元计算 电机设计 内置式

介绍了“W ”型锅炉的燃烧特性 ,深度调峰过程中常见的问题及风险点 。结合某电厂630 MW超临界机组在200 MW负 荷深度调峰过程中给煤机断煤引起的燃烧恶化工况 ,对燃烧恶化后的现象 、处理过程及原因进行了全面分...

关键字: “W”型锅炉 深度调峰 燃烧恶化 稳燃措施

在地铁供电系统中 ,直流牵引系统故障可能会导致地铁列车失电 ,对运营服务造成严重影响 。地铁出入场(段)线 的部分直流牵引供电设备处于露天环境 , 与正线隧道内较为封闭的环境相比 , 易因外部环境影响 ,导致设备故障 。...

关键字: 出入段线 牵引直流开关 电流变化率保护 跳闸

在现代电力系统中 , 无论是大电流 、高电压 、快速运行的电源开关系统 , 还是高速电机的驱动系统 , 电磁干扰的传 播一直是系统设计的难点 。鉴于此 ,介绍了通过控制高速开关核心模块PWM(脉宽调制)的展频方式来减少E...

关键字: 电磁干扰(EMI) 脉宽调制(PWM) 展频

水厂作为城市供水系统的重要组成部分 , 其电气设计的合理性和高效性直接关系到整个供水系统的稳定性和经 济性 。鉴于此 ,从供配电系统 、设备选型 、电缆敷设 、节能措施及智慧化平台等五个维度 , 结合现行规范与工程实践...

关键字: 水厂 电气设计 供配电系统 智慧化平台

由于负载的特殊性和运行条件的复杂性 ,海上油气平台的电气系统功率因数普遍较低 。这种低功率因数会对电力 系统造成一系列负面影响 , 包括电能损耗增加 、设备运行效率降低及对平台电力系统的冲击 。鉴于此 , 结合具体项目案...

关键字: 油气平台 静止无功发生器(SVG) 功率因数 无功补偿 改造案例

在电子制造领域,DFM(Design for Manufacturability,可制造性设计)作为连接研发与量产的桥梁,通过在设计阶段预判制造风险,已成为提升产品良率、降低成本的核心工具。以手机摄像头模组封装工艺为例,...

关键字: DFM BSOB
关闭