2. 湖北省地震局地震预警湖北省重点实验室,武汉市洪山侧路40号,430071
“十五”数字地震观测改造项目完成以后,实现了前兆设备的网络化通讯。以网络通讯为基础,实现了前兆设备WWW服务、FTP服务以及通讯规程为前兆设备特别定制的数据传输协议服务,从而实现了前兆设备以多种网络通讯协议进行前兆观测数据的传输[1]。目前,利用定制的数据管理软件,前兆观测系统基本实现了从前兆设备数据采集到数据汇集入库的自动工作流程,数据管理软件定时从前兆设备获取观测数据并存入到本地数据库,然后逐级同步到所在区域中心数据库和国家中心数据库,最终实现全国地震监测网络观测数据的准实时传输[2]。
随着“十一五”前兆观测系统的运行,保证综合观测仪器数据的连续完整记录成为运维人员的基本工作之一。工作人员每天需要多次检查网络连接情况,定时登录仪器主机,判断观测数据是否正常。随着台站观测仪器设备的增加,每天检查仪器所花费的时间也在增加,设计一套对综合观测仪器自动监控和管理的监测报警系统,让工作人员从重复单调的查看网页工作中解放出来,把更多的时间投入到对监测数据的分析研究上显得越来越有必要。王秀英等[2]提出一种实现仪器设备动态监控、动态报警功能的解决方案。通过改变台站观测仪器的软件部分设置,观测仪器主动将监控信息发送到指定客户端,通知维护人员。此方案能对仪器设备进行动态监控,当仪器出现突发状况时(观测设备记录到超过设定阈值、设备运行状态发生突变,如直流电压低等),可以主动发送报警信息到指定的接收方。不足之处是,目前地震综合观测仪器型号和种类多、数量大,完成仪器软件更新费时费力。而且新仪器的采购量逐年增加,新仪器厂家也在不断出现,协调、统一不同厂家新仪器的软件设置非常困难。
针对上述状况,本文提出另外一种切实可行的方法,既可以解决台站综合观测仪器自动监控报警面临的问题,又不用协调、统一不同仪器,也不需更改不同厂家观测仪器的软件功能,满足台站观测仪器自动监控的需求。
1 仪器设备自动监控报警功能的设计与实现 1.1 设计思路仪器设备通讯规程定义的基本工作方式为设备被动等待方式, 即前兆设备等待客户端与其建立连接, 并通过响应客户端发送的命令实现双方信息交换[2]。
在不改变设备被动等待方式的条件下,在地震系统内网部署Linux监控服务器,编写scrapy爬虫程序每天定时爬取台站管辖的所有综合观测仪器的数据并存入mongodb数据库,使用flask web应用访问数据库,取出对应数据并以网页的形式进行展示(图 1)。同时,编写、部署网络监测程序,接入阿里云短信服务,定时对仪器网络连接情况进行巡回检查,在网络中断时第一时间发送报警邮件、短信;编写、部署数据检查程序,对数据进行检查分析,发现异常时及时发送报警邮件、短信[3](图 2)。
系统包含以下几个子程序。
1) scrapy爬虫程序。每天定时爬取仪器设备当前数据并存入数据库(图 3)。按照仪器型号将地磁、水温、水位、气象仪等分成不同的蜘蛛(spider)。①调度器(scheduler)从待下载链接中取出一个链接(URL); ②调度器启动采集模块(spiders); ③采集模块把URL传给下载器(downloader),下载器把资源下载下来; ④提取目标数据,抽取出目标对象(item), 交给实体管道(item pipeline)存入mongodb数据库; ⑤如果解析出的是链接(URL), 则把URL插入到待爬取队列中,循环以上步骤。
2) flask网页展示程序。系统数据的可视化展示采用flask网页应用框架,采用MVC(模型model、视图view和控制器controller)设计模式[4]。model按照测项从mongodb数据库取出每套仪器的存储数据,controller控制业务逻辑,改变数据形态或显示,view将取出数据进行网页展示。
3) 网络连接、数据检测程序。定时对仪器网络连接情况进行检查判断,网络中断时第一时间发送邮件、短信。连接数据库取出数据,对各仪器设备的电压进行分析判断,当直流电压小于设定阈值时发送报警通知。最后对数据进行差值检测,当数据与均值的差值大于设定阈值时及时通知报警[5](图 4,表 1)。
4) 服务器部署。系统的部署采用flask+gunicorn+nginx反向代理+supervisor监控程序(图 5)。gunicorn(独角兽)是一个高效的python wsgi server,用它来运行wsgi应用程序,实现并发访问。nginx作为一个Web服务器,用作反向代理、http缓存。supervisor是一个python开发的Client/Server系统,用于管理和监控类操作系统上面的进程[6],可以同时启动或关闭多个进程。
根据前面的自动监控、报警功能设计与实现流程, 在湖北省地震局丹江地震台布署该套监控报警系统。丹江地震台现有FDH-2质子矢量磁力仪(1套)、DSW-Ⅰ型数字化流体观测系统(1套)、SZW-1A型数字式温度计(2套)、SWY-Ⅱ型水位仪(2套)、WYY-1型气温气压雨量综合测量仪(3套)共9台套观测仪器。
2.2 监控报警系统展示该系统安装在丹江地震台的某台服务器内,运行部署了crontab定时任务,每天整点访问9套观测仪器,获取数据存入mongodb数据库,每小时半点钟取出数据进行检查,当发现仪器电压或数据异常时发送报警邮件、短信。部署的监控程序每小时检查一次仪器的网络连接情况,当出现网络中断时发送报警通知。报警通知包含有:报警信息产生的设备、设备运行的台站、仪器的运行状况、数据异常时的异常值等。
系统数据通过flask程序以网页形式展示,包含首页、系统介绍、网络监控、数据监控、收件人列表以及仪器、报警邮件收件人、短信收件人添加页面等, 运维人员可以直接通过IP访问网站,实时查看数据及网络连接情况。
该监控系统在台站实际网络环境中运行后,取得了较好的运行实效,达到了预期目标,实现了对台站综合观测设备监控和报警信息的接收和处理,能有效监控仪器当前的数据情况、网络连接情况、设备的直流电压情况。
3 结语本文提出一种地震台站综合观测仪器自动化监控报警系统。运行结果表明,本文方法可以定时获取综合观测仪器设备的状态信息,减少台站工作人员的重复劳动,提高仪器维护效率,缩短故障发现、处理需要的时间,保障台站仪器连续稳定运行。
本文介绍的方法是在现有前兆设备通讯协议的基础上提出的,无需改变已有的硬件和软件结构,不受仪器设备来自不同厂家的影响,只需要在所属台站部署服务器、运行后台程序,实现过程简单。该系统也可部署在区域中心台站,以期在区域仪器运维工作中得到推广应用。由于系统所部署台站的仪器种类有限,该系统还需增加对其他种类仪器的监控支持。此外,系统暂无app接收功能,这也是系统有待完善之处。
[1] |
任敏.数字化地震前兆仪器远程实时监测系统的应用研究[D].西安: 西安科技大学, 2011 (Ren Min. The Application in Remote and Real-Time Monitoring System of Digitized Earthquake Omen Instrument[D].Xi'an: Xi'an University of Science and Technology, 2011) http://cdmd.cnki.com.cn/Article/CDMD-10704-1011300279.htm
(0) |
[2] |
王秀英, 周振安, 刘爱春. 地震前兆设备动态监控报警功能设计与实现[J]. 地震研究, 2009, 32(4): 431-435 (Wang Xiuying, Zhou Zhen'an, Liu Aichun. Design and Implementation of Dynamic Monitoring and Alerting Functions for the Earthquake Precursory Observation Devices[J]. Journal of Seismological Research, 2009, 32(4): 431-435 DOI:10.3969/j.issn.1000-0666.2009.04.018)
(0) |
[3] |
张兴国, 王子影, 李盛乐, 等. 地震前兆仪器实时数据动态与异常报警[J]. 地震地磁观测与研究, 2010, 31(6): 45-50 (Zhang Xingguo, Wang Ziying, Li Shengle, et al. On Dynamic Display and Abnormity Alarm of Real-Time Data Gathered from the Earthquake Precursor Instruments[J]. Seismological and Geomagnetic Observation and Research, 2010, 31(6): 45-50 DOI:10.3969/j.issn.1003-3246.2010.06.008)
(0) |
[4] |
丁睿, 王小明. 地震业务数据库自动监控与管理系统设计实现[J]. 大地测量与地球动力学, 2015, 35(2): 349-352 (Ding Rui, Wang Xiaoming. Design and Implementation of Automatic Monitoring and Management System for Seismic Business Database[J]. Journal of Geodesy and Geodynamics, 2015, 35(2): 349-352)
(0) |
[5] |
姚会琴, 赵颖, 周利霞, 等. 监控信息可视化技术在天津地震前兆台网的应用研究[J]. 震灾防御技术, 2014, 9(3): 550-555 (Yao Huiqin, Zhao Ying, Zhou Lixia, et al. Application of Visualization Technologies in Tianjin Seismic Precursory Network[J]. Technology for Earthquake Disaster Prevention, 2014, 9(3): 550-555)
(0) |
[6] |
王建国, 崔晓峰, 陈化然, 等. 前兆观测数据监视及异常自动识别软件系统[J]. 地震研究, 2007, 30(1): 83-87 (Wang Jianguo, Cui Xiaofeng, Chen Huaran, et al. A Software System for Precursor Observation Data Monitoring and Anomaly Auto-Identifying[J]. Journal of Seismological Research, 2007, 30(1): 83-87 DOI:10.3969/j.issn.1000-0666.2007.01.016)
(0) |
2. Hubei Key Laboratory of Earthquake Early Warning, Hubei Earthquake Agency, 40 Hongshance Road, Wuhan 430071, China