分散式監控系統ganglia的詳細配置

技術小阿哥發表於2018-03-20

分散式監控系統ganglia

1.簡介:

ganglia是一款為HPC(高效能運算)叢集而設計的可擴充套件的分散式監控系統,它可以監控和顯示叢集中cpu,記憶體,磁碟利用率,i/o負載,網路流量等情況

優點:良好的擴充套件性,負載開銷低,支援高併發。廣泛支援各種作業系統和cpu架構,支援虛擬機器

2.組成:

gmond:用於收集本節點的資訊併傳送到其他節點,同時也接收其他節點傳送過來的資料,預設埠為8649

gmetad:執行在一個資料匯聚節點,定期檢查每個節點的gmond程式,並從哪裡獲取資料,然後將資料 儲存在本地rrd引擎中

webfrontend:基於web的圖形化監控介面,和gmetad安裝在一個節點上,讀取資料,並通過rrdtool生成圖表

3.工作原理

node:單臺伺服器

cluster:一個伺服器叢集

grid:表示一個網格,由多個叢集組成

4.資料走向:

gmond:收集本地的監控資料,傳送到其他機器上。他們之間用udp協議通訊,檔案格式為xdl,傳輸方式支援單播點對點和多播傳送

gmetad:週期性的到gmond節點或gmetad節點上獲取資料。用tcp協議通訊,檔案格式為xml

gmetad:將獲取到的資料更新到rrds資料庫中

通過web介面,從gmetad取資料,並且讀取rrds資料庫,生成圖片顯示出來

5.工作模式:單播和多播,預設採用多播

單播:監控節點傳送本機資料到指定的一臺或幾臺機器上,單播可以跨越不同的網段

多播:監控節點傳送本機資料到同意網段內的所有機器上,同時也接收同一網段內所有機器發過來的監控資料。

環境:centos6.5

ganglia_gmetad 192.168.32.200  ganglia_gmond:192.168.32.202

6.ganglia的安裝

yum安裝

安裝第三方源:epel

ganglia安裝飛衛兩個部分:gmetad(管理端)和gmond(客戶端)

yum -y install ganglia-gmetad

yum -y install ganglia-gmond

原始碼安裝

安裝依賴

伺服器的安裝

yum -y install expat expat-devel pcre pcre-devel zlib cairo-devel libxml2-devel devel libxml2-develpango-devel pango libpng-devel libpng freetype

 freetype-devel libart-lgpl-devel apr-devel

 yum -y install pango-devel

 yum -y install perl-ExtUtils-MakeMaker

 安裝apr,confuse,rrdtool

 tar zxvf apr-1.4.6.tar.gz

 cd apr-1.4.6

 ./configure

 make && make install

 

 tar zxvf confuse-2.7.tar.gz 

 cd confuse-2.7

 ./configure CFLAGS=-fPIC –disable-nls

 make && make install

 tar zxvf rrdtool-1.4.7.tar.gz 

  ./configure –disable-tcl –prefix=/usr/local/rrdtool

  cd rrdtool-1.4.7

  make && make install

  

  tar zxvf ganglia-3.4.0.tar.gz 

  cd ganglia-3.4.0

 ./configure –prefix=/usr/local/ganglia –with-static-modules –enable-gexec –enable-status –with-gmetad –with-python=/usr –with-librrd=/usr/local/rrdtool/ 

 –with-libexpat=/usr/ –with-libconfuse=/usr/local/ –with-libpcre=/usr/local/

 make && make install

 

 cp gmetad.conf /usr/local/ganglia/etc/

 cp gmetad.init /etc/init.d/gmetad

  cd /etc/init.d/

  vim gmetad 

  GMETAD=/usr/local/ganglia/sbin/gmetad

  chkconfig –add gmetad

  service gmetad start

  ip route add 239.2.11.71 dev eth1

  

[root@ganglia_gmetad gmetad]# /etc/init.d/gmetad status

gmetad 已死,但是 subsys 被鎖

解決辦法

[root@ganglia_gmetad gmetad]# mkdir -p /var/lib/ganglia/rrds

[root@ganglia_gmetad gmetad]# chown nobody:nobody /var/lib/ganglia/rrds/

[root@ganglia_gmetad gmetad]# /etc/init.d/gmetad start

Starting GANGLIA gmetad: [確定]

netstat -tunpl

tcp        0      0 0.0.0.0:8651                0.0.0.0:*                   LISTEN      43524/gmetad        

tcp        0      0 0.0.0.0:8652                0.0.0.0:*                   LISTEN      43524/gmetad

安裝ganglia的web

