三甲医院信息系统运维难题破解:Zabbix + Grafana

科技   2024-12-30 07:35   海南  
【摘要】三甲医院数据中心运维工作存在基础设施环境复杂、运维监控困难等诸多挑战。为提高运维效率和机房环境稳定性,某医院采取了统一管理、自动化监控等措施。在建设统一运维监控平台前,考虑了开源软件和商业化的监控平台软件的对比,最终选择了Zabbix + Grafana 方案,本文详细介绍了该方案的架构设计、监控数据展示等细节,分享了落地的关键步骤和技术难题如何解决,对同行是宝贵的实践参考。

【作者】Conling(笔名),某医院信息科基础设施组运维工程师。负责规划建设医院网络系统,网络安全防护架构,数据中心虚拟化集群,容灾备份等。

一、 医院运维痛点

数据中心机房构成了医院信息化的核心,为医院信息系统提供了运行的物理环境,承载了包括医院信息系统、电子病历、影像系统、检查检验系统等关键业务系统。互联网医院诊疗作为医疗信息化与智慧化的新趋势,是当前医疗信息化发展的一个重要标志。

当前,医院信息化建设正经历着迅猛的发展,医疗信息化幼苗正迅速成长为参天大树。以医院信息系统(HIS)和电子病历(EMR)为基础,集成平台作为主干,各类业务系统如枝叶般繁茂,信息化浪潮一波接一波,发展速度日益加快,规模和体量呈指数级增长。在这一进程中,规范化与稳定性的重要性日益凸显,成为确保信息化健康、有序、可持续发展的关键。机房作为信息化基础设施的承载平台,随着设备数量和类型的不断增加,其复杂性逐渐增加,医院的信息化基础设施监控已成为一项挑战性任务。因此,医院信息科的值班人员必须定时对机房内的设备运行状况进行检查和维护,并进行详细记录,以保障设备的正常运行。

在医院的机房中,运维人员需要检查的设备种类繁多,包括服务器、存储设备、网络设备、不间断电源(UPS)等,且数量级已经发展到几百台物理设备。运维人员不仅要确保这些设备的正常运行,还要及时发现并解决潜在问题。然而,由于基础设施的复杂性,运维人员需要投入大量时间和精力以确保基础设施的稳定运行,这对运维人员而言是一项极具挑战性的任务,因为人无法实现无休止的工作状态。

二、 运维水平提升措施

针对医院信息系统基础设施环境复杂、运维监控困难的情况,我们有考虑以下措施来提高运维效率和基础设施的稳定性:

(1) 自动化监控

通过利用自动化的智能监控系统,可以实时对机房环境及设备状态进行全面监控,及时发现并解决问题,降低故障范围,缩短故障时间。监控系统可以监控安全设备、业务服务器、通信网络设备、存储设备等硬件设备的状态,以及应用程序、数据库、业务系统等软件系统的运行状态,实时预警、报警,及时介入处理故障。

(2) 远程管理

从机房设备信息统计与设备管理配置出发,将设备管理工作通过远程方式进行,可以减少运维人员的机房进出频率,将运维效率成百倍的提升。远程管理可以利用运维监控平台、远程KVM、堡垒机等工具,实现对机房设备的远程管理。

(3) 规范化管理

对机房的管理工作进行规范化,减少管理漏洞。规范化管理包括对机房环境的硬件设备进出、人员进出、线缆连接、机房巡检等进行分类管理,制定管理规范和操作流程,通过定期进行巡检和维护,确保基础设施的规范管理。

(4) 培训提升

对运维人员进行培训,提升信息系统维护技能水平,可以提高运维效率,降低人为故障的发生概率。培训内容包括网络设备使用培训、虚拟化平台维护培训、存储管理培训、网络安全设备管理培训等。

三、 监控平台的建设计划

在建设统一运维监控平台前,医院长期采用 iMC 监控平台对网络设备实施监控,主要通过电视展示网络拓扑图状态来把控网络设备的可用性状态。在对多个商业版运维监控平台展开测试后发现,大多数此类平台依据设备数量来确定许可授权,这使得建设成本居高不下。

在选择监控平台软件时,我们考虑了开源软件和商业化的监控平台软件的对比,这是一个非常重要的决策,因为它直接关系到医院信息系统基础设施的安全和稳定。从功能上来看,商业化的监控平台软件具有更强大的功能,可以更好地监控基础设施,例如具有更高的性能和更完善的功能模块。而开源软件则相对简单,主要的监控功能都是基础的,需要自行定制和开发才能适应特定的需求。

