暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

“国家荣耀”国家超级计算机广州中心,面向大规模集群的自动化监控系统

Zabbix开源社区 2021-07-01
174

本文转自 杨杰,曾凌波,彭运勇,等. 面向大规模集群的自动化监控系统[J]. 计算机工程与科学,2020,42(10):1801-1806.

杨杰等作者为中山大学国家超级计算机广州中心工程师。

国家超级计算广州中心业务主机“天河二号”超级计算机系统是国家十二五863计划重大项目的标志性成果,由国防科学技术大学承担研制。“天河二号”一期系统峰值计算速度达到每秒10.07亿亿次、持续计算速度达到每秒6.14亿亿次、总内存容量约3PB,全局存储总容量约19PB。“天河二号”峰值计算速度、持续计算速度以及综合技术水平处于国际领先地位。2013年至2015年,“天河二号”在超级计算机500强排行榜上连续六次排名世界第一,成为世界超算史上第一台连续六次夺冠的超级计算机,打破超算领域世界纪录。


为了解决大规模集群可用性、稳定性的问题以及系统管理和系统运维难度大的问题,实现了一套大规模集群自动化监控系统。 该自动化监控系统部署在大规模集群系统上,通过收集集群各组件的监控数据,利用微服务的方式处理监控数据,实现对集群各组件的实时监控。



一、大规模集群自动化监控系统架构设计


中山大学超级计算广州中心的大规模集群自动化监控系统运行在一套大规模集群上,该集群规模庞大,全系统共有13000多个结点;整个系统由计算结点、ION路由转发结点、集群管理结点、集群登录结点、存储系统和内部互连网络组成。


大规模集群自动化监控系统共分为4个层次:数据采集层、数据存储层、数据处理层和数据展示/报警层,整体架构图如图1所示。


二、数据处理层


2.1 数据采集层


数据采集层由Zabbix agent、Filebeat和自有数据采集脚本3部分组成:Zabbix agent部署在被监控服务器上,用来采集服务器的基本数据,Zabbix agent将采集到的服务器的基本数据发送至Zabbix server对应的数据库中存储;Filebeat监控特定目录或日志文件,它将采集到的日志数据转存至Elasticsearch集群中;自有数据采集脚本部署在集群管理结点上,周期性采集系统相关数据,采集到的数据存储在集群自建mariadb gelera集群中。


2.2 数据存储层


底层数据采集层将采集到的数据进行持久化的存储,对应底层数据采集的3个部分,数据存储也分为3个部分:Zabbix server集群、Elasticsearch集群和mariadb gelera数据。Zabbix agent采集的数据存储至Zabbix server集群对应的双主数据库集群中,保证了采集数据的高可用性。


2.3 数据处理层


数据处理层的功能是对底层采集的监控数据进行过滤,本文利用Python的微服务框架nameko8对底层监控数据进行处理,利用微服务将大规模系统中不同组件的监控实现成各组件对应的监控微服务,不仅将大的监控任务分解为多个小的监控服务,实现监控功能的解耦,而且加快了开发进度,缩短了开发周期。监控微服务调用Zabbix server SDK和Elasticsearch SDK对Zabbix监控数据和日志监控数据进行处理,监控微服务连接mariadb gelera集群处理系统自定义数据采集脚本采集的数据,每个监控微服务中同时实现定时器函数和restful API函数。定时器函数用来周期性处理监控数据,从监控数据中及时发现预警和报警信息;restful API函数将原始监控数据转换成新的数据格式供前端进行调用展示。定时器函数流程如图2所示。


2.4 数据展示/报警层


前端调用数据处理层实现的restful API接口,获取到特定监控项处理后的监控数据,前端根据集群自身的特点渲染前端页面,保证管理员能够一目了然地全面了解集群各个组件的运行状态,同时前端也会展示历史报警信息,管理员能够查询全系统历史报警信息。


三、大规模集群自动化监控系统实现的功能


3.1大规模集群各组件的实时监控


(1)集群各计算队列使用率实时监控:实时监控集群中各计算队列使用情况,包括队列使用率、开放结点数、使用结点数、空闲结点数和排队作业数。

(2)集群各关键服务实时监控:实现了集群关键服务状态的监控,包括资源调度服务slurm、集群用户认证服务openldap、IB网管理服务opensm和数据库服务mysql等服务状态实时监控。

(3)集群内部互连实时监控:实现了对内部互连网络的实时监控,包括内部高速互连拓扑、在线芯片数、配置故障、拓扑故障、握手故障和重传故障的实时监控。

(4)集群关键结点日常状态实时监控:集群中管理结点和登录结点状态的监控,实时了解关键结点的运行状态。

