实验室环境监控系统的研究及实现

2016-10-18 08:58
铁路通信信号工程技术 2016年3期
关键词:温湿度服务器模板

李 浩

(北京全路通信信号研究设计院集团有限公司,北京 100070)

实验室环境监控系统的研究及实现

李 浩

(北京全路通信信号研究设计院集团有限公司,北京 100070)

介绍一种适用于分散在不同地点的众多实验室(机房)的环境监控系统的研究、设计和实现过程,并对该系统未来两个可能的改进方向作出探索。

环境监控;SNMP协议;Cacti;树莓派

1 研究背景

北京全路通信信号研究设计院集团有限公司作为一家集研发、设计、集成于一体的科技企业,拥有几十个实验室(机房)。这些实验室分布在9个楼层、34个房间,实验室都配备机房精密空调,但安全方面存在一定隐患,如电源、空调故障导致设备过热。为了降低风险,测试中心每两周安排一次全楼巡检,物业公司每天安排两次空调巡检,受限于人力资源,无法提高巡检频率,安全性方面存在隐患。

为了解决这个长期存在的问题,测试中心在2013年独立开展实验室环境监控系统的研究。环境监控系统定义非常宽泛,包括空调监控、视频监控、温湿度监控、门禁监控、瓦斯监控、电气火灾监控、水灾监控和入侵监控等,根据实验室的应用特点,我们优先实现温湿度监控功能,并预留接入其他各类传感器的能力。测试中心在摸索中不断完善设计,最终自主建设了该系统。从2014年初开始试运行,验证了该系统的实用价值。经过对4个实验室历时两年的试运行,对系统进行了多项改进最终定型,即将规模化实施,覆盖34个实验室上线运行。

2 环境监控系统的研究及设计

2.1常见环境监控系统的优缺点分析

市场上传统环境监控系统,多采用封闭设计,即传感器采用专用硬件、服务器采用专用软件甚至硬件的方案。业内主流传感器绝大多数采用RS-485总线进行传输,优点是技术成熟、产品选择多、传输介质成本低(总线型拓扑,一对双绞线即可传输);但总线型拓扑更适合单个大开间机房或直线分布的多间机房,对实验楼这类地点分散的大量中小型实验室,超长布线抵消了双线传输的低成本优势。

2.2拓扑结构

在研究之初,力求选择一种适合地点分散的大量实验室的系统结构。为此,该系统最早采用星形拓扑,服务器位于中心。为提高灵活性,希望进一步降低系统对拓扑的依赖,做到“拓扑无关”。因实验楼已具备楼宇综合布线系统,利用其资源能够极大降低布线成本。

2.3接口协议

为了实现拓扑无关,系统采用IP协议。只要保证服务器到该传感器之间IP可达,该系统的服务器或传感器可以通过互联网VPN,部署在全球任意地点。

为了进一步提高系统的开放性和传感器的通用性,选择开放的简单网络管理协议(SNMP)进行传感器温湿度数据的传输,这样就能使服务器能够适配多种品牌的温湿度传感器。

2.4传感器

2.4.1传感器选型

基于上述的拓扑结构和接口协议的选择,同时支持以太网接口、IP协议、SNMP协议的传感器,能够最大限度保证系统的开放性和灵活性。并且要求传感器带有液晶屏,供巡检时查看。因此,选择TH-5829型温湿度传感器,其指标如表1所示。

表1 TH-5829传感器指标

从表1中可以看到,该传感器支持2路外部模拟量/开关量的采集,今后可以利用这些接口增加门禁、水灾监控等功能。

2.4.2温湿度数据读取方法的研究及试验

尽管TH-5829传感器采用IP协议和SNMP协议,但按照厂家的设计,需要使用专用的服务器端软件,所以其SNMP的私有MIB库(管理信息库)不公开,传感器并不真正具备开放性。所以,需要通过试验摸索,得到温湿度等测量值在其MIB库中位置,该位置使用对象标识符(OID)来标识。

在此介绍SNMP、MIB和OID的关系。在SNMP协议中,为了确保通用性,定义了唯一的树状结构即MIB树来组织数据。为此,ISO和国际电报电话咨询委员会(CCITT,国际电信联盟(ITU)的前身)共同规定MIB树的基本结构,如图1所示。

除了基本结构,协议还对一些常见、通用的数据存储格式和在树中的位置进行规定,如接口、速率、吞吐率等。该位置使用OID这样的以点划分的多段数字来定位数据节点位置,如接口(interface)节点在MIB树中的位置(OID)就是.1.3.6.1.2.1.2,enterprises节点的OID是.1.3.6.1.4.1。

