7.23引以為戒 馬后炮不如加強系統(tǒng)監(jiān)控
“7·23”甬溫線特別重大鐵路交通事故發(fā)生已經(jīng)有十余天了,國務(wù)院事故調(diào)查組正在緊鑼密鼓地展開調(diào)查事故的原因。7月28日,事故調(diào)查組組長、國家安全監(jiān)管總局局長駱琳在會議上也曾表示,調(diào)查結(jié)果爭取在9月中旬公布。在事故原因未能正式調(diào)查清楚之前,很業(yè)內(nèi)人士以及媒體都通過分析,提出了自己的觀點。無論,業(yè)界分析的原因是否與調(diào)查結(jié)果相同或想以,有一點是共識我們可以首先提出來:動車運行的安全性仍然需要進一步,遭遇到各種突發(fā)事件,我們的應(yīng)對能力仍然顯得不足。
“7·23”甬溫線特別重大鐵路交通事故示意圖(圖片來自新華網(wǎng))
或許這樣的話很多人會說是馬后炮,但是,我們希望通過這個事件,能夠讓我們對自己所處行業(yè)的安全問題引以為戒。
對于很多企業(yè)來說,為了保證IT系統(tǒng)能夠正常運行,很多企業(yè)都有選擇一種系統(tǒng)監(jiān)控軟件進行實時或者遠程監(jiān)控。下面,編者搜集了一些切實可用的系統(tǒng)監(jiān)控軟件,希望能夠幫助企業(yè)IT系統(tǒng)穩(wěn)定、安全地運行。
首先,監(jiān)視系統(tǒng)Nagios。Nagios是一個監(jiān)視系統(tǒng)運行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠程主機以及服務(wù),同時提供異常通知功能等。Nagios可運行在Linux/Unix平臺之上,同時提供一個可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問題,以及日志等等。
Nagios所有用戶服務(wù)狀況
具體來看,Nagios的主要功能有:監(jiān)視網(wǎng)絡(luò)服務(wù) (SMTP,POP3,HTTP,NNTP,PING等),監(jiān)視主機資源(進程,磁盤等),簡單的插件設(shè)計可以輕松擴展Nagios的監(jiān)視功能,服務(wù)等監(jiān)視的并發(fā)處理,錯誤通知功能(通過email,pager,或其他用戶自定義方法),可指定自定義的事件處理控制器,可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問題,以及日志等等,也可以通過手機查看系統(tǒng)監(jiān)控信息。#p#
分布式監(jiān)控系統(tǒng)Ganglia
Ganglia是一個跨平臺可擴展的,高 性能計算系統(tǒng)下的分布式監(jiān)控系統(tǒng),如集群和網(wǎng)格。它是基于分層設(shè)計,它使用廣泛的技術(shù),如XML數(shù)據(jù)代表,便攜數(shù)據(jù)傳輸,RRDtool用于數(shù)據(jù)存儲和可 視化。它利用精心設(shè)計的數(shù)據(jù)結(jié)構(gòu)和算法實現(xiàn)每節(jié)點間并發(fā)非常低的。它已移植到廣泛的操作系統(tǒng)和處理器架構(gòu)上,目前在世界各地成千上萬的集群正在使用。它已 被用來連結(jié)大學(xué)校園和世界各地,可以處理2000節(jié)點的規(guī)模。
分布式監(jiān)控系統(tǒng)Ganglia
系統(tǒng)監(jiān)控工具NetXMS
NetXMS是一款全新的發(fā)展迅速的系統(tǒng)監(jiān)控工具,在GPL2許可下發(fā)布。它可用于監(jiān)測整個IT基礎(chǔ)設(shè)施,從支持SNMP的硬件(如交換機和路由器)到您的服務(wù)器或者是應(yīng)用程序。NetXMS是一個非常可靠和強大的監(jiān)測系統(tǒng),使您提高網(wǎng)絡(luò)可用性和服務(wù)水平。
NetXMS具有三層結(jié)構(gòu),包括信息收集、監(jiān)測代理(無論是我們自己的高性能的代理或SNMP代理),并送交監(jiān)測服務(wù)器的處理和儲存。網(wǎng)絡(luò)管理員可以訪問收集到的數(shù)據(jù)使用的是Windows為基礎(chǔ)的管理控制臺,網(wǎng)絡(luò)界面或管理控制臺。
系統(tǒng)監(jiān)控工具NetXMS
在設(shè)計上具有靈活性和可擴展性的考慮,NetXMS內(nèi)容廣泛的支持平臺,讓你自由選擇平臺。NetXMS服務(wù)器的核心系統(tǒng)目前適用于WindowsNT/2000/2003/XP,Linux,Solaris和FreeBSD的。
高性能的模塊化監(jiān)測代理商可為同一平臺以及為OpenBSD系統(tǒng),NetBSD的,的NetWare,HP-UX和AIX操作系統(tǒng)。NetXMS目前支持以下數(shù)據(jù)庫:MySQL和PostgreSQL數(shù)據(jù)庫,Microsoft SQL Server和Oracle。由于采用模塊化結(jié)構(gòu),添加其他數(shù)據(jù)庫的支持之需要短短幾天時間。#p#
輕量級系統(tǒng)監(jiān)控Conky
Conky是一個X系統(tǒng)下的免費的,重量輕,系統(tǒng)監(jiān)控的,即任何資料都能顯示在您的桌面上。它可運行在Linux和BSD上。
輕量級系統(tǒng)監(jiān)控Conky具有的功能包括,(1)很多的操作系統(tǒng)信息(系統(tǒng)名 ,正常運行時間, CPU使用率,內(nèi)存使用率,磁盤使用情況,進程的統(tǒng)計資料,以及網(wǎng)絡(luò)監(jiān)控等到);(2)基于IMAP和POP3支持;(3)支持許多流行的音樂播放器(XMMS2,BMPx等)。
輕量級系統(tǒng)監(jiān)控Conky
自動故障排除和監(jiān)控的GlassBox
GlassBox是一個自動故障排除和監(jiān)控的應(yīng)用程序,通過一次點擊診斷常見的問題。無論是在生產(chǎn)或測試,你都可以拖放到您現(xiàn)有的Java應(yīng)用服務(wù)器(Tomcat, JBoss, WebSphere, WebLogic)中。它故障排除的知識很簡單,任何人都可以找出失敗的原因。簡單易懂的英語,你不再需要涉及日志和圖表。
GlassBox具體包含的功能有,對正在發(fā)生的事情捕捉更多的方面(例如,堆棧跟蹤和參數(shù)),尤其是異常情況;監(jiān)測最高級別的資源信息(例如,總共花費的時間,要求服務(wù)或連接到數(shù)據(jù)庫);監(jiān)測更多的業(yè)務(wù),資源,如JMS和EJB組件,XML處理;處理分布式監(jiān)測,跟蹤信息,集群應(yīng)用及相關(guān)資料分發(fā);利用Java 5的管理信息,如CPU的時間或線程的具體統(tǒng)計數(shù)字;使用應(yīng)用服務(wù)器JMX統(tǒng)計信息,如線程池;捕捉歷史和趨勢,持久存儲和報告;利用JMX提供警示和揭露統(tǒng)計摘要;自適應(yīng)發(fā)現(xiàn)相關(guān)參數(shù)跟蹤(例如,未知的數(shù)據(jù)庫查詢或Servlet的請求)。
自動故障排除和監(jiān)控的應(yīng)用程序GlassBox
為更高級別的數(shù)據(jù)庫和服務(wù)訪問框架提供資源監(jiān)測(如Hibernate,TopLink,持久性EJB等);允許不同的數(shù)據(jù)量抽樣抓獲;監(jiān)控系統(tǒng)事件,如Web應(yīng)用程序404錯誤的請求;提供不同程度的統(tǒng)計匯總(例如,直方圖);監(jiān)測商業(yè)活動,如客戶購買或放棄的購物車。#p#
進程守護者Collectd
collectd是一個守護(daemon)進程,用來收集系統(tǒng)性能和提供各種存儲方式來存儲不同值的機制。比如以RRD文件形式。
當(dāng)系統(tǒng)運行和存儲信息的時候,Collectd會周期性統(tǒng)計系統(tǒng)的相關(guān)統(tǒng)計信息。那些信息可以用來找到當(dāng)前系統(tǒng)性能瓶頸。(如作為性能分析 performance analysis)和預(yù)測系統(tǒng)未來的load(如能力部署capacity planning).如果你需要美觀的圖形來顯示您的數(shù)據(jù),并且已經(jīng)厭煩了內(nèi)部解決方案,你找到了正確的地方。
進程守護者Collectd
一般來說,一圖勝過千言,所以這里顯示了某個系統(tǒng)在過去60分鐘內(nèi)的CPU利用率圖形。
在互聯(lián)網(wǎng)上還有其他的免費,開源的項目類似于collectd的項目。為什么你要選擇collectd呢?和其他項目相比,我們覺得collectd有一些主要的特點:第一,它完全是由C語言編寫,故性能很高,可移植性好,它允許運行在系統(tǒng)沒有腳本語言支持或者cron daemon的系統(tǒng)上,比如嵌入式系統(tǒng)。
同時,它包含優(yōu)化以及處理成百上千種數(shù)據(jù)集的新特性。collectd包含有超過70多種插件,其中有標(biāo)準(zhǔn)的case到非常特殊和高級的專題。同時,collectd提供強大的網(wǎng)絡(luò)聯(lián)網(wǎng)特性,它能以多種方式來擴充。最后,collectd開發(fā)及時同時文檔支持也是非常好的。
雖然collectd能夠很大程度滿足您的管理需求,但是它還是存在一些不足:它本身不能生成圖形。雖然它能寫RRD文件,但是它不能從這些文件生成圖形。在contrib/ 目錄下包含簡單的腳本,可以看看kcollectd,一個X window前端和drraw,一個非常通用的解決方案。
絕世好工具OpenNMS
OpenNMS是一個企業(yè)級基于Java/XML的分布式網(wǎng)絡(luò)和系統(tǒng)監(jiān)控管理平臺。OpenNMS是你管理網(wǎng)絡(luò)的絕好工具,它能夠顯示你網(wǎng)絡(luò)中各中終端和服務(wù)器的狀態(tài)和配置,為你方便地管理網(wǎng)絡(luò)提供有效的信息。
絕世好工具OpenNMS
Opsview是一個企業(yè)級的網(wǎng)絡(luò)、服務(wù)器和應(yīng)用程序監(jiān)控工具,設(shè)計為可伸縮、靈活和易用的。可跟一些常用的監(jiān)控系統(tǒng)做集成,例如Nagios Core、Nagvis、Net-SNMP 和RRDTool等。監(jiān)控服務(wù)運行于Linux 和 Solaris 10上,可監(jiān)控各種系統(tǒng)的服務(wù)器,包括Windows。
開源監(jiān)控軟件Pandora FMS
Pandora FMS是一個開源的應(yīng)用程序,用來監(jiān)測網(wǎng)站的各種活動。如果一個網(wǎng)站超額或當(dāng)機,如果網(wǎng)站內(nèi)容改變,硬盤或CPU被遠程服務(wù)調(diào)用時(通過SNMP或TCP/IP),以及其它情況。
開源監(jiān)控軟件Pandora FMS
Pandora FMS可以運行于任何操作系統(tǒng), 獲取數(shù)據(jù)并發(fā)送到服務(wù)器。你可以收到實時的監(jiān)測報告,并發(fā)送到你指定的郵箱。它也可以通過e-mail,SMS或Jabber(MSN, GTalk等)發(fā)到報告。#p#
開源安全信息管理系統(tǒng)OSSIM
OSSIM即開源安全信息管理系統(tǒng)(OPEN SOURCE SECURITY INFORMATION MANAGEMENT)是目前一個非常流行和完整的開源安全架構(gòu)體系。OSSIM通過將開源產(chǎn)品進行集成,從而提供一種能夠?qū)崿F(xiàn)安全監(jiān)控功能的基礎(chǔ)平臺。 它的目的是提供一種集中式、有組織的,能夠更好地進行監(jiān)測和顯示的框架式系統(tǒng)。
開源安全信息管理系統(tǒng)OSSIM
OSSIM明確定位為一個集成解決方案,其目標(biāo)并不是要開發(fā)一個新的功能,而是利用豐富的、強大的各種程序(包括Snort、Rrd、Nmap、 Nessus以及Ntop等開源系統(tǒng)安全軟件)。在一個保留他們原有功能和作用的開放式架構(gòu)體系環(huán)境下,將他們集成起來。而OSSIM項目的核心工作在于 負(fù)責(zé)集成和關(guān)聯(lián)各種產(chǎn)品提供的信息,同時進行相關(guān)功能的整合。由于開源項目的優(yōu)點,這些工具已經(jīng)是久經(jīng)考驗,同時也經(jīng)過全方位測試、可靠的工具。
監(jiān)控系統(tǒng)狀態(tài)Monitorix工具
Monitorix是一套可以監(jiān)控系統(tǒng)狀態(tài)的工具,可監(jiān)控的項目非常得多,你也可以自行設(shè)定要監(jiān)控的服務(wù),預(yù)設(shè)就可以分析 CPU與記憶體使用率、磁碟存取使用率(Disk I/O Usage)、網(wǎng)絡(luò)使用率(Network traffic and usage)、各服務(wù)使用需求(network services demand)、使用者登入的狀況等。下面是監(jiān)控界面截圖:
監(jiān)控系統(tǒng)狀態(tài)Monitorix工具
監(jiān)控工具JavaMelody
JavaMelody能夠監(jiān)測Java或Java EE應(yīng)用程序服務(wù)器,并以圖表的方式顯示:Java內(nèi)存和Java CPU使用情況,用戶Session數(shù)量,JDBC連接數(shù),和http請求、sql請求、jsp頁面與業(yè)務(wù)接口方法(EJB3、Spring、 Guice)的執(zhí)行數(shù)量,平均執(zhí)行時間,錯誤百分比等。圖表可以按天,周,月,年或自定義時間段查看。
監(jiān)控工具JavaMelody圖表展示
小結(jié):通過對于以上系統(tǒng)監(jiān)控軟件的體驗,編者發(fā)現(xiàn)這些軟件可以分為開源軟件,也有企業(yè)開發(fā)的。同時,它們大多開發(fā)了簡單直觀的操作界面,負(fù)責(zé)對企業(yè)TI系統(tǒng)運行情況的監(jiān)控,也能夠自動報錯。當(dāng)然,有些軟件因為是開源的,所以,特定某個功能仍然需要企業(yè)用戶自己二次開發(fā)。
有了這些承載企業(yè)業(yè)務(wù)的IT系統(tǒng)運行,可以預(yù)防IT系統(tǒng)運行過程中萬無一失。所以,系統(tǒng)監(jiān)控軟件能夠在一定程度上幫助企業(yè)化解日常運行過程中的難題:包括IT系統(tǒng)崩潰,以及一些異?,F(xiàn)象等。
【編輯推薦】