程紫燕,蔣曉山, 陳存田, 張甲瑞
(1.山西省地震局,山西 太原 030021;2.山西省地震局太原地震監測中心站,山西 太原 030025;3.太原大陸裂谷動力學國家野外科學觀測研究站,山西 太原 030025)
山西省地震局于2012年進行Nagios的部署,用于區域通信骨干網運行質量的監控管理。2017年,增加Nagvis對地震臺站局域網的統一監控展示。采用的操作系統均為suselinux10版本,其安全防護能力較差,2017年12月部署的防病毒系統也不支持該版本,對系統的安全防護帶來諸多問題。在現有條件下,如何采用完善的操作系統平臺是提升監控系統安全防護能力的重中之重。
CentOS 7是一個基于Red Hat Linux提供可自由使用源代碼的企業級Linux發行版本,每個版本的CentOS都會獲得十年的安全更新支持;CentOS 7 在內核層面支持Docker容器技術,可提高Docker技術的穩定性和可靠性[1]。山西多業務監控系統部署的操作系統環境CentOS 7.4正式發布于2017年9月,當前主流的防病毒系統均支持該版本的操作系統。
基于CentOS7搭建多業務監控系統,采用C/S和B/S 模式,利用Nagios開源網絡監控軟件實現對山西地震行業網內運行的測震臺網、地球物理臺網、信息網絡及應急視頻會議系統數采、網絡設備、服務器、視頻終端等客戶端網絡設備運行狀態、服務的監控及故障報警等[2],通過Nagvis軟件將各類Nagios監控信息在用戶選擇的背景圖片上展示出來。
Nagios開源網管系統自2010年開始在中國地震信息網絡系統部署應用,可對各類主機、設備、服務進行全面監控,具備豐富的擴展功能[3]。除具備基本的監控終端運行狀態監控功能外,還使用NDOUtils插件實現將Nagios系統的配置與監控信息寫入數據庫,應用NRPE插件監控服務器運行情況,采用Nagvis為Nagios的監控實現圖形化展示。
系統面向山西地震監測各業務系統運維管理人員的需求設計,采用Nagios實現各業務系統監控客戶端運行狀態的實時監控及監控數據的列表化展示,采用Nagvis實現圖形界面展示,Nrpe實現對服務器運行狀態的監控,NDOUtils實現對監控數據的統一管理存儲(見表1)。

表1 監控系統使用主要軟件配置表
監控對象分組是對象定義時必須進行的操作[4],為方便業務系統管理人員識別,系統通過設備安裝位置、業務和設備屬性進行監控代碼設計。其中,山西地震信息網絡區域代碼為14。安裝位置(單位)屬性編碼如表2所示;業務屬性編碼的信息、測震、前兆、應急和辦公業務屬性代碼分別設計為01、02、03、05和08;設備屬性編碼采用設備型號簡寫進行統一編碼設計。如,太原站SS-Y型伸縮儀監控代碼為14_102_03_SS-Y。

表2 山西地震行業網節點位置屬性編碼表
從運維管理人員的需求角度將各業務系統監控要素集中展示在同一界面上,按運維主體進行分類,標注運維單位和聯系方式,便于各級運維人員在故障發生后聯絡(見圖1)。