测试期间,对监控平台的常见功能做了一些功能对比:Zabbix 作为开源监控平台,在个性化功能拓展以及应用层监控领域目前还是存在明显不足,不过其在通用性方面表现尚可。就监控数据采集模板而言,主要依靠开源模板自行定义与修改,这一过程与对商业版监控软件的落地实施进行二次修改大体相同。

功能名称商业版监控平台ZBX
可视化智能大屏yGrafana
网络设备监控yy
关键链路监控展示yy
网络拓扑图y
服务器硬件监控yy
服务器操作系统监控yy
URL监控yy
业务系统仿真访问测试yy
端口监控yy
业务系统拓扑图yGrafana
容器监控分析y
应用软件、数据库监控y
系统卡片监控yGrafana
流量分析探针设备y
接口调用分析y
网络流量分析yGrafana
网络响应分析y
业务系统访问情况y
IP会话分析y
告警通知yy
知识库y
健康检查y
IP地址管理y
网络设备配置备份y
网络设备配置合规性检查y
批量执行脚本yy
报表中心y
数据仓库y
CMDB资产管理y
资源扫描发现yy

另一方面,从成本管理的角度出发,开源软件的投入成本很低,这也是我们愿意使用开源运维监控平台软件的最主要原因之一。在运维监控平台实施过程中,开源软件可以为医院节省大量的费用,与商业化的监控平台软件相比,开源软件的使用成本更加经济实惠,不需要支付高昂的授权费用和维护费用。这对于医疗行业而言,是非常重要的,因为医院的财务状况通常比较紧张,这些额外的开支可能会对医院的日常运营产生负面影响。


四、 开源运维监控平台 Zabbix

在我们的实践中,我们选择了开源软件 Zabbix 来实现医院的运维监控平台。它具有完善的监控功能,可以监控网络、服务器、应用程序等,可以满足医院信息系统基础设施监控的各种需求。

通过实时采集设备的运行状态,及时发出问题告警通知,定制告警事件的发送规则,信息、警告级别的时间不影响系统运行,只需要大屏显示,无需发送告警通知信息;一般严重、严重级别的告警事件通过微信、钉钉实时发送到运维小组人员,或定制电话通知到事件责任人;灾难级别的告警则电话通知运维小组人员立即进行事件故障处置。通过以上事件告警处置标准,保障信息系统基础设施的正常运行。

Zabbix 具有强大的灵活性和可扩展性,支持大量的自定义监控指标以及触发器,可以通过监控采集器配合Agent调用自定义的监控脚本,根据各业务的实际情况个性化设置不同监控指标,从而更好地完成运维监控任务。也可以根据具体需求自行二次开发和定制监控模板,接入不常见的设备类型或监控需求。在 Zabbix 系统架构方面,各功能模块都支持分布式部署,可根据监控量灵活扩展监控系统资源,分散在各个网络的 Zabbix Proxy提供了多网络统一监控的可能。此外,通过 Zabbix API接口也可以实现监控数据导出汇总分析与资源使用预测等。

在实施过程中,我们也遇到了一些挑战和问题。例如, Zabbix 的各项监控器在使用环境要进行适应性修改,以满足医院的特定需求。同时,我们还需要考虑安全性和可用性的问题,操作系统要采用国产系统,搭配容器部署。因此,我们需要在实施过程中认真考虑各种风险,并采取相应的措施,以确保监控平台的安全和稳定。

五、 Zabbix + Grafana方案的落地

(1) 架构设计

Zabbix 支持分布式部署的方案,功能模块独立部署增加平台稳定性,根据可用性要求,服务端与数据库可以部署各自的高可用方案。在多个网络可以部署Proxy代理端,监控网络内的设备运行状态,通过多个Proxy可以有效分担Server端的数据处理压力。在一个医院基础设施中,会有很多上线多年的系统难以更换或升级, Zabbix 对于操作系统的兼容性非常好,支持SNMP采集系统状态,也可以安装Agent进行更全面的监控与扩展,旧版本的 Zabbix Agent允许接入新版本的 Zabbix Server进行数据采集监控。

图1 运维监控系统运行架构图

