天天看點

實戰ganglia分布式的監控系統(1)——監控主機與遠端主機

 ganglia 是分布式的監控系統,有兩個Daemon, 分别是:用戶端Ganglia Monitoring Daemon(gmond)和服務端Ganglia Meta Daemon (gmetad),還有Ganglia PHP Web Frontend(基于web的動态通路方式)組成是一個Linux下圖形化監控系統運作性能的軟體,界面美觀、豐富,功能強大

        http://ganglia.sourceforge.net/ 軟體下載下傳

實驗環境:

    實體主機    redhat7.0 核心版本 3.10.0-123.el7.x86_64

    虛拟機    redhat6.5 核心版本 2.6.32-431.el6.x86_64

        伺服器端: server1.example.com    172.25.254.1

        用戶端:    server2.example.com    172.25.254.2

    所需軟體包:

        ganglia-3.4.0.tar.gz                   

        rrdtool-devel-1.3.8-6.el6.x86_64.rpm

        ganglia-web-3.4.2.tar.gz               

        libconfuse-2.6-3.el6.x86_64.rpm        

        libconfuse-devel-2.6-3.el6.x86_64.rpm

        alert-agent-4.1.3.1-linux-x64.tar.gz

1。伺服器端配置

    1.1使用源碼包編譯rpm包安裝

[root@server1 ~]# yum install rpm-build -y

[root@server1 ~]# rpmbuild -tb ganglia-3.4.0.tar.gz   ##會顯示需要以下    依賴包,安裝即可

error: Failed build dependencies:

    libpng-devel is needed by ganglia-3.4.0-1.x86_64

    libart_lgpl-devel is needed by ganglia-3.4.0-1.x86_64

    gcc-c++ is needed by ganglia-3.4.0-1.x86_64

    python-devel is needed by ganglia-3.4.0-1.x86_64

    libconfuse-devel is needed by ganglia-3.4.0-1.x86_64

    pcre-devel is needed by ganglia-3.4.0-1.x86_64

    autoconf is needed by ganglia-3.4.0-1.x86_64

    automake is needed by ganglia-3.4.0-1.x86_64

    libtool is needed by ganglia-3.4.0-1.x86_64

    expat-devel is needed by ganglia-3.4.0-1.x86_64

    rrdtool-devel is needed by ganglia-3.4.0-1.x86_64

    freetype-devel is needed by ganglia-3.4.0-1.x86_64

    apr-devel > 1 is needed by ganglia-3.4.0-1.x86_64

[root@server1 ~]# yum install libart_lgpl-devel gcc-c++ python-devel libconfuse-devel pcre-devel expat-devel rrdtool-devel apr-devel -y 

[root@server1 ~]# yum install libconfuse-* rrdtool-devel-1.3.8-6.el6.x86_64.rpm  -y

[root@server1 ~]# rpmbuild -tb ganglia-3.4.0.tar.gzerror: Failed build         dependencies:

[root@server1 ~]# yum install libpng-devel autoconf automake libtool     freetype-devel -y

[root@server1 ~]# rpmbuild -tb ganglia-3.4.0.tar.gz    ##再次執行就好咯!

[root@server1 ~]# cd /root/rpmbuild/RPMS/x86_64/

[root@server1 x86_64]# ls

    ganglia-devel-3.4.0-1.x86_64.rpm

    ganglia-gmetad-3.4.0-1.x86_64.rpm        ##伺服器端的

    ganglia-gmond-3.4.0-1.x86_64.rpm        ##用戶端的

    ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm    ##支援python的用戶端的

    libganglia-3.4.0-1.x86_64.rpm

    1.2伺服器端安裝ganglia軟體

[root@server1 x86_64]# yum install ganglia-gmetad-3.4.0-1.x86_64.rpm  libganglia-3.4.0-1.x86_64.rpm  ganglia-gmond-3.4.0-1.x86_64.rpm -y

    1.3将編譯好的用戶端rpm包複制到用戶端

[root@server1 x86_64]# scp  -r  libganglia-3.4.0-1.x86_64.rpm   ganglia-gmond-3.4.0-1.x86_64.rpm    ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm  172.25.254.2:/root

[root@server1 x86_64]# ls /root/libconfuse-*

    /root/libconfuse-2.6-3.el6.x86_64.rpm

    /root/libconfuse-devel-2.6-3.el6.x86_64.rpm

[root@server1 x86_64]# scp -r /root/libconfuse-* 172.25.254.2:/root

    1.4修改配置檔案

[root@server1 x86_64]# cd /etc/ganglia/

[root@server1 ganglia]# vim gmetad.conf    

    #修改44行為:

        44 data_source "willis  cluster" localhost  172.25.254.2

[root@server1 ganglia]# vim gmond.conf 

    ##修改24行為:

        24   name = "willis cluster"

    1.5 網頁端監控配置

[root@server1 ganglia]# cd /root/

[root@server1 ~]# rpm -tb ganglia-web-3.4.2.tar.gz 

[root@server1 ~]# yum install php php-gd -y        ##提示什麼就裝什麼

[root@server1 ~]# rpm -tb ganglia-web-3.4.2.tar.gz

[root@server1 ~]# cd /var/www/html/

[root@server1 html]# ls

gweb            #有生成一個gweb目錄就是網頁監控端目錄

    1.6 啟動伺服器端

[root@server1 ganglia]# /etc/init.d/gmond start

Starting GANGLIA gmond:                                    [  OK  ]

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

Starting GANGLIA gmetad:                                   [  OK  ]

2.被監控用戶端配置

[root@server2 ~]# rpm -ivh ganglia-gmond-3.4.0-1.x86_64.rpm  lib*

[root@server2 ~]# rpm -ivh ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm  

[root@server2 ~]# cd /etc/ganglia/

[root@server2 ganglia]# vim gmond.conf 

    24   name = "willis  cluster"

[root@server2 ganglia]# /etc/init.d/gmond start

3.浏覽器通路測試

    通路 172.25.254.1 /gweb,如果沒有顯示節點,且在伺服器端server1上的/var/lib/ganglia/rrds路徑下沒有檔案

        則在伺服器和用戶端都做如下動作:

        <1>ip route add 239.2.11.71 dev eth0

        <2>route -n

    ********************************************************************

    [root@server1 objects]# route -n

    Kernel IP routing table

    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

    239.2.11.71     0.0.0.0         255.255.255.255 UH    0      0        0 eth0

    172.25.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

        <3>/etc/init.d/gmond restart

           /etc/init.d/gmetad restart

        <4>cd /var/lib/ganglia/rrds

            ls有__SummaryInfo__ 和 willis cluster兩個目錄    ##willis cluster裡有所有區域網路内可監控到的IP,包括自己

        <5>浏覽器再重新整理通路 172.25.254.1/gweb就好了!

<a href="http://s4.51cto.com/wyfs02/M02/89/63/wKioL1gRurzD2xDRAAHCYu8vnTY316.png" target="_blank"></a>

檢視伺服器server1節點

<a href="http://s1.51cto.com/wyfs02/M00/89/63/wKioL1gRuxPCFwi7AAG6XNCis-Q831.png" target="_blank"></a>

檢視用戶端server2節點

<a href="http://s3.51cto.com/wyfs02/M02/89/66/wKiom1gRuzjjG7PoAAFQNCCnK9U316.png" target="_blank"></a>

本文轉自willis_sun 51CTO部落格,原文連結:http://blog.51cto.com/willis/1866336,如需轉載請自行聯系原作者