yum -y  install  php-fpm

vim /etc/httpd/conf/httpd.conf

AddType application/x-httpd-php .php .phtml

DirectoryIndex index.html index.php

/etc/php-fpm  start

/etc/init.d/httpd  start

tar zxvf ganglia-web-3.5.7.tar.gz 

mv ganglia-web-3.5.7/conf_default.php /var/www/html/ganglia/

cd /var/www/html/ganglia/

cp conf_default.php conf.php  

mkdir /var/www/html/ganglia/dwoo/cache

mkdir /var/www/html/ganglia/dwoo/compiled 

chmod 777 /var/www/html/ganglia/dwoo/cache

chmod 777 /var/www/html/ganglia/dwoo/compiled

vim conf.php

$conf[`gweb_confdir`] = “/var/www/html/ganglia”;    #ganglia的web目錄

$conf[`gmetad_root`] = “/usr/local/ganglia”;        #ganglia的安裝目錄

$conf[`rrds`] = “/var/lib/ganglia/rrds”;            #rrd資料庫路徑

$conf[`dwoo_compiled_dir`] = “${conf[`gweb_confdir`]}/dwoo/compiled”;   #需要777許可權

$conf[`dwoo_cache_dir`] = “${conf[`gweb_confdir`]}/dwoo/cache”;         #需要777許可權

$conf[`rrdtool`] = “/usr/local/rrdtool/bin/rrdtool”;                    #rrdtool路徑

$conf[`graphdir`]= $conf[`gweb_root`] . `/graph.d`;                     #生成圖形模板目錄

$conf[`ganglia_ip`] = “127.0.0.1”;           #gmetad伺服器的地址

$conf[`ganglia_port`] = 8652;           #gmetad伺服器的互動式提供監控資料埠釋出



 瀏覽器訪問http://192.168.32.200/ganglia/

 

 

客戶端配置

安裝依賴

yum -y install expat expat-devel pcre pcre-devel zlib cairo-devel libxml2-devel devel libxml2-develpango-devel pango libpng-devel libpng freetype

 freetype-devel libart-lgpl-devel apr-devel

 yum -y install pango-devel

 yum -y install perl-ExtUtils-MakeMaker

 安裝apr,confuse,rrdtool

 tar zxvf apr-1.4.6.tar.gz

 cd apr-1.4.6

 ./configure

 make && make install

 

 tar zxvf confuse-2.7.tar.gz 

 cd confuse-2.7

 ./configure CFLAGS=-fPIC –disable-nls

 make && make install

 tar zxvf rrdtool-1.4.7.tar.gz 

  cd rrdtool-1.4.7

   ./configure –disable-tcl –prefix=/usr/local/rrdtool

  make && make install

  

  tar zxvf ganglia-3.4.0.tar.gz 

  cd ganglia-3.4.0

  ./configure –prefix=/usr/local/gnaglia –enable-gexec –enable-status –with-python=/usr/

> –with-libapr=/usr/local/apr/bin/apr-1-config –with-libconfuse=/usr/local/ –with-gmetad-libexpat=/usr/ –with-libpcre=/usr/

  cd gmond/

   ./gmond -t >/usr/local/gnaglia/etc/gmond.conf

   cp gmond.init /etc/init.d/gmond

   vim /etc/init.d/gmond 

   /usr/local/gnaglia/sbin/gmond

   chkconfig –add gmond

    /etc/init.d/gmond start

 ip route add 239.2.11.71 dev eth1

    netstat -tunpl          

tcp        0      0 0.0.0.0:8649                0.0.0.0:*                   LISTEN      54754/gmond            

udp        0      0 239.2.11.71:8649            0.0.0.0:*                               54754/gmond  

gmetad配置

vim /usr/local/ganglia/etc/gmetad.comf

data_source “cluster” 192.168.32.202   #後面可以跟主機名

其他的配置都是預設的

/etc/init.d/gmetad restart

gmond配置

cd /usr/local/gnaglia/etc

vim gmond.conf

cluster {

  name = “cluster”

  owner = “unspecified”

  latlong = “unspecified”

  url = “unspecified”

}

 mcast_join = 239.2.11.71

  port = 8650

  ttl = 1

  udp_recv_channel {

  mcast_join = 239.2.11.71

  port = 8650

  bind = 239.2.11.71

  retry_bind = true

}

tcp_accept_channel {

  port = 8650

}

/etc/init.d/gmond  restart

 

本文轉自 shouhou2581314 51CTO部落格,原文連結:http://blog.51cto.com/thedream/1610313,如需轉載請自行聯絡原作者


相關文章