圖1 測震業務系統監控界面設計
采用最簡化方式安裝CentOS 7操作系統,進行優化以便于Nagios等業務軟件的安裝(包括關閉selinuxhe和firewall、會話超時設置、密碼重復性限定、禁止root用戶遠程登錄、用戶登錄失敗鎖定、網絡連接配置、設置字符集、ssh連接、授時設定等)。因系統采用MySQL數據庫環境,需卸載CentOS7自帶的mariadb數據庫。
使用cmake工具進行MySQL數據庫環境部署,本機數據庫訪問采用socket套接字文件進行連接(socket =/usr/local/mysql/mysql.sock),圖形展示服務器對數據庫的訪問采用TCP/IP連接方式(mysql -u root -h 192.168.0.2 -p)。
安裝PHP腳本環境,通過PHP連接MySQL數據庫。因CentOS7下PHP缺少sockets和openssl組件,需開啟PHP的sockets和openssl擴展。使用./configre進行sockets配置,具體配置如下:
./configure --prefix=/usr/local/php --with-php-config=/usr/local/php/bin/php-config --with-openssl --enable-sockets
安裝中,為避免出現link的iconv 函式庫參數報錯,系統還安裝了libiconv庫。
tar xf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/usr/local
make
make install
安裝nagios之前需安裝依賴包,然后依次添加用戶和組、編譯安裝nagios、nagios-plugins,配置并啟動nagios,完成后用戶就可通過瀏覽器訪問nagios的服務器Web界面[2]。
該系統瀏覽器采用自帶的Apache,在Apache默認配置文件中修改監聽端口,創建運行httpd的用戶組與用戶,修改默認索引頁面DirectoryIndex index.php index.html,添加AddHandler application/x-httpd-php .php和LoadModule php7_module modules/libphp7.so后,重新編譯PHP使其直接Apache。
基于CentOS 7操作系統,可使用Nagvis Xi實現監控的圖形化展示,該軟件需購買License方可滿足大量監控對象的需求。系統通過部署一臺Suselinux10虛擬服務器并安裝Nagvis 1.6.6,通過與Nagios服務器監控數據的匹配,同步實現圖形化實時監控。
通過Nagios監控服務器Web頁面查看各組監控對象的網絡狀態(其中本地服務器通過nrpe插件實現監控)、故障通知和故障歷史、日志文件等,并可輕松得到每天、每周、每月和每年的運行狀況[5](見圖2),實現各業務系統監控終端的日、周、月、年運行率查詢。數據根據設計時間頻次通過NDOUtils插件工具保存至MySQL數據庫中,為個性化的匯總統計各臺網運行質量提供依據。

圖2 運行質量不同時間段統計選擇頁面
通過監控系統Nagvis下的各業務系統監控背景展示圖片設計及監控對象的圖上標識與參數配置,可查看各組監控對象的實時運行狀態(見第48頁圖3、圖4,“√”為運行正常狀態、“×”表示設備不可達或服務異常)。

圖3 測震臺網圖形化實時監控狀態頁面

圖4 陸態監測站點實時監控狀態頁面
CentOS 7滿足山西省地震局2018年網絡安全防護項目部署的360天擎防病毒系統軟件安裝要求,監控服務器可通過防病毒軟件客戶端安裝提高安全防護能力。通過修改操作系統的root用戶名、限制用戶及IP SSH登陸、設置系統口令政策、防止IP SPOOF(欺騙)、注釋掉系統不需要的用戶和用戶組、關閉系統一些不需要的服務、修改別名文件、禁止使用Ctrl+Alt+Del快捷鍵重啟服務器、服務器禁ping和隱藏服務器系統信息、部分文件夾不可更改屬性等方式[1],提升系統的安全性。相比原來在Suselinux10下部署的監控系統無安全防護狀態而言,現在的安全性得到大幅提升。
監控系統使用大量的插件和MySQL數據庫,進行安裝配置時考慮此類插件、數據庫的安全配置。如,用戶口令復雜性設置、訪問權限設置等。系統盡可能使用安全性較高的版本和較新的插件,部分插件出現版本兼容性問題,無法使用最新版本或補丁修復,隨著各功能插件的兼容性和安全性的提升,系統的安全性問題可逐漸完善。
系統面向各業務系統運維管理人員的需求設計,有針對性地根據測震臺網、地球物理臺網、信息臺網、GNSS網絡等監測業務屬性分類配置模板、制作背景圖件,實現各臺網運行狀況自動統計與運行狀態展示,便于各業務系統管理人員的日常監控、統計管理,提升維護效率。監控對象可根據用途或類別、管理或使用部門等單獨編輯模板,上傳實現精細化的分類監控,簡單易操作的監控對象配置、分組文件配置,為之后根據個性化需求完善監控內容提供較好的基礎。系統采用的包括虛擬軟件、操作系統、數據庫、應用軟件及各類插件均為開源軟件,無任何費用,滿足行業網、局域網內多種業務常規監控管理需求,部署成本低,易操作,便于推廣。
因監控對象地址需為可訪問的固定靜態地址,無法實現基于物聯網、PTN集成接入通信模式等無固定IP終端的監控。
基于CentOS 7部署的多業務監控系統,可滿足目前山西地震臺網測震、前兆、網絡、應急等基本業務運行狀態的實時監控及運行質量評估統計。可通過系統加固、應用軟件及插件等的安全配置和防病毒軟件的部署等,滿足信息系統等級保護相關要求。系統具有低成本、高可用性,可為提升業務系統的管理維護效率、提高運行質量提供保障,具有較好的應用前景。