1、基于ELK的高校数据中心运维多层面监控平台研究与实践摘 要:为了及时发现隐患和故障,提高高校数据中心的运维效率,需要对数据中心软硬件系统的性能、状态、日志等进行监控。文章以ELK为数据采集和存取平台,并借助Shell脚本强大的系统管理功能,设计了监控代理,实现了在监控平台中对多数据源的处理。經过实践,文章设计的监控平台,能实现高校数据中心的多层面监控,为数据中心高效管理提供支撑。关键词:数据中心;ELK;运维监控;监控代理中图分类号:TP391 文献标志码:B 文章编号:1673-8454202307-0093-04一、引言由于受到运行环境、设备生命周期、系统变更、系统漏洞、系统性能、网络功击
2、,以及人为误操作等影响,数据中心的根底设施和软硬件系统,在运行过程中经常出现隐患和故障。通过多层面监控,能及时发现这些隐患和故障,提高运维效率,为数据中心的平安、稳定、可持续运行提供保障。因此,数据中心多层面监控意义重大。系统性能和运行状态能反映出设备运行的稳定性和可持续性。系统日志记录了系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。运维人员可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹1。因此,数据中心运维监控,不仅要监控系统性能和运行状态,还要监控和分析系统日志。由于高校数据中心运维,受到本钱控制的影响,一般会采用开源监控平台来实现数据中心监控。当前
3、大多数数据中心采用Zabbix、Splunk等开源平台来实现监控。随着ELK功能不断完善,也被一些数据中心用来作为监控平台和日志处理平台。这些监控系统,虽然性能优秀,有些功能非常实用,但从高校数据中心多层面监控角度来看,或从易用性角度来看,还有必要改良,或在此根底上进行运维开发,实现全面监控,以进一步提升监控水平。由于ELK性能较好,开放程度较高,开发接口丰富,本研究以ELK为根底,进行架构设计和数据中心运维开发实践。二、ELK简介ELK是ElasticSearch、Logstash、Kibana三个开源软件的简称,是一个日志实时处理平台2。ELK之间的合作机制为:Logstash作为信息收集
4、者,用来搜集、分析、过滤软硬件系统的日志。它支持大量的数据获取方式,工作方式为C/S架构。通过把客户端Beats程序安装在计算节点上,或者在网络设备或存储设备中配置Syslog、SNMP Trap等功能,来实现日志或性能数据的过滤和处理,然后将其处理结果推送到ElasticSearch 平台。ElasticSearch作为数据的保存者,保存来自Logstash收集的数据,同时提供数据操作的API,以及ElasticSearch集群管理。Kibana 是为 ElasticSearch设计的开源分析和可视化平台。主要用来搜索、查看存储在 ElasticSearch索引中的数据,并通过HTML5技术
5、在浏览器端实现数据可视化。ELK的Beats是采集系统监控数据的Agent,它可以发送不同类型的数据到ElasticSearch中,也可以行将采集完的数据发送到Logstash中转,然后再推送到ElasticSearch中。Beats包含多种工具,如:采集网络流量数据的Packetbeat;采集文件数据的Filebeat;采集 Windows 事件日志数据的Winlogbeat;采集系统级监控数据的Metricbeat等等。ELK的架构如图1所示。三、ELK在数据中心多层面监控中的缺乏尽管ELK整体性能和功能较好,但经过笔者对ELK平台的运维开发实践,发现它在数据采集及可视化方面存在缺乏。数据
6、采集方面,尽管结合Beats能采集到IT设备的日志和性能数据,以及SNMP Trap等信息,或通过Logstash插件的方式采集其它信息,但是,这种方式不能够获取较为全面的监控数据。例如:采用Winlogbeat采集Windows Server系统日志时,只能采集到事件日志,不能采集到事件跟踪日志;目前还不支持一些常用的应用程序或效劳如Tomcat、Weblogic等等的性能数据和运行状态的采集;尽管Logstash提供了插件方式采集数据,但是通过这种方式采集空调、UPS等根底设施的运行状态相关数据,以及效劳器虚拟化及虚拟机运行状态时难度较大。在可视化方面,Kibana应用可定制性和可扩展性较
7、差,无法通过它对非Logstash收集的数据如上述根底设施的运行状态数据进行可视化展示。四、高校数据中心多层面监控开放平台设计1.高校数据中心运维对象高校数据中心支撑着学校的教学、科研、管理及效劳等信息化,一般会配备功能完善的软硬件设施。根据当前高校数据中心管理模式及运营模式,其架构包括三个层次:底层为承载IT设备平安、稳定运行的根底设施,如空调、UPS、温湿度、门禁、消防等硬件设施;第二层为IT设备层,是提供IT效劳的核心,包含多种设备,如数据存储设备、效劳器、数据备份设备、网络设备、平安设备、负载均衡器、高性能计算平台等硬件资源;第三层为数据中心的软件系统,如操作系统、云平台、大数据平台、
8、数据库、中间件、应用程序等软件资源。这三个层面的软硬件设施均属于运维对象。2.计算节点监控代理研究ELK 的Metricbeat工具可以获取操作系统的 CPU和内存使用率、文件系统、磁盘 IO 和网络 IO等统计数据,它也支持多种模块,比方Apache、HAproxy、MySQL、Nginx等3。Metricbeat虽然能收集多项性能数据,也支持多个模块,但目前还不支持一些常用的应用程序或效劳。例如:当前最新版本仍然不支持高校数据中心常用的Tomcat、Weblogic等Web中间件的监控,也不支持Linux KVM、Windows Hyper-V效劳器虚拟化平台的监控。另外,由于数据中心需要
9、监控的对象较多,如果都采用logstash来处理数据,将会增加Logstash的运行压力。因此,需要一个功能全面、开放性好的监控代理作为计算节点监控工具的补充。通过使用该代理,不仅能收集操作系统的性能数据,也能收集当前Beats不支持的应用程序或效劳的性能数据,同时能分担Logstash的运行压力。2.SMonCgi实现Windows Server系统的SMonCgi采用基于.Net Framework技术,用PowerShell编成实现6。当SMonCgi接收到客户端发起的数据采集需求时,SMonCgi去执行PowerShell脚本文件。在PowerShell脚本文件中执行PowerShel
10、l的Cmdlet或自定义函数通过PowerShell脚本模块实现,并对Cmdlet或自定义函数的执行结果格式化后返回给客户端。Linux系统的SMonCgi采用C语言实现。底层用的是面向链接、可靠的字节流传输TCP协议,同时应用Sock编程、多线程编程、管道、CGI等技术。当SMonCgi接收到客户端发起的数据采集需求时,SMonCgi去执行Shell脚本文件。在Shell脚本文件中执行Linux系统命令,并对命令执行结果格式化后返回给客户端。SmonCgi通过指定Client地址,到达限制访问的目的,增强该SMonCgi访问的平安性。3.IT硬件资源SNMP Trap和syslog配置就效劳
11、器而言,先进行效劳器管理端口的网络配置,然后通过在远程管理模块如HP效劳器的iLO、DELL效劳器的iDRac等中启用SNMP Trap 和Syslog效劳,并指定目标IP和端口与Logstash相关配置一致,即可收集到报警信息和系统日志。就网络设备、存储设备等而言,可通过Console口或Web管理页面进行与上述效劳器类似的相关配置。通过在计算节点中安装SNMP 客户端,结合SNMP get等命令,编写CGI脚本如获取存储系统性能的脚本。在监控平台中请求SMonCgi执行该脚本,即可获取相关数据。4.监控平台开发实践该平台采用“Maven+Spring+SpringMVC+Hibernate
12、+Mysql整合开发框架实现后台开发,并采用ElasticSearch Java高级别REST客户端The Java High Level REST Client开发ElasticSearch相关应用,实现索引及文档的增删改查功能。前端采用HTML5,并结合JQuery及其多种组件实现监控平台数据的可视化。六、结束语本文对ELK日志分析平台进行了研究及实践。在多个IT设备上,根据实际情况,部署Beats,配置Syslog和 SNMP Trap实现了性能数据、告警信息和系统日志采集。并结合ELK在数据中心监控方面的缺乏,设计了开放性较好的计算节点监控代理程序SMonCgi,并把该代理程序部署在L
13、inux系统和Windows Server系统中,进行性能数据的收集。根据高校数据中心针对不同层面的软硬件设施运行状态、性能数据、报警信息、系统日志的采集及处理实际要求,提出了一种多层面监控的开放平台架构。最后对该架构进行实践。经过实践,本文设计的监控平台,能针对不同层面、不同监控目标,采用不同技术手段实现监控,为高校数据中心高效管理提供支撑。参考文献:1百度百科.系统日志EB/OL.s:/baike.baidu/item/系统日志/9389581?fr=Aladdin.2周映,韩晓霞.ELK日志分析平台在电子商务系统监控效劳中的应用J.信息技术与标准化,20237:67-70.3EB/OL.s:/elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html.4叶水勇.信息机房动力环境监控系统的研究与应用J.東北电力技术,2023,408:18-21.5百度百科.IPMIEB/OL.s:/baike.baidu/item/IPMI/2552078?fr=aladdin.6潘春华.基于PowerShell脚本和轻量级Web效劳的IT系统运维监控Agent设计与实现J.网络平安技术与应用,20237:68-69,71.编辑:王晓明