APP下载

基于Zabbix的电力信息服务器告警及巡检一体化系统设计

2022-04-18谭理珂张晓光

水电站机电技术 2022年4期
关键词:积压触发器运维

谭理珂,张晓光

(广东省能源集团天生桥一级水电开发有限责任公司水力发电厂,贵州 兴义 562400)

1 Zabbix基本概述

Zabbix是一个基于web界面的提供对各种分布式信息系统监视以及网络监视功能的企业级开源解决方案[1]。可适用于各类Linux、Free BSD、Windows(2000/2003/XP/Vista)、WindowsNT4.0、AIX、Tru64/OSF1、Windows sever、Open BSD、OSX等系统。分为Zabbix server和Zabbix agent配合,服务器端轮巡使用Zabbix agent插件,可以选择主动接收Zabbix agent发送的监视包,或被动接收Zabbix agent发送的数据包。还可以配合SNMP协议收集交换机等设备监视数据包[2]。

由于Zabbix系统具有系统开源免费、安装配置简单、支持多种语言等优点,并且具有可收集监视数据广泛,包括CPU负荷、内存使用情况、磁盘使用情况、网络状况等。可用于电力信息服务器的状态监视及告警推送,本系统就是基于Zabbix进行设计。

2 电厂服务器巡检需求分析

电厂服务器巡检一般为实体服务器巡检+网络监控巡检相结合的巡检方式,当巡视服务器存在告警信号时通常需要通过终端登陆服务器后台查看告警信息。网络监控巡检需要逐个登陆服务器查看告警信息,费时费力还容易存在人工巡检时遗漏现象。为达到快速获取告警信息,以及降低人工成本,提出如下需求:

(1)告警信息及运行信息自动采集;

(2)告警信息及运行信息汇总并图形化展示;

(3)实体服务器巡检时能通过移动终端或web网页及时查询告警信息及运行信息;

(4)存在告警时能推送至运维人员。

基于以上需求,建立本系统以满足厂站信息系统巡检需求。

3 总体架构

3.1 数据采集

虚拟化服务器通过直接安装Zabbix agent将实时告警信息推送至Zabbix服务器,AC控制器及交换机、路由器等网络设备则通过ICMP/IPMI/SNMP等报文形式监测系统状态及告警信息[3]。

3.2 数据存储

将 存 储 数 据 分 为actions、Trends、Hosts、History、Items、Events、Trigger等几个数据表,设ID为主键,将其余所有外键通过主键ID关联起来。其中actions中存储了当触发器动作时应该采取的动作;Hosts用于存储监控主机中的hosts记录;Items用于存储监控主机中的Item设置[4]。

3.3 数据展示

运维人员通过web访问客户端,可查询的数据包括设备的历史信息记录、实时信息及状态和服务器的信息及状态等数据。可以选择查询主机的实时监控项数据,也可以选择监控项数据查看所有主机当前监控项的数据对比。对查询的数据和监控采集到的数据进行分类整理,生成对应的报表数据。

3.4 告警推送管理

Zabbix系统自带多种告警推送功能,常见的有邮箱告警、Jira告警、短信告警等。如需配置以上告警通知,直接通过Zabbix中调用告警通知的接口程序。但由于邮箱告警经常发生延迟告警的情况,并且考虑到运维人员不能随时查看邮件信息。Jira告警需要登录Jira界面才能接收到信息,也不能满足简单方便运维人员工作的要求。短信告警需要配置短信告警服务器购买短信费用,也存在告警信息过多或短信误屏蔽等弊端。所以最好采用能实时将告警推送到即时通信类软件中,本系统选择通过企业微信来推送重要设备告警或严重告警,避免告警信息推送过多造成告警覆盖。由于电厂运维人员工作性质,需要定期对设备进行巡检工作,定期巡检时则采用web查询告警。

3.4.1 登陆web查询告警

运维人员通过web登陆客户端,在客户端首页可设置仪表板,显示存在的告警信息以及主机Zabbix agent运行状态。可查看主机实时状态及实时告警信息。

从“监测-主机”中可查看所有设备在线情况、设备实时状态、设备重要信息(如C盘容量、CPU阈值信息、内存使用信息等)。通过图形界面可查看设备重要信息的趋势图及历史信息,趋势图能直观反映设备一段时间内的运行健康情况,判断服务器性能是否符合应用系统需求,根据实际情况合理调配服务器性能,满足应用系统需求的同时做到精简配置。

3.4.2 企业微信告警推送

系统通过设定某些监控值达到设定阈值时进行告警推送至企业微信,企业微信可查看主机名称、时间、IP、告警项目及详情等信息数据。可自定义推送内容及告警项、阈值等信息[5]。

3.4.3 自定义告警信息

由于Zabbix系统告警及事件推送过多,不能将所有告警信息和事件都推送至企业微信内,所以必须在微信告警推送中自定义推送的内容,选择性的发送重要告警或者重要设备事件,而不是将所有告警信息和事件统一推送,一般告警信息由每天定时web登陆查看。

由于Zabbix系统不自带企业微信告警推送模块,本系统通过自定义Python脚本进行告警推送。通过脚本将Zabbix采集的告警信息,由群聊机器人发送至企业微信群中。可以自定义发送告警的严重程度,确保维护人员能够看到重要设备告警信息。当主机出现告警后,则发送至企业微信群内,并用脚本生成发送日志,即可查看发送成功率。