(5)集群调度系统日志实时监控:实现了对资源调度服务日志的全监控,包括资源调度日志总条目数、创建作业条目数、报错条目数和繁忙日志条目数的实时监控。

(6)集群文件系统状态实时监控:集群文件系统为共享文件系统,文件系统本身状态和性能监控至关重要。文件系统状态监控实现了对文件系统本身的可用性、文件系统读写性能、文件系统IOPS以及文件系统后台服务器状态、后端存储盘阵状态的监控。 


3.2报警信息推送服务


报警信息推送服务实现了邮件和钉钉消息的推送接口,推送接口用来进行报警信息推送;邮件推送接口利用Python的smtplib库实现;钉钉群推送接口调用钉钉开放平台的webhook实现消息推送。


3.3故障历史记录


报警日志微服务提供查询故障历史记录的,restful API前端调用报警日志微服务API接口实现故障历史的全展示,包括故障源、故障发生时间、故障恢复时间和故障类型等信息。


3.4实验结果


大规模集群自动化监控系统部署在天河二号上,对结点状态、存储状态、网络以及关键服务等进行监控,为了在13000个结点规模下稳定运行做了大量的实验,根据采集数据的规模、底层数据库的性能压力等,确定出了各监控项的最短延迟时间和系统稳定运行各监控项的平均延迟时间。


3.4.1各类故障发现延时统计


故障发现延迟由数据采集的频率决定,通过大量实验发现本系统的延迟主要取决于ZAbbix server的性能。本系统中由于Zabbix server服务器硬件配置和mysql版本性能限制,Zabbix server每秒处理监控数值数NVPS(new values per second)的上限为30000。目前在天河二号13000结点上部署了Zabbix agent,平均每个被监控服务器有30个监控项,总监控项数约为39000,39000个监控项监控数据更新完最短时间需要13s左右。可以得出本系统中Zabbix server数据更新频率最短时间约为13s左右。后续如果想要提高Zabbix server的性能,可以从2个方面优化,一方面对Zabbix server本身数据库做优化,包括mysql磁盘优化使版本的升级、mysql参数配置优化,用SSD固态硬盘替换传统机械硬盘,以提高磁盘IO性能,提高mysql的性能,进而提升Zabbix server的性能;另外一方面对于超大规模的系统,Zabbix架构优化建议采用Zabbix agent、Zabbix proxy和Zabbix server3层分布式架构来分散和缓解Zabbix server的压力。 


日志数据主要针对关键结点进行收集,数据量不大,所以日志的监控基本趋于实时。自有数据采集脚本的采集频率默认设置为5s根据大量的实践发现,采集频率设置过小,则系统变化不明显,且增加数据存储压力;采集频率设置过大,则系统变化感知不敏感。综合考虑自有数据采集脚本的频率设置为5s较合适。各类故障最短延时统计如表1所示。


在实际生产部署环境中,大规模集群自动化监控系统数据采集的监控项采集频率设置为20s可以满足生产需求,自有数据采集脚本的延时在5s左右,日志监控基本接近实时,整个监控系统故障发现和定位满足生产需求,为大规模集群的稳定运行提供了保障。


3.4.2 系统效果


大规模集群自动化监控系统自2019年1月上线以来,共自动发现1837次预警和报警,集群故障的98%都是由于大规模集群自动化监控系统的及时发现,实现了实时故障定位和报警,使故障处理更加有针对性,整个集群的正常运营时间比达到99%,显著提升了系统运营的稳定性。大规模集群自动化监控系统上线至今报警数量统计表如图4所示。


四、未来提高故障自愈能力


 本文介绍了大规模集群自动化监控系统实现的基本原理和具体功能,该系统实现集群各组件监控的全覆盖,基本杜绝了误报、漏报的问题,实时监控业务运行与系统状态,大大缩短了故障发现和定位的时间,实现了秒级告警,减少了一线运维人员的重复工作量,提升了整体运维效率。但是,该套系统目前侧重于故障的发现和定位,故障发生后还需要人力介入进行恢复,对于故障的自愈合考虑得还不够,下一步的工作会将故障自愈合作为监控的重点,减少人力的介入,基本实现全自动化的运维。

(本文转自期刊,如有侵权,请联系删除。)



备注“使用Zabbix年限+企业+姓名”

进入交流群,4000+用户已加入

一个人走得快,一群人走得远

【客户案例】华为、中移在线、光大银行分享等

【官方博文】5.4新功能及路线图、技巧难点等

【专家专栏】周松、张思德、wanger等

Zabbix开源社区

由Zabbix大中华区唯一总代理上海宏时数据系统有限公司建立并维护,旨在提供最新资讯、交流平台和技术支持。

文章转载自Zabbix开源社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论