Nagios网络监控系统在教育实验室中的应用
作者: 黄晨 胡珍莹
摘要:随着“互联网+教育”的发展,教育实验室应运而生,为了支撑数字化教学以及丰富多样的教育研究,教育实验室规模逐渐扩大,其拥有的数据中心的应用维护工作也不容小觑。因此,提高设备和信息系统的可用性,降低潜在风险,从而确保学校教育实验室的稳定运行,是实验室管理人员在新时代面临的工作挑战。Nagios网络监控系统具有部署简单灵活、易修改、轻量化等优点,为实验室管理人员集中管理种类繁多的信息化设备提供了有利条件。本研究将Nagios网络监控系统在教育实验室中进行了应用,取得了效果显著,为同类型实验室的管理提供了参考。
关键词:教育实验室;实验室管理;网络监控;Nagios
中图分类号:G482 文献标识码:A 论文编号:1674-2117(2024)16-0102-07
2019年4月,教育部等13个部门联合启动“六卓越一拔尖”计划2.0,提出了包含“新文科”在内的“四新”建设。[1]“新文科”意在推动哲学社会科学与新科技革命的交叉融合,培养新时代的哲学社会科学家,这一目标让高校文科实验室受到更多重视,教育实验室崭露头角。同时,新文科背景下的实验室建设需要在管理方面利用好信息化手段,改变过去以人工操作为主的管理模式,实现真正的信息化管理。[2][3]而Nagios网络监控系统将有效解决这一问题,其易部署、可修改的Web界面能给实验室管理人员带来很好的用户体验,将实验室设备放在Nagios网络监控系统之上,可以有效保障设备的正常运转,维护教育实验室的正常运行。Nagios网络监控系统具备很强的灵敏性和实时性,即使管理人员不在实验室内,也能够远程了解到设备的健康状态,为故障处理提供了高效便捷的手段,其安全、灵活、低成本的特点符合智慧实验室建设的各项需求。[4]同时,实验室信息化管理的建设过程对其信息化管理的内涵、管理模式创新及管理平台构建都有借鉴意义,它是实验室满足管理科学化、规范化、高效性需要所进行的一次深入探索与实践,为开拓实验室信息化管理模式提供了一种新的思路。[5]
教育实验室管理
1.实验室的组成
高校实验室有教学实验室、科研实验室、虚拟实验室、开放实验室、创新创业实验室等多种形式,已逐渐发展为集教学、科研于一体的人才培养和技术创新的主要基地。[6]
教育实验室中的教学实验室有微格教学实训室、三笔字实训室等师范技能训练的场所,以及提供数字化教学环境的智慧教室、STEAM教学实验室、数字化理科教学实验室、机器人实验室等。
教育实验室中的科研实验室与传统的理科实验室没有什么区别,包含眼动分析实验室、面部表情分析实验室、行为分析实验室、脑电分析实验室等,经过数据采集、数据分析,为教育研究提供更为科学、周密的答案。此外,还有深度学习实验室提供高速算力的GPU等。
2.实验室设备
实验室的硬件设备可以从楼层的网络架构上来梳理,首先是参与到楼层基础建设的交换机,出口交换机、楼层井道交换机、教室交换机……从上到下构成了实验室的网络拓扑,只有整体网络架构明晰,才能在实验室管理上更得心应手。其次是具体实验室中的设备,微格实训室中的中控面板、网络摄像头、投影仪、触控一体机、教师电脑、功放、音响等设备,眼动实验室中的主机设备、眼动仪等设备……各个实验室中的设备既有共性也有特性。此外,还有公共区域的设备,如大厅的屏幕设备、楼道的广告画屏,以及每个实验室的门禁设备和实验室门口的班牌设备等,这些设备的管理与实验室日常工作息息相关。
软件部分主要是教学与科研的平台,管理起来难度较大,需要定期以及长期地运行维护。同时,软件需要具体硬件设备的支撑,而软件与硬件设备的关系又并非一一对应,如一个服务器上可以运行多款软件,一款软件也可以运行在多个服务器之上,由此可见,管理服务器与管理服务平台的关系并不能对等。
3.设备日常运维
设备的管理与日常维护并不简单,教育教学中需要频繁使用设备,也需要信息化手段来提供保障[7],实验室管理人员则需要充分了解实验室的整体架构,以及设备与设备之间的关系。
硬件设备的运维相对简单,出现的问题也较为直观,如屏幕坏了等问题只需要及时换新或者返厂维修即可,但硬件设备管理得当与否也与设备故障频率呈现一定相关性。[8]
平台服务则更为复杂,需要排除硬件故障与系统错误等多方面原因。而选择Nagios网络监控系统,正是因为其可以将系统的正常运行还有设备的正常使用,以及IP还有端口之间的通讯关系十分简单直观地呈现出来。在笔者所在的实验室中,微格预约系统IP为10.1.73.229,7000端口用于Web平台接口,7001端口用于连接教室门牌设备端口,2013端口用于连接锁相关设备,8080端口用于锁平台Web进程,8086端口则是与微格教室业务系统交互端口……这些端口都反映着微格教室管理系统的各个服务进程是否正常。若学校的网络信息管理部门进行安全漏扫与巡检,很可能临时关闭某系统的某个服务端口,Nagios都能第一时间反映出来,且通知给相应的管理人员。
Nagios网络监控系统概述
1.工作原理
Nagios网络监控系统可以监控应用程序、服务、操作系统、网络协议、系统度量标准和基础设施组件,以确保所有系统、应用程序和服务都已启动和运行。[9]利用简单的网络管理协议(SNMP)的关键技术来获取被监控设备的信息,在不影响被监控设备的性能的情况下,通过协议层的互通和对接,可以获得被监控设备的信息[10],工作原理如图1所示。Nagio允许多种监控方式并行,在服务设备或网络服务异常时,通过自定义的短信和邮箱通知系统管理员。
传统的基于简单网络管理协议实现的监控系统对支持SNMP的设备具有良好的管理性,但对于非标准SNMP设备则不可以管理,限制了系统的应用范围,缺乏可扩展性。[11]而Nagios采用SNMP与非SNMP结合的参数采集方式,丰富了性能监测参数,实现了可扩展、通用的网络性能监控系统。
Nagios-plugins作为Nagios系统中内置的插件,具备对服务器、交换机、网络设备、网站以及信息系统的基础监控功能,对高校现有网络环境的适应性显著,且在一定程度上降低了信息管理员的部署和后期管理压力。常见的可选插件有NRPE(Nagios Remote Plugin Executor)、NSCA、NSClient++、NDOUtils等。Nagios所有监控检测功能依赖于libexec文件夹里的插件完成,通过插件实现监控方式的灵活拓展,系统按需调用这些插件,通过命令行方式对主机及服务进行检测,并将执行结果反馈至Nagios。
2.NRPE插件
笔者主要选用NRPE插件来构建所需的监控平台,NRPE是Nagios的一个功能扩展,它允许在远程Linux/Unix主机上执行插件程序。通过在监控目标安装NRPE插件,可以向Nagios监控平台提供该服务器的本地情况,如CPU负载、内存使用情况、磁盘容量、登录用户数、总进程数、僵尸进程数、Swap分区使用情况等信息。如图2为NRPE的设计图,在监控主机上通过Nagios的check_nrpe进程,调用被监控服务器上安装的NRPE插件。
在监控目标上,被NRPE监控的服务或资源需要通过nrpe.conf文件使用命令进行定义,定义命令的语法格式为command[<command_name>]=<command_to_execute>,当NRPE收到命令后把结果在返回给监控主机,所以NRPE发送的命令,可根据实验室设备的实际情况,定义上述相关监控参数的警告状态(w)和严重状态(c)。以下六项定义的命令对应释义内容如表1所示。
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -r -w .30,.25,.20 -c .80,.75,.70
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
3.主要优点
(1)部署简单、安装方便
选择Nagios监控实验室设备的最主要原因就是其部署简单,一台2核CPU、4G内存、100G存储空间,并搭载Centos7.9操作系统的服务器即可完成Nagios服务搭建。笔者选用的软件版本为Nagios4.5和nagios-plugins-2.4.8,确保网络正常后即可开始安装部署。
输入如图3所示的命令,即可进入Nagios软件编译和安装环节,整个过程简单、易上手,适合实验室管理人员自行操作。
(2)易修改、便于管理
Nagios网络监控系统是开源的免费网络监控软件,用C语言编写,执行效率高,由不同的插件提供不同的监控功能,可以按需添加自己的插件,不用一次性全部添加,各种插件和自定义脚本有完美的兼容性。
在监控主机上,通过对监控目标的定义,构建监控主机与监控目标之间的关系,形成按功能划分的监控集群,管理起来十分方便。再通过Web文件配置,在浏览器上便可知道所有设备的状态。Apache的conf.d目录下安装Nagios的web配置文件也十分容易,仅需一行代码:
#make install-webconf
再配置Nagios管理员的Web访问账号,通过Web界面查看监控状况,简化了对Linux字符操作的烦琐性,配置代码也十分简单:
#htpasswd c /usr/local/nagios/etc/htpasswd.users nagiosadmin
(3)轻量化、资源占用少
Nagios网络监控系统占用的系统资源少,整个安装包和核心插件的容量大小不到20MB,且在Nagios编译和安装工作结束后,查看/usr/local/目录,可以看到新生成了一个Nagios目录,包含了bin、etc、sbin、share、libexec、var六个子目录,这些目录组成了Nagios的整个系统,所占空间资源非常小,且采用的主要监控方式是轮询的方式,从而大量减少实时的网络流量。这六个子目录存放的内容各不相同,具体如表2所示。
进入/usr/local/nagios/etc目录及子目录objects中,可以看到众多配置文件,这些配置文件多数为Nagios的默认配置模板,需要管理员按要求对其进行编写,才能达到原设计的监控目的。在子目录objects下的配置文件是确保Nagios监控运行的重中之重,管理员还可以在objects目录下自己编写添加配置文件,从而添加新的监控任务。
Nagios网络监控系统的应用
1.设备的分组与归类
在Nagios监控系统中,涉及广泛的设备类型,好的分组与归类,可以迅速定位相关设备,为设备管理提供便捷。在教育实验室中,设备主要分为三大块——基础设备、实验室设备和服务器设备。基础设备主要包括楼层交换机、教室交换机、智能灯光、温湿度传感器等,其是楼层的基础功能支撑设备;实验室设备则是教室内部的教学设备和科研仪器,这个分支最大、最复杂,其中有教室电脑和微格摄像头等教学实验室设备、实验室电脑和3D打印机等科研实验室设备,还有实验室预约系统等实验室管理设备;服务器设备单列的原因在于其24小时运行的特殊性,所以它的监控报警需求是最高的。