在Zabbix后台配置动作,发生对应事件源后触发触发器,在动作选项栏内点击“创建动作 ”填写对应的信息;在动作页面填写对应的信息,本文以服务器设备内存使用率超过9成为例,设定需要同时符合以下条件才触发触发器。

A and B

A:主机群组=Windows servers;

B:触发器=Windows servers模板内的物理内存使用率在连续的5 min等于或大于90%。

满足条件后触发触发器,在操作中作出对应的动作,设定操作步骤多久执行一次、操作标题及消息内容。操作类型中选择发送消息。并对应的配置恢复操作时发送复归消息。消息格式需要采用Zabbix使用宏才能发送消息。

问题:{EVENT.NAME}

告警信息:{TRIGGER.NAME}

告警地址:{HOST.NAME}

监控项目:{ITEM.NAME}

监控取值:{EVENT.VALUE}

告警严重性:{EVENT.SEVERITY}

当前状态:{EVENT.STATUS}

告警时间:{EVENT.DATE} {EVENT.TIME}

事件ID:{EVENT.ID}

告警信息:{TRIGGER. NAME}

告警地址:{HOST.NAME}

监控项目:{ITEM.NAME}

监控取值:{EVENT.RECOVERY.VALUE}

告警严重性:{EVENT.SEVERITY}

当前状态:{EVENT.RECOVERY.STATUS}

告警时间:{EVENT.DATE} {EVENT.TIME}

恢复时间:{EVENT.RECOVERY.TIME}

持续时间:{EVENT.AGE}

事件ID:{EVENT.RECOVERY.ID}[6]

在Python脚本中按照企业微信推送格式编写推送脚本,即可将告警信息推送至企业微信中。

4 基于Zabbix的电力信息服务器告警及巡检一体系统设计

图1为基于Zabbix的电力信息服务器告警及巡检一体系统的架构图,在厂站虚拟化服务器系统中新建Zabbix服务器,采用B/S结构,巡检人员通过浏览器查看服务器实时状态、企业微信等第三方APP接收服务器实时告警。对实体服务器、交换机等设备进行巡检时,直接扫描服务器设备标识中二维码,通过内部网络查看实时状态及实时告警信息。

2.积压物资责任划分不明确。一直以来物资积压的主体由物资供应部门负责,计划提报部门、审核部门、设计部门等都不承担积压的责任,而物资积压的源头却是来自于这些部门,因为积压考核与计划提报脱钩使得计划申报不准确得不到约束,导致需求计划提报随意性较大。供应部门为了防止及处理积压采取过很多的手段和方法,如制定最低储备定额、厂家回购、利库代用、ABC库存管理,有一定的效果,但无法从根本上减少物资的积压。而且大部分方法都是事后处理,工作的重点放在了处理积压上,年年处理年年增加,无法从根本上解决积压的形成。

图2 基于Zabbix的电力信息服务器告警及巡检一体系统的架构图

将实体主机Zabbix地址生成二维码,同设备标签张贴于实体主机上。当告警产生或设备巡检需要查看服务器信息时,可使用移动终端扫描二维码,快速查询实体主机服务器实时告警及实时信息。

运维人员巡检时采用实体服务器巡检结合Zabbix二维码查询服务器状态信息,通过企业微信告警信息推送实时接收服务器告警。将告警信息与巡检系统集合为一体,提高运维人员管理各个分散系统的工作效率,面对突发情况更能从容的面对和处理。

5 应用效果

目前基于Zabbix的电力信息服务器告警及巡检一体系统内已接入主机数量91台,监控项数量26 226项,触发器数量13 007项,其中触发器故障数为46项,故障率为0.3%。严重告警推送18项,因严重告警推送至运维人员,得到及时处理告警项,避免了事故进一步发展,保障了电厂内信息服务器的稳定运行,取得了较为理想的效果。

本文系统运行稳定,故障推送及时,系统投运使用前通过MyEclipse软件平台进行采集时间及告警准确率测试,测试结果见表1。

表1 采集时间及准确率测试

分析表1中的数据可得,数据量在3 000 b内,采集时间均能实现1 s以内,平均采集时间仅为0.63 s,且平均准确率为97.97%。系统采集时间、运算性能及告警准确率都能满足现有电厂服务器需求。

6 结束语

本文利用Zabbix开源系统,针对电厂信息系统管理系统进行设计,实现对电厂内部服务器、交换机、网络、应用程序等分散系统的统一管理。设计了基于Zabbix的电力信息服务器告警及巡检一体化系统,对告警查询、告警推送、设备巡检、后台维护等流程进行优化,使得运维人员能迅速且准确地发现故障、确定故障原因从而解决故障,提高了工作效率,进一步提高了电厂系统运行的可靠性。

猜你喜欢

积压触发器运维
高速公路智能运维平台
配置触发器有条件启动Windows服务
珠三角水产品存塘积压真的大得惊人吗?千万别好心帮倒忙
运维技术研发决策中ITSS运维成熟度模型应用初探
波音的烦恼
触发器在酒店管理系统中的应用
配电线路的运维管理探讨
基于一体化的变电标准运维模式
几种常见触发器工作方式的讨论
基于电路原理的触发器波形分析