为了使用SNMP协议读取TH-5829传感器的温湿度,需要通过试验找到温湿度数据在MIB树中的位置。首先按照传感器说明书配置其IP地址(本例中为192.168.1.2)。试验用PC机使用Linux系统,经配置可ping通传感器,安装NET-SNMP软件包。我们使用SNMPWALK(SNMP遍历)命令读取传感器私有MIB库中的数据。在试验PC中执行snmpwalk -c public -v 2c 192.168.1.2 .1(public是SNMP中常用community名,传感器的IP地址后面的.1表示MIB树的ISO分支),输入和输出结果(部分摘录)如下:

[root@TEST~]# snmpwalk -c public -v 2c 192.168.1.2 .1

SNMPv2-MIB::sysDescr.0 = STRING: TH-JGPOES-LCD

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.34672

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (8144) 0:01:21.44

SNMPv2-MIB::sysContact.0 = STRING: jamesyangbaron@hotmail.com

SNMPv2-MIB::sysName.0 = STRING: NetWork System

SNMPv2-MIB::sysLocation.0 = STRING: Temp/ Hum Series

SNMPv2-MIB::sysServices.0=INTEGER: 5

SNMPv2-SMI::enterprises.34672.1.0= STRING: "22.2"

SNMPv2-SMI::enterprises.34672.2.0= STRING: "43.9"

SNMPv2-SMI::enterprises.34672.3.0= STRING: "9.3"

SNMPv2-SMI::enterprises.34672.4.0= INTEGER: 0

SNMPv2-SMI::enterprises.34672.5.0= INTEGER: 0

End of MIB

输出结果中的“22.2”、“43.9”分别与传感器屏幕上显示的温度、湿度值相同,“9.3”、0、0分别是露点值(当前绝对湿度下低于此温度将结露)、外部采集1、外部采集2。这些OID中的“enterprises.34672.1.0”是相对地址,查询图1可知,其绝对地址是“.1.3.6.1.4.1.34672.1.0”。进一步验证,执行SNMPGET命令单独读取单独OID里存放的数据,以温度为例,输入和输出结果如下:

[root@TEST~]# snmpget -c public -v 2c 192.168.1.2 .1.3.6.1.4.1.34672.1.0

SNMPv2-SMI::enterprises.34672.1.0 = STRING: "22.2"

至此,获得了TH-5829传感器的数据存储位置,使其具备了开放性。

2.5服务器端

受益于传感器的开放性,服务器端只需要支持SNMP协议采集数据即可。但仅读取温湿度数值还不能成为温湿度监控系统,还需要图形化展现、分组管理、数据导出、阈值报警、账户分级等功能,另外需要B-S结构以方便用户在不同操作系统下的访问,这样才算是比较完整、易用的环境监控系统。为此,选择了Cacti网管系统作为服务器端软件。

Cacti是遵循GPL协议的自由软件。作为一个网管系统,Cacti可通过SNMP协议获取数据,数据通过RRDtool(Round Robin Database Tool)存入RRD数据库,当用户访问时,RRDtool从RRD数据库中读取数据并实时绘图,再由Cacti调用PHP语言动态生成网页。RRD数据库使用循环队列存储,文件大小不随时间增长,不会耗尽硬盘空间,但最早的数据,会被新数据覆盖。

Cacti基于PHP语言开发,实现了平台无关。试验了Linux(Linux+Apache+MySQL+PHP,简称LAMP)环境和Windows(Win Server2003+IIS+MySQL+PHP)环境下的架设。除了x86硬件平台,还试验了ARM硬件平台下的LAMP环境,也可正常运行。

3 环境监控系统的实现

3.1服务器端的安装

首先试验手动分步安装配置LAMP环境和Cacti并获成功,为简化部署过程,最终选用Cacti的快速部署方案CactiEZ中文版v10.1。这是一套基于CentOS 6.0(一种基于Redhat源代码的Linux发行版本)的LAMP集成环境,特点是全自动安装、配置。在试验中,为降低成本,服务器安装在ESXi虚拟机中。物理机配置:CPU Xeon E7-4807@1.87 GHz×12核;内存16 GB;硬盘800 GB。该虚拟机配置:CPU使用2核;内存2 GB;硬盘60 GB,可见Cacti对硬件资源的要求较低。CactiEZ套件安装后,LAMP和Cacti已配置好。最后,在客户机浏览器中输入服务器地址开始使用Cacti。

3.2温湿度数据的读取

在Cacti中,绘图需要经过数据读取和图形绘制这两个步骤,所以需要编制数据模板和图形模板。

3.2.1数据模板的编制

在Cacti控制台中,选择“模板”—“数据模板”—“添加”进入添加数据模板的界面。为温度和湿度自行定义不重复的模板名称和数据源内部名称并记录好,编制图形模板和阈值模板时还会用到。OID栏填入2.4.2节得到温度和湿度的OID值。

3.2.2图形模板的编制