Zabbix Server端作为总控制台更适合部署在外网区域,注重监控数据的接收与告警信息的发送。外网区域的 Zabbix Server可以非常方便地通过互联网发送告警信息到用户的手中。使用TCP10051端口接收来自其他网络Proxy端传输的数据。告警功能需要Server可以访问互联网或借助独立设备例如短信猫,发送信息到达用户的电话/邮箱/微信/钉钉等媒介。其他网络区域安装部署 Zabbix Proxy端,Proxy会代理监控数据的采集工作,并将数据发往Server端进行数据汇总。

图2、3 微信、钉钉、电话告警通知效果

图4 监控事件引入AI解读分析

(2) 监控数据展示

在运维监控平台部署的方案中,完成了监控数据的采集与记录、分析展示以及告警通知。为了更好地监控信息系统运行状态,我们采用了 Zabbix + Grafana的组合方案。

图5 Grafana数据展示效果1

作为一款流行的开源可视化工具,Grafana在运维监控平台中的应用也变得越来越普遍。它是一个灵活、易用的平台,能够将 Zabbix 所收集的数据进行可视化,从而让运维人员更好地监控和管理基础设施。

通过使用Grafana,我们可以快速地查看基础设施的各项指标,并且可以根据需要自定义监控面板。比如,我们可以使用Grafana的模板库来快速创建面板,同时还可以根据自己的需求进行调整和定制。此外,Grafana的插件库也非常丰富,可以为监控面板添加各种不同类型的插件,比如图表、表格、日历等,以更好地展示数据。

除了提供可视化的监控界面外,Grafana的自定义报表功能也很出色,这对于医疗行业的数据分析和监控十分重要。我们可以使用Grafana的报表工具来创建各种报表,并且可以根据实际情况进行设置和调整。这些报表可以帮助我们更好地了解基础设施以及业务系统服务器设备的各项指标,同时也可以为我们准备好更多的数据分析和决策支持。

综上所述,Grafana这个数据可视化工具,着实为我们带来了惊喜,给我们的运维监控平台提供了极大的帮助。它不仅可以将 Zabbix 收集的数据进行可视化,同时还支持自定义监控面板和报表,让我们能够更好地监控和管理基础设施。通过这样的方式,我们可以更快速、更准确地识别基础设施中的问题,从而更好地保证医院信息系统的正常运营。

图6 Grafana数据展示效果2

在我们的部署方案中,数据分析按使用场景主要分为两种,一是通过 Zabbix 监控项的历史数据折线图展示数据变化趋势,进行跟踪分析;二是通过不同时间节点的数据报表进行异常值分析,并进行数据变化趋势的预测。

图7 监控项数据变化趋势图

通过安装部署 Zabbix 运维监控平台,可以发现我们已经大幅度提高了运维效率,对基础设施不稳定的风险可以做到及时地发现和处置。运维监控平台可以帮助运维人员快速发现和解决问题,减少故障处理时间和工作量。同时,可视化监控可以帮助运维人员直观地了解基础设施的运行状况,从而更好地管理机房设备,确保医院的医疗信息系统的持续高效稳定运行。

六、 Zabbix 的部署实践

在 Zabbix 的部署实践过程中,有一些参数需要进行优化,以确保 Zabbix 系统的稳定性和高效性。

在配置 Zabbix 服务器的硬件资源方面,监控规模在500台主机以下时,建议配置8C、16G 内存以及所需的磁盘空间,通常不超过300G即可。注意创建至少1个Proxy分担Zabbix Server的运行压力,以确保系统能够处理大量的监控数据,并保证系统的响应速度。

监控规模达到上千台时,需要酌情考虑增加内存与存储空间,内存可以提升数据查询效率与缓存空间大小,存储空间可以允许我们保留更久的监控数据。

图8 Zabbix 服务器的配置

Zabbix 的主机监控模板是整个监控平台管理的核心配置任务。主机模板中监控频率过高会导致大量的监控数据被收集和处理,从而占用过多的系统资源;而监控频率过低则会导致异常情况无法及时发现,从而影响基础设施的稳定性。因此,需要根据系统的重要程度、实际情况对监控对象进行合理的监控频率调优设置,可以禁用无关紧要的监控项降低监控负载,也可以通过提升监控频率来快速发现异常事件。

图9、10 主机监控按系统重要程度定制

