監控系統之ganglia服務

監控系統之ganglia服務

  Ganglia是一個開源集羣監視項目,設計用於測量數以千計的節點,ganglia的核心有gmond,gmetad.web前端,主要用來監控系統性能,包括:cpu,mem,硬盤利用率,i/o負載,網絡流量監控,通過曲線顯示每個節點工作狀態。基本原理爲:集羣內的節點通過運行的gmond收集發佈節點的狀態信息,gmetad週期性的輪詢gmond收集到的信息,數據傳格式採用xml壓縮格式進行傳輸,然後存入到rrd數據庫,通過web服務器就可以對其進行查詢結果展示。

材料準備:

ganglia-3.4.0.tar.gz    ganglia-web-3.4.2.tar.gz  rrdtool-devel-1.3.8-6.el6.x86_64.rpmlibconfuse-devel-2.6-3.el6.x86_64.rpm libconfuse-2.6-3.el6.x86_64.rpm

 

步驟:

第一步:(ganglia服務的安裝)

#yum install -y rpm-build      rpm-build 負責將源碼編譯成二進制文件

#yum install -y libart_lgpl-devel python-devellibconfuse-devel pcre-devel expat-devel rrdtool-devel apr-devel libtoolautoconf    ##解決安裝anglia的依賴性

# yum install -ylibconfuse-devel-2.6-3.el6.x86_64.rpm libconfuse-2.6-3.el6.x86_64.rpm

# yum install -yrrdtool-devel-1.3.8-6.el6.x86_64.rpm

#rpmbuild -tb ganglia-3.4.0.tar.gz  ###對這兩個源碼文件進行編譯爲二進制文件

#rpmbuild -tb ganglia-web-3.4.2.tar.gz

#cd rpmbuild/RPMS/noarch/

# rpm -ivhganglia-web-3.4.2-1.noarch.rpm  ## 安裝web展示界面

#(前提先解決相關的依賴性yum install -y php php-gd

#cd rpmbuild/RPMS/x86_64/

#rpm -ivh  *

 

#scp  libganglia-3.4.0-1.x86_64.rpm ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm    ganglia-gmond-3.4.0-1.x86_64.rpm    libconfuse-devel-2.6-3.el6.x86_64.rpm  libconfuse-2.6-3.el6.x86_64.rpm   172.25.45.5: -->客戶端主機ip

#cd/etc/ganglia/        ##編輯主配置文件

# vimgmetad.conf

 44   data_source "liumin cluster"localhost

# vimgmond.conf

     24  name = "liumin cluster"

#/etc/init.d/gmondstart  ---> # /etc/init.d/gmetad start-----> # /etc/init.d/httpd restart

客戶端:  -->安裝數據採集gmond

#rpm-ivh ganglia-gmond-3.4.0-1.x86_64.rpm ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm  libconfuse-2.6-3.el6.x86_64.rpmlibconfuse-devel-2.6-3.el6.x86_64.rpm libganglia-3.4.0-1.x86_64.rpm 

#vim   /etc/ganglia/gmond.conf  ###配置文件,使它能把數據傳給服務器端gmetad

      24  name = "liumin cluster"

##/etc/init.d/gmond   start  -->netstat  -antlpe ##查看gmond端口打開情況

 

#Firefox   ---> 172.25.45.20/gweb  ---->查看ganglia的顯示界面;

wKiom1desTfCJHQtAAJxEGLq5So241.png-wh_50 

wKiom1desbewrUiNAAKcELJaspI827.png-wh_50

#gmetad收集到的數據全放在/var/lib/ganglia/rrds/liumincluster裏面的各個ip文件裏面 並且ganglia可以實現將同一網段的主機的信息收集過來,前提是這些主機裝了gmond採集服務,並且設置好gmond.conf中的name;gmetad就會輪詢採集到這些主機的數據存放到前述的路徑中的文件夾。

wKioL1destKj9v4oAADoN0nx7xc005.png-wh_50

 

第二步:(集成Nagios報告Ganglia採集的指標)也就是將ganglianagios進行結合起來,將ganglia採集到的數據通過nagios進行顯示。

#tar  zxf ganglia-3.4.0.tar.gz

#cp  /ganglia-3.4.0/contrib/check_ganglia.py   /usr/local/nagios/libexec/

#cd  /usr/local/nagios/libexec/

#chown  nagios.nagios check_ganglia.py

#vim   check_ganglia.py      #更改ganglia配置文件,使告警標準與nagios標準一致

 89if critical > warning:

 90   ifvalue >= critical:

 91    print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)

 92    sys.exit(2)

 93  elif value >= warning:

 94    print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)

 95    sys.exit(1)

 96  else:

 97    print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)

 98    sys.exit(0)

 99else:

100  if critical >= value:

101     print "CHECKGANGLIA CRITICAL: %s is%.2f" % (metric, value)

102    sys.exit(2)

103  elif warning >= value:

104    print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)

105    sys.exit(1)

106  else:

107    print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)

108    sys.exit(0)

注意:python語法格式,對齊的一行就是一個語句塊。

 

#cd  /var/lib/ganglia/rrds/liumin\cluster/server5.example.com/    #ganglia服務存放採集到主機名爲server5.example.com的主機信息數據的地方,採用環形數據庫存放數據。

#/usr/local/nagios/libexec/check_ganglia.py  -h server5.example.com   -mdisk_free_percent_rootfs  -w 20  -c 10        ##驗證有沒有取道到遠程主機的disk數據

 

編輯nagios服務的配置文件,使得nagios能夠得到ganglia採集的指標,並且顯示出來

#vim  template.cfg             ###編輯模板

192 define service {

193        use                     generic-service    ##使用通用模板,

194        name                   ganglia-service     ##模板別名

195        hostgroup_name    ganglia-servers   

196        service_groups      ganglia-metrics

197        }

 

#vimcommand.cfg

228 define command{

229        command_name   check_ganglia

230        command_line    $USER1$/check_ganglia.py  -h $HOSTADDRESS$  -m  $ARG1$ -w  $ARG2$  -c $ARG3$

231        }

 

#vimhosts.cfg

 48define host {

 49        use                  linux-server

 50        host_name    server5.example.com

 51        address      172.25.45.5

 52}

 71define hostgroup{

 72        hostgroup_name    ganglia-servers

 73        alias             ganglia-servers

 74        members        server5.example.com   

 75        }

 

#vim  services.cfg

135 define servicegroup {

136        servicegroup_name      ganglia-metrics

137        alias                 Ganglia_Metrics

138 }

139

140 define service{

141        use                    ganglia-service

142        service_description        根分區空閒百分比

143        check_command     check_ganglia!disk_free_percent_rootfs!20!10

144        }

145

146 define service{

147        use          ganglia-service

148        service_description       內存空閒

149        check_command      check_ganglia!mem_free!50000!30000

150        }

 

#/usr/local/nagios/bin/nagios   -v   /usr/local/nagios/etc/nagios.cfg           ##進行錯誤檢查

#/etc/init.d/nagios    reload       重新倒入配置

 

#Firefox    172.25.45.20/nagios    查看nagiosganglia採集server5.example.com的數據顯示出來

 wKiom1desgeSXfKmAAQ7PLO5hpM014.png-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章