在Cacti控制台中,选择“模板”—“图形模板”—“添加”进入添加图形模板的界面。创建一个温湿度合一的图形模板,将3.2.1节中创建的温度和湿度的数据源加入,以CF类型“AVERAGE”就可以绘制温湿度折线图。为了使折线图更加直观,还可为其增加文字标签,图形对象类型选择“GPRINT”,CF类型中“LAST”、“MAX”、“MIN”、“AVERAGE”,分别在图形下方显示温度或湿度的最新值、最高值、最低值、平均值。

3.2.3将传感器加入监控系统

在Cacti控制台中选择“管理”—“主机”—“添加”进入添加主机的界面。主机段:描述填入“5-1_设备区_配线柜”(例子),主机名填入传感器的IP地址192.168.67.240(例子),保存。点击上方“为这个主机添加图形”,在图形模板段:图形模板名称中选择3.2.2节中创建的图形模板,添加,保存。按此方法将全部传感器加入系统,还可以用图形树功能将多台设备或一台设备的多张图编入树形结构,使结构更清晰。按上述方法生成的实验室温湿度折线图,如图2所示。

3.3阈值告警功能

按照GB50174-2008对C类机房的温度要求,机房温度应在18 ℃~28 ℃范围内。而出于实验室安全考虑,温度超出10 ℃~40 ℃范围时,应有紧急告警。为此,需要在Cacti系统中增加两个阈值模板。在Cacti控制台中选择“模板”—“阈值模板”—“添加”进入添加阈值模板的界面。数据模板和数据源选择之前编制好的温度模板,两组模板中的下限、上限值分别设置为18、28 ℃和10、40 ℃。在控制台中设置系统发送邮件时使用的邮箱账号后,可以在阈值模板中设置告警接收人邮箱。有了阈值模板,可以很方便地为每台设备按需增加不同的阈值,当温度超限时,系统会自动向预定的接收人发送告警邮件。

4 系统试运行

实验室环境监控系统经过两年的试运行,稳定性良好未发生宕机,数据记录连续可靠。在试运行中,发生过4次空调故障导致的实验室温度超限、以及1次实验室意外停电,系统均立即发出告警邮件,经及时处置避免了设备损失和安全事故的发生。

5 系统改进的方向

本系统采用全IP化的服务器-传感器结构,相比市场同类产品,成本更低,开放性和灵活性领先。考虑继续降低成本、增强其灵活性。本文分别提出两种改进思路,即:服务器低成本化方案、增强系统灵活性的分布化方案。

5.1服务器低成本化方案

实验室环境监控系统成本分为两部分,服务器和传感器。当传感器数量较少时,服务器在总成本中占比较高。在传感器大于等于100台时,建议使用物理机作为服务器;当传感器大于10台小于100台时,可以采用虚拟机作为服务器;当传感器小于等于10台时,可以采用树莓派主机作为系统服务器。高中低3种方案的服务器硬件成本约为6万元、1万元、400元;TH-5829传感器硬件成本约1 200元。

树莓派2 model B型ARM主机配置:CPU博通BCM2836@1 GHz×4核;内存1 GB;硬盘32 GB(MicroSD闪存卡)。操作系统选用Raspbian,使用APT工具安装LAMP和Cacti,由于版本的关系,Raspbian上的Cacti只有英文版,且需手动安装配置LAMP环境。安装、设置过程和功能与x86平台CentOS系统下几乎完全相同。在4个传感器的环境中经6个月测试,运行稳定,CPU占用率峰值60%、平均15%;内存使用400 MB、空闲600 MB;硬盘已用3 GB、空闲29 GB。树莓派系统下生成的温湿度折线如图3所示。

5.2分布化方案

对于5台以下传感器的小规模应用,还可以使用树莓派作为传感器以降低成本。树莓派作为嵌入式主机,提供GPIO口。在Raspbian中可通过Python或C程序直接读取GPIO口上连接的DHT-11温湿度传感模块,读取的温湿度数据直接上传到物联网平台中,绘制出温湿度折线图。在此方案下,不再需要采购服务器(使用免费物联网平台),每台传感器的硬件成本约600元。

[1] The Cacti Group. The Cacti Manual [EB/OL].[2015-12-28] http://docs.cacti.net/wiki:documentation.

[2] Raspberry Pi Foundation. Raspberry Pi Documentation [EB/ OL]. [2015-12-28] https://www.raspberrypi.org/documentation/.

The paper introduces the research, design and implementation of an environment monitoring system applicable to labs (computer rooms) separated atdifferent locations, and discusses two possible ways of improving the system.

environment monitoring; SNMP protocol; Cacti; Raspberry Pi

10.3969/j.issn.1673-4440.2016.03.012

2015-12-29)

猜你喜欢
温湿度服务器模板
铝模板在高层建筑施工中的应用
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
服务器组功能的使用
基于AT89C51的数字型蚕用温湿度计的设计
通信控制服务器(CCS)维护终端的设计与实现
基于DSP的多路温湿度监测系统
PowerTCP Server Tool
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计