程紫燕,蔣曉山, 陳存田, 張甲瑞
(1.山西省地震局,山西 太原 030021;2.山西省地震局太原地震監(jiān)測(cè)中心站,山西 太原 030025;3.太原大陸裂谷動(dòng)力學(xué)國(guó)家野外科學(xué)觀測(cè)研究站,山西 太原 030025)
山西省地震局于2012年進(jìn)行Nagios的部署,用于區(qū)域通信骨干網(wǎng)運(yùn)行質(zhì)量的監(jiān)控管理。2017年,增加Nagvis對(duì)地震臺(tái)站局域網(wǎng)的統(tǒng)一監(jiān)控展示。采用的操作系統(tǒng)均為suselinux10版本,其安全防護(hù)能力較差,2017年12月部署的防病毒系統(tǒng)也不支持該版本,對(duì)系統(tǒng)的安全防護(hù)帶來(lái)諸多問(wèn)題。在現(xiàn)有條件下,如何采用完善的操作系統(tǒng)平臺(tái)是提升監(jiān)控系統(tǒng)安全防護(hù)能力的重中之重。
CentOS 7是一個(gè)基于Red Hat Linux提供可自由使用源代碼的企業(yè)級(jí)Linux發(fā)行版本,每個(gè)版本的CentOS都會(huì)獲得十年的安全更新支持;CentOS 7 在內(nèi)核層面支持Docker容器技術(shù),可提高Docker技術(shù)的穩(wěn)定性和可靠性[1]。山西多業(yè)務(wù)監(jiān)控系統(tǒng)部署的操作系統(tǒng)環(huán)境CentOS 7.4正式發(fā)布于2017年9月,當(dāng)前主流的防病毒系統(tǒng)均支持該版本的操作系統(tǒng)。
基于CentOS7搭建多業(yè)務(wù)監(jiān)控系統(tǒng),采用C/S和B/S 模式,利用Nagios開源網(wǎng)絡(luò)監(jiān)控軟件實(shí)現(xiàn)對(duì)山西地震行業(yè)網(wǎng)內(nèi)運(yùn)行的測(cè)震臺(tái)網(wǎng)、地球物理臺(tái)網(wǎng)、信息網(wǎng)絡(luò)及應(yīng)急視頻會(huì)議系統(tǒng)數(shù)采、網(wǎng)絡(luò)設(shè)備、服務(wù)器、視頻終端等客戶端網(wǎng)絡(luò)設(shè)備運(yùn)行狀態(tài)、服務(wù)的監(jiān)控及故障報(bào)警等[2],通過(guò)Nagvis軟件將各類Nagios監(jiān)控信息在用戶選擇的背景圖片上展示出來(lái)。
Nagios開源網(wǎng)管系統(tǒng)自2010年開始在中國(guó)地震信息網(wǎng)絡(luò)系統(tǒng)部署應(yīng)用,可對(duì)各類主機(jī)、設(shè)備、服務(wù)進(jìn)行全面監(jiān)控,具備豐富的擴(kuò)展功能[3]。除具備基本的監(jiān)控終端運(yùn)行狀態(tài)監(jiān)控功能外,還使用NDOUtils插件實(shí)現(xiàn)將Nagios系統(tǒng)的配置與監(jiān)控信息寫入數(shù)據(jù)庫(kù),應(yīng)用NRPE插件監(jiān)控服務(wù)器運(yùn)行情況,采用Nagvis為Nagios的監(jiān)控實(shí)現(xiàn)圖形化展示。
系統(tǒng)面向山西地震監(jiān)測(cè)各業(yè)務(wù)系統(tǒng)運(yùn)維管理人員的需求設(shè)計(jì),采用Nagios實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)監(jiān)控客戶端運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控及監(jiān)控?cái)?shù)據(jù)的列表化展示,采用Nagvis實(shí)現(xiàn)圖形界面展示,Nrpe實(shí)現(xiàn)對(duì)服務(wù)器運(yùn)行狀態(tài)的監(jiān)控,NDOUtils實(shí)現(xiàn)對(duì)監(jiān)控?cái)?shù)據(jù)的統(tǒng)一管理存儲(chǔ)(見(jiàn)表1)。
表1 監(jiān)控系統(tǒng)使用主要軟件配置表
監(jiān)控對(duì)象分組是對(duì)象定義時(shí)必須進(jìn)行的操作[4],為方便業(yè)務(wù)系統(tǒng)管理人員識(shí)別,系統(tǒng)通過(guò)設(shè)備安裝位置、業(yè)務(wù)和設(shè)備屬性進(jìn)行監(jiān)控代碼設(shè)計(jì)。其中,山西地震信息網(wǎng)絡(luò)區(qū)域代碼為14。安裝位置(單位)屬性編碼如表2所示;業(yè)務(wù)屬性編碼的信息、測(cè)震、前兆、應(yīng)急和辦公業(yè)務(wù)屬性代碼分別設(shè)計(jì)為01、02、03、05和08;設(shè)備屬性編碼采用設(shè)備型號(hào)簡(jiǎn)寫進(jìn)行統(tǒng)一編碼設(shè)計(jì)。如,太原站SS-Y型伸縮儀監(jiān)控代碼為14_102_03_SS-Y。
表2 山西地震行業(yè)網(wǎng)節(jié)點(diǎn)位置屬性編碼表
從運(yùn)維管理人員的需求角度將各業(yè)務(wù)系統(tǒng)監(jiān)控要素集中展示在同一界面上,按運(yùn)維主體進(jìn)行分類,標(biāo)注運(yùn)維單位和聯(lián)系方式,便于各級(jí)運(yùn)維人員在故障發(fā)生后聯(lián)絡(luò)(見(jiàn)圖1)。
圖1 測(cè)震業(yè)務(wù)系統(tǒng)監(jiān)控界面設(shè)計(jì)
采用最簡(jiǎn)化方式安裝CentOS 7操作系統(tǒng),進(jìn)行優(yōu)化以便于Nagios等業(yè)務(wù)軟件的安裝(包括關(guān)閉selinuxhe和firewall、會(huì)話超時(shí)設(shè)置、密碼重復(fù)性限定、禁止root用戶遠(yuǎn)程登錄、用戶登錄失敗鎖定、網(wǎng)絡(luò)連接配置、設(shè)置字符集、ssh連接、授時(shí)設(shè)定等)。因系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)環(huán)境,需卸載CentOS7自帶的mariadb數(shù)據(jù)庫(kù)。
使用cmake工具進(jìn)行MySQL數(shù)據(jù)庫(kù)環(huán)境部署,本機(jī)數(shù)據(jù)庫(kù)訪問(wèn)采用socket套接字文件進(jìn)行連接(socket =/usr/local/mysql/mysql.sock),圖形展示服務(wù)器對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)采用TCP/IP連接方式(mysql -u root -h 192.168.0.2 -p)。
安裝PHP腳本環(huán)境,通過(guò)PHP連接MySQL數(shù)據(jù)庫(kù)。因CentOS7下PHP缺少sockets和openssl組件,需開啟PHP的sockets和openssl擴(kuò)展。使用./configre進(jìn)行sockets配置,具體配置如下:
./configure --prefix=/usr/local/php --with-php-config=/usr/local/php/bin/php-config --with-openssl --enable-sockets
安裝中,為避免出現(xiàn)link的iconv 函式庫(kù)參數(shù)報(bào)錯(cuò),系統(tǒng)還安裝了libiconv庫(kù)。
tar xf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/usr/local
make
make install
安裝nagios之前需安裝依賴包,然后依次添加用戶和組、編譯安裝nagios、nagios-plugins,配置并啟動(dòng)nagios,完成后用戶就可通過(guò)瀏覽器訪問(wèn)nagios的服務(wù)器Web界面[2]。
該系統(tǒng)瀏覽器采用自帶的Apache,在Apache默認(rèn)配置文件中修改監(jiān)聽端口,創(chuàng)建運(yùn)行httpd的用戶組與用戶,修改默認(rèn)索引頁(yè)面DirectoryIndex index.php index.html,添加AddHandler application/x-httpd-php .php和LoadModule php7_module modules/libphp7.so后,重新編譯PHP使其直接Apache。
基于CentOS 7操作系統(tǒng),可使用Nagvis Xi實(shí)現(xiàn)監(jiān)控的圖形化展示,該軟件需購(gòu)買License方可滿足大量監(jiān)控對(duì)象的需求。系統(tǒng)通過(guò)部署一臺(tái)Suselinux10虛擬服務(wù)器并安裝Nagvis 1.6.6,通過(guò)與Nagios服務(wù)器監(jiān)控?cái)?shù)據(jù)的匹配,同步實(shí)現(xiàn)圖形化實(shí)時(shí)監(jiān)控。
通過(guò)Nagios監(jiān)控服務(wù)器Web頁(yè)面查看各組監(jiān)控對(duì)象的網(wǎng)絡(luò)狀態(tài)(其中本地服務(wù)器通過(guò)nrpe插件實(shí)現(xiàn)監(jiān)控)、故障通知和故障歷史、日志文件等,并可輕松得到每天、每周、每月和每年的運(yùn)行狀況[5](見(jiàn)圖2),實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)監(jiān)控終端的日、周、月、年運(yùn)行率查詢。數(shù)據(jù)根據(jù)設(shè)計(jì)時(shí)間頻次通過(guò)NDOUtils插件工具保存至MySQL數(shù)據(jù)庫(kù)中,為個(gè)性化的匯總統(tǒng)計(jì)各臺(tái)網(wǎng)運(yùn)行質(zhì)量提供依據(jù)。
圖2 運(yùn)行質(zhì)量不同時(shí)間段統(tǒng)計(jì)選擇頁(yè)面
通過(guò)監(jiān)控系統(tǒng)Nagvis下的各業(yè)務(wù)系統(tǒng)監(jiān)控背景展示圖片設(shè)計(jì)及監(jiān)控對(duì)象的圖上標(biāo)識(shí)與參數(shù)配置,可查看各組監(jiān)控對(duì)象的實(shí)時(shí)運(yùn)行狀態(tài)(見(jiàn)第48頁(yè)圖3、圖4,“√”為運(yùn)行正常狀態(tài)、“×”表示設(shè)備不可達(dá)或服務(wù)異常)。
圖3 測(cè)震臺(tái)網(wǎng)圖形化實(shí)時(shí)監(jiān)控狀態(tài)頁(yè)面
圖4 陸態(tài)監(jiān)測(cè)站點(diǎn)實(shí)時(shí)監(jiān)控狀態(tài)頁(yè)面
CentOS 7滿足山西省地震局2018年網(wǎng)絡(luò)安全防護(hù)項(xiàng)目部署的360天擎防病毒系統(tǒng)軟件安裝要求,監(jiān)控服務(wù)器可通過(guò)防病毒軟件客戶端安裝提高安全防護(hù)能力。通過(guò)修改操作系統(tǒng)的root用戶名、限制用戶及IP SSH登陸、設(shè)置系統(tǒng)口令政策、防止IP SPOOF(欺騙)、注釋掉系統(tǒng)不需要的用戶和用戶組、關(guān)閉系統(tǒng)一些不需要的服務(wù)、修改別名文件、禁止使用Ctrl+Alt+Del快捷鍵重啟服務(wù)器、服務(wù)器禁ping和隱藏服務(wù)器系統(tǒng)信息、部分文件夾不可更改屬性等方式[1],提升系統(tǒng)的安全性。相比原來(lái)在Suselinux10下部署的監(jiān)控系統(tǒng)無(wú)安全防護(hù)狀態(tài)而言,現(xiàn)在的安全性得到大幅提升。
監(jiān)控系統(tǒng)使用大量的插件和MySQL數(shù)據(jù)庫(kù),進(jìn)行安裝配置時(shí)考慮此類插件、數(shù)據(jù)庫(kù)的安全配置。如,用戶口令復(fù)雜性設(shè)置、訪問(wèn)權(quán)限設(shè)置等。系統(tǒng)盡可能使用安全性較高的版本和較新的插件,部分插件出現(xiàn)版本兼容性問(wèn)題,無(wú)法使用最新版本或補(bǔ)丁修復(fù),隨著各功能插件的兼容性和安全性的提升,系統(tǒng)的安全性問(wèn)題可逐漸完善。
系統(tǒng)面向各業(yè)務(wù)系統(tǒng)運(yùn)維管理人員的需求設(shè)計(jì),有針對(duì)性地根據(jù)測(cè)震臺(tái)網(wǎng)、地球物理臺(tái)網(wǎng)、信息臺(tái)網(wǎng)、GNSS網(wǎng)絡(luò)等監(jiān)測(cè)業(yè)務(wù)屬性分類配置模板、制作背景圖件,實(shí)現(xiàn)各臺(tái)網(wǎng)運(yùn)行狀況自動(dòng)統(tǒng)計(jì)與運(yùn)行狀態(tài)展示,便于各業(yè)務(wù)系統(tǒng)管理人員的日常監(jiān)控、統(tǒng)計(jì)管理,提升維護(hù)效率。監(jiān)控對(duì)象可根據(jù)用途或類別、管理或使用部門等單獨(dú)編輯模板,上傳實(shí)現(xiàn)精細(xì)化的分類監(jiān)控,簡(jiǎn)單易操作的監(jiān)控對(duì)象配置、分組文件配置,為之后根據(jù)個(gè)性化需求完善監(jiān)控內(nèi)容提供較好的基礎(chǔ)。系統(tǒng)采用的包括虛擬軟件、操作系統(tǒng)、數(shù)據(jù)庫(kù)、應(yīng)用軟件及各類插件均為開源軟件,無(wú)任何費(fèi)用,滿足行業(yè)網(wǎng)、局域網(wǎng)內(nèi)多種業(yè)務(wù)常規(guī)監(jiān)控管理需求,部署成本低,易操作,便于推廣。
因監(jiān)控對(duì)象地址需為可訪問(wèn)的固定靜態(tài)地址,無(wú)法實(shí)現(xiàn)基于物聯(lián)網(wǎng)、PTN集成接入通信模式等無(wú)固定IP終端的監(jiān)控。
基于CentOS 7部署的多業(yè)務(wù)監(jiān)控系統(tǒng),可滿足目前山西地震臺(tái)網(wǎng)測(cè)震、前兆、網(wǎng)絡(luò)、應(yīng)急等基本業(yè)務(wù)運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控及運(yùn)行質(zhì)量評(píng)估統(tǒng)計(jì)??赏ㄟ^(guò)系統(tǒng)加固、應(yīng)用軟件及插件等的安全配置和防病毒軟件的部署等,滿足信息系統(tǒng)等級(jí)保護(hù)相關(guān)要求。系統(tǒng)具有低成本、高可用性,可為提升業(yè)務(wù)系統(tǒng)的管理維護(hù)效率、提高運(yùn)行質(zhì)量提供保障,具有較好的應(yīng)用前景。