《輕松監控上萬臺服務器:企業運維監控平臺架構設計與實踐指南》要點:
本文介紹了輕松監控上萬臺服務器:企業運維監控平臺架構設計與實踐指南,希望對您有用。如果有疑問,可以聯系我們。
Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具.
簡單的說Cacti?就是一個PHP?程序.它通過使用SNMP?協議獲取遠端網絡設備和相關信息,(其實就是使用Net-SNMP軟件包的snmpget?和snmpwalk?命令獲取)并通過RRDTOOL?工具繪圖,通過PHP?程序展現出來.我們使用它可以展現出監控對象一段時間內的狀態或者性能趨勢圖.
Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等.在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復后發出正常的郵件或短信通知.
zabbix是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案.zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題.
zabbix由2部分構成,zabbixserver與可選組件zabbix agent.zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺上.
Ganglia是一款為HPC(高性能計算)集群而設計的可擴展的分布式監控系統,它可以監視和顯示集群中的節點的各種狀態信息,它由運行在各個節點上的gmond守護進程來采集CPU?、內存、硬盤利用率、I/O負載、網絡流量情況等方面的數據,然后匯總到gmetad守護進程下,使用rrdtool存儲數據,最后將歷史數據以曲線方式通過PHP頁面呈現.
Ganglia監控系統有三部分組成,分別是gmond、gmetad、webfrontend.
Centreon是一款功能強大的分布式IT監控系統,它通過第三方組件可以實現對網絡、操作系統和應用程序的監控:首先,它是開源的,我們可以免費使用它;其次,它的底層采用nagios作為監控軟件,同時nagios通過ndoutil模塊將監控到的數據定時寫入數據庫中,而Centreon實時從數據庫讀取該數據并通過Web界面展現監控數據;最后,我們可以通過Centreon管理和配置nagios,或者說Centreon就是nagios的一個管理配置工具,通過Centreon提供的Web配置界面,可以輕松完成nagios的各種繁瑣配置.
構建一個智能的運維監控平臺,必須以運行監控和故障報警這兩個方面為重點,將所有業務系統中所涉及的網絡資源、硬件資源、軟件資源、數據庫資源等納入統一的運維監控平臺中,并通過消除管理軟件的差別,數據采集手段的差別,對各種不同的數據來源實現統一管理、統一規范、統一處理、統一展現、統一用戶登錄、統一權限控制,最終實現運維規范化、自動化、智能化的大運維管理.
智能的運維監控平臺,設計架構從低到高可以分為6層,三大模塊,如下圖:
運維監控平臺實現拓撲圖,請看下圖:
Ganglia監控系統有三部分組成,分別是gmond、gmetad、webfrontend,如下圖所示:
同時,Ganglia支持多種監控架構,這是由gmetad的特性決定的,gmetad可以周期性地去多個gmond節點收集數據,這就是ganglia的兩層架構.同時,gmetad不但可以從gmond收集數據,也可以從其他的gmetad得到數據,這就形成了Gnaglia的三層架構.多種架構方式也體現了Ganglia作為分布式監控系統的靈活性和擴展性.
CentOS系統中默認的yum源并沒有包含Ganglia,所以我們必須安裝擴展的yum源.從下面這個地址下載Linux附加軟件包(EPEL),然后安裝擴展yum源:
完成yum源安裝,就可以直接通過yum方式安裝Ganglia了.
Ganglia的安裝分為兩個部分,分別是gmetad和gmond,gmetad安裝在監控管理端,gmond安裝在需要監控的客戶端主機,對應的yum包名稱分別為ganglia-gmetad和ganglia-gmond.
下面介紹通過yum方式安裝Ganglia的過程.
以下操作是在監控管理端進行的,首先通過yum命令查看下可用的Ganglia安裝信息:
安裝gmetad需要rrdtool的支持,而通過yum方式,會自動查找gmetad依賴的安裝包,自動完成安裝,這也是yum方式安裝的優勢.
最后在需要監控的所有客戶端主機上安裝gmond服務:
這樣,Ganglia監控系統就安裝完成了.通過yum方式安裝的Ganglia默認配置文件位于/etc/ganglia中.
監控管理端的配置文件是gmetad.conf,這個配置文件內容比較多,但是需要修改的配置僅有如下幾個:
上面通過data_source參數定義了一個服務器集群Cluster1,對于要監控多個應用系統的情況,還可以對不同用途的主機進行分組,定義多個服務器集群,分組方式可以通過下面的方法定義:
可以通過定義多個data_source來實現監控多個服務器集群,而每個服務器集群在定義集群節點的時候,可以采用主機名或IP地址等形式,也可以加端口,如果不加端口,默認端口是8649,同時可以設定采集數據的頻率,如上面的“10 localhost、50 1.3.4.7:8655”等,分別表示每隔10秒鐘、50秒鐘采集一次數據.
Ganglia監控客戶端gmond安裝完成后,配置文件位于Ganglia安裝路徑的etc目錄下,名稱為gmond.conf,這個配置文件稍微復雜,如下所示:
Ganglia的web監控界面是基于PHP的,因此需要安裝PHP環境.
有兩種方式安裝Ganglia的web監控界面,一種是yum直接安裝,另一種是通過源碼安裝.PHP環境的安裝這里不做介紹,大家可以在http://sourceforge.net/projects/ganglia/files/下載ganglia-web的最新版本,然后將ganglia-web程序放到Apche Web的根目錄即可,這里我們下載的版本是ganglia-web-3.7.1.
配置Ganglia的Web界面比較簡單,只需要修改幾個php文件即可.首先是conf_default.php,可以將conf_default.php重命名為conf.php,也可以保持不變,Ganglia的Web默認先找conf.php,找不到會繼續找conf_default.php,需要修改的內容如下:
這里需要說明的是:“$conf[‘dwoo_compiled_dir’]”和“$conf[‘dwoo_cache_dir’]”指定的路徑在默認情況下可能不存在,因此需要手動建立compiled和cache目錄,并授予Linux下“777”的權限.另外,rrd數據庫的存儲目錄/opt/app/ganglia/rrds一定要保證rrdtool可寫,因此需要執行授權命令:
這樣rrdtool才能正常讀取rrd數據庫,進而將數據通過Web界面展示出來.其實ganglia-web的配置還是比較簡單的,一旦配置出錯會給出提示,根據錯誤提示進行問題排查,一般都能找到解決方法.
gmetric是Ganglia的一個命令行工具它可以將數據直接發送到負責收集數據的gmond節點,或者廣播給所有gmond節點.
在Ganglia安裝完成后,會在bin目錄下生成gmetric命令.下面通過一個實例介紹一下gmetric的使用方法:
-n,表示要監控的指標名.
-v,表示寫入的監控指標值.
-t,表示寫入監控數據的類型.
-u,表示監控數據的單位.
-d,表示監控指標的存活時間.
-c,用于指定ganglia配置文件的位置.
-S,表示偽裝客戶端信息,8.8.8.8代表偽裝的客戶端地址,cloud1代表被監控主機的主機名.
現成可用擴展插件:
https://github.com/ganglia/gmond_python_modules
作者介紹 高俊峰
原文出處:DBAplus社群微信公眾號