有些监控项因设备状态变化原因,会反复触发阈值监控告警事件,我们可以在平台管理过程中持续发现并动态调整对应的监控项。将频繁触发的事件进行事件级别调整或调整单个主机的监控阈值,即可有效的对运维监控平台降噪,提升运维平台告警事件的准确性。

图11 监控事件最近1周Top

实现自动化运维监控平台的过程并不容易,需要经历多个关键步骤和解决许多技术难题。

(1) 设备监控对接

在设备监控对接到报表平台的数据对接开发过程中,我们需要对接各种不同厂家的设备,保证它们可以被成功对接到 Zabbix ,并提供准确的数据。这涉及不同设备的协议、数据格式等问题,需要针对不同的设备进行定制化开发和调试。另外,我们需要根据业务系统的重要程序差异设置不同的监控指标,以便及时发现异常情况并采取相应的措施来消除故障。这也需要了解不同设备的工作原理和监控指标,以便确定合适的监控策略和参数设置。在这个过程中,我们需要与设备厂商、运维人员等多方进行沟通,以保证监控指标的准确性和可操作性。

(2) 数据展示

最后,我们需要将数据传递进入Grafana提供数据的汇总展示,并设计仪表盘,以便运维人员可以轻松地了解各系统设备的运行状况,并在科室内使用大屏进行实时状态的展示。在设计仪表盘时,我们需要根据运维人员的需求和实际监控情况进行设计,以便提供直观、易懂的监控界面。同时,我们需要对数据进行分析和挖掘,以便发现隐藏在数据中的规律和异常情况,并及时采取相应的措施,增加机房设备运行的稳定性和可靠性。

(3) 功能优化扩展

在实现自动化运维监控平台的过程中,需要不断地进行测试和优化,以确保运维监控系统的可靠性和高效。根据Proxy管理的监控主机数,调整采集进程的运行数量,避免出现任务队列堆积。同时,我们还需要扩展运维监控平台的功能组成,例如电话告警脚本、微信钉钉告警通知脚本等,使其变得更加强大。

七、 运维监控平台现状

在成功部署 Zabbix 与Grafana集成方案后,我们已经添加了1400余个主机监控,2024年已出发电话告警238次,Zabbix 显著提升了基础设施运行状态监控的效能。该方案通过自动化监控设备运作状态,有效保障了医院信息业务系统的稳定性。通过将各类设备接入 Zabbix ,实现了对设备数据的高效收集与分析,进而实现了对设备运行状态的实时监控,并能够及时识别及解决潜在问题。此外,利用Grafana对 Zabbix 收集的数据进行可视化展示,确保了值班和运维人员能够实时掌握基础设施的运行状况,从而优化了管理效率。

图12 运维监控平台现状

运维监控平台的优化不仅止于改进 Zabbix 、Grafana和报表平台的功能。为了更好地实现自动化运维监控,我们将采用更多的技术手段。例如,我们计划引入机器学习算法来进行异常检测,从而实现对基础设施的自动化监控;我们也计划使用容器技术来部署运维监控平台,以便更好地管理和维护运维监控平台。

此外,在实际的运维监控中,我们也需要注意一些实用技巧。例如,我们需要建立完善的监控报警机制,及时发现和解决基础设施故障问题,以避免出现较大的故障。最后,我们认为,运维监控平台的优化需要不断地进行调整和改进。因为在信息系统基础设施架构中,新的设备、新的问题、新的需求都可能随时出现。只有通过不断地优化和改进,才能更好地适应变化,并实现更加高效、自动化的运维监控。

未来,我们将继续改进我们的运维监控平台,通过建设CMDB平台,联动运维监控平台与日志监控平台,改进大屏展示效果,实现基础设施全生命周期的规范化管理,通过统一告警平台,提升信息系统可用性,进一步提高运维管理水平。自动化运维监控平台的建设对于医院信息系统的安全、稳定和高效运行至关重要。通过不断改进和完善我们的平台,我们将从运维监控出发,提供更高效、更可靠、更智能的信息系统可用性保障解决方案。

欢迎点击文末阅读原文到社区原文下讨论交流

觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到


 资料/文章推荐:


欢迎关注社区 “智能化运维”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Topic/125353

下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

twt企业IT社区
talkwithtrend.com社区(即twt社区)官方公众号,持续发布优秀社区原创内容。内容深度服务企业内各方向的架构师、运维主管、开发和运维工程师等IT专业岗位人群,让您时刻和国内企业IT同行保持信息同步。
 最新文章