一、ganglia的元件
ganglia包括如下程式,他們之間通過xml格式傳遞監控資料,達到監控效果。
gmetad 這個程式負責收集各個cluster的資料,並更新到rrd資料庫中。
gmond 收集本機的監控資料,傳送到其他機器上。收集其他機器的監控資料,供gmetad讀取。預設監聽埠8649
web front-end 乙個基於web的監控介面,需要和gmetad安裝在同乙個節點上,從gmetad取資料,並且讀取rrd資料庫,生成,顯示出來。
二、ganglia的工作模式
ganglia的收集資料工作可以工作在單播(unicast)或多播(multicast)模式下,預設為多播模式。
單播:傳送自己收集到的監控資料到特定的一台或幾台機器上,可以跨網段
多播:傳送自己收集到的監控資料到同一網段內所有的機器上,同時收集同一網段內的所有機器傳送過來的監控資料。因為是以廣播包的形式傳送,因此需要同一網段內。但同一網段內,又可以定義不同的傳送通道。
三、ganglia的安裝
ganglia的安裝非常簡單,分為監控管理端(gmetad)和客戶端(gmond)安裝兩部分,已經寫成安裝指令碼,這裡不在描述。
四、ganglia的配置
這裡介紹乙個簡單的ganglia配置構架,即乙個監控管理端和多個客戶端,我們假定gmond工作在多播模式,並且有乙個cluster1的集群,裡面有10臺伺服器(從host1到host10),在同乙個網段內。
1、監控管理端配置
監控管理端的配置檔案是gmetad.conf,在安裝ganglia的etc目錄下可以找到,這個檔案配置非常簡單,介紹如下:
data_source "cluster1" host1 host2
xml_port 8651
interactive_port 8652
rrd_rootdir "/var/lib/ganglia/rrds"
data_source引數定義了集群名字,以及集群中的節點。由於採用multicast模式,每台gmond節點都有本cluster1內節點機器的所有監控資料,因此不需要把所有節點寫入data_source中。建議寫入不低於2個,在host1節點宕機的時候,會自動找host2節點取資料。
xml_port定義了乙個收集資料彙總的互動埠,如果不指定,預設是8651,可以通過telnet這個埠得到監控管理端收集到的客戶端的所有資料。
interactive_port 定義了web端獲取資料的埠,這個埠在配置ganglia的web監控介面時需要指定。
rrd_rootdir引數定義了rrd資料庫的存放路徑,gmetad收集到監控資料後,會更新到該目錄下的對應的rrd資料庫中。
上面通過data_source引數定義了乙個監控集群,如果要監控多個應用系統,可以通過如下方式定義:
data_source "my cluster" 10 localhost my.machine.edu:8649 1.2.3.5:8655
data_source "my grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651
data_source "another source" 1.3.4.7:8655 1.3.4.8
在定義集群節點的時候,可以採用主機名、ip位址等形式,也可以加埠,如果不加埠的話,預設是8649埠,同時可以設定採集資料的頻率,如上面的「10 localhost、50 1.3.4.7:8655」等,分別表示每隔10秒鐘、50秒鐘採集一次資料。
2、客戶端配置
客戶端監控安裝完成後,配置檔案位於安裝ganglia的etc目錄下,名稱為gmond.conf,這個配置檔案稍微複雜,介紹如下:
globals
cluster
host
udp_send_channel
udp_recv_channel
tcp_accept_channel
3、ganglia之web端配置
配置ganglia的web介面比較簡單,只需要修改幾個php檔案即可,首先第乙個是conf_default.php,可以將conf_default.php重新命名為conf.php,也可以保持不變,ganglia的web預設先找conf.php,找不到會繼續找conf_default.php,需要修改的內容如下:
$conf['gmetad_root'] = "/var/lib/ganglia";
# ganglia web根目錄
$conf['rrds'] = "$/rrds";
#ganglia web讀取rrds資料庫的路徑
$conf['dwoo_compiled_dir'] = "$/dwoo/compiled";
#需要777許可權
$conf['dwoo_cache_dir'] = "$/dwoo/cache";
#需要777許可權
$conf['rrdtool'] = "/opt/rrdtool/bin/rrdtool";
#指定rrdtool的路徑
$conf['graphdir']= $conf['gweb_root'] . '/graph.d';
#生成圖形模板目錄
$conf['ganglia_ip'] = "127.0.0.1";
#gmetad伺服器的位址
$conf['ganglia_port'] = 8652;
#gmetad伺服器的互動式提供監控資料埠發布
五、管理ganglia
所有配置操作完成後,即可啟動ganglia服務了,首先在監控管理端啟動gmetad服務:
/etc/init.d/gmetad start
接著啟動apache的web服務:
/usr/local/apache2/bin/apachectl start
最後在每個客戶端啟動gmond服務:
/etc/init.d/gmond start
分布式監控ganglia
1,簡介 ganglia是一款為hpc 高效能計算 集群而設計的可擴充套件性的分布式監控系統 監視和顯示集群中節點的個各種狀態資訊 由執行在各個節點上的gmond守護程序採集cpu 記憶體 硬碟利用率 i o負載 網路流量情況,然後彙總到gmetad守護程序 使用rrdtool儲存資料 將歷史資料以...
lnmp監控 ganglia分布式監控
這裡我們要先把乙個原始碼包製作成rpm包,方便以後的批量部署 所以需要rpmbuild yum install rpm build 4.8.0 27.el6.x86 64 y 將ganglia製作成rpm包 rpmbuild tb ganglia 3.4.0.tar.gz 在製作過程中可能需要的包 ...
分布式監控系統ganglia配置文件
一 ganglia的元件 ganglia包括如下程式,他們之間通過xml格式傳遞監控資料,達到監控效果。二 ganglia的工作模式 ganglia的收集資料工作可以工作在單播 unicast 或多播 multicast 模式下,預設為多播模式。三 ganglia的安裝 ganglia的安裝非常簡單...