Linux下Ganglia集群監控安裝、配置筆記

          Ganglia是一個跨平臺可擴展的分布式監控系統,用來監控系統性能,如:cpu 、內存、硬盤利用率, I/O負載、網絡流量情況等,通過曲線很容易見到每個節點的工作狀態,通過長期監測系統運行狀況可以對合理調整、分配系統資源提供參考。

           第一部分:軟件安裝

          安裝環境說明

          系統版本:

          Linux 2.6.18-164.el5 #1 x86_64 GNU/Linux

          依賴軟件版本:

          expat-2.0.1.tar.gz[解析xml]

          apr-1.4.5.tar.gz[可移植運行庫]

          apr-util-1.3.12.tar.gz[不知道能干什么?]

          confuse-2.6.tar.gz[配置文件解析]

          rrdtool-1.2.27.tar.gz[畫圖用]

          ganglia-3.2.0.tar.gz[監控軟件,包括服務端、客戶端和web頁面]

           

          安裝四個依賴庫zlibfreetypelibart_lgpllibpng必須要安裝develop版本:

          步驟:

          rpm -qa | grep zlib 檢查是否有zlib-devel版本

          yum install zlib-devel 自動檢查安裝

          其它三個依賴庫也用相同的方法處理即可 


          安裝畫圖工具
          rrdtools:

          下載地址:http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz

          安裝:

          tar zxvf rrdtool-1.2.27.tar.gz

          cd rrdtool-1.2.27

          ./configure --prefix=/usr/local/rrdtool

          make

          make install

          執行以下命令檢查是否安裝成功

          /usr/local/rrdtool/bin/rrdtool


          安裝expat:

          下載地址:http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz

          tar zxvf expat-2.0.1.tar.gz

          cd expat-2.0.1

          ./configure –prefix=/usr/local/expat

          make

          make install

          復制lib包下的內容到lib64目錄下:

          mkdir /usr/local/expat/lib64

          cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/


          安裝apr以及apr-util:

          下載地址:http://labs.renren.com/apache-mirror/apr/apr-1.4.5.tar.gz

          tar xvjf apr-1.3.2.tar.bz2

          ./configure --prefix=/usr/local/apr

          make

          make install

          下載地址:http://labs.renren.com/apache-mirror/apr/apr-util-1.3.12.tar.gz

          tar xvjf apr-util-1.3.2.tar.bz2

          ./configure  --with-apr=/usr/local/apr --with-expat=/usr/local/expat

          make

          make install

          復制lib包下的內容到lib64目錄下:

          cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/

          mkdir -p /usr/local/apr/lib64

          cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/

           

          安裝confuse:

          下載地址:http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz

          tar zxvf confuse-2.6.tar.gz

          ./configure CFLAGS=-fPIC  --disable-nls --prefix=/usr/local/confuse

          make

          make install

          復制lib包下的內容到lib64目錄下:

          mkdir -p /usr/local/confuse/lib64

          /bin/cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/

           

          安裝ganglia:

          tar zxvf ganglia-3.2.0.tar.gz

          cd ganglia-3.2.0

          ./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia

          make

          make install

           

          其他:

          1.     ganglia監控前臺需要有web server支持,可以是apachenginx;

          2.     ganglia監控頁面是php寫的,還需要安裝php環境;

          3.     如果需要使用python擴展ganglia功能,最好先把python版本更新到2.6以上.

           第二部分:環境配置

          服務端配置:[假設當前所在目錄為ganglia-3.2.0.tar.gz解壓后的目錄ganglia-3.2.0]

          1.     創建rrdtool數據目錄:

          查看ganglia-3.2.0/web/conf.php里面的gmetad_root變量值,根據這個值創建目錄并修改權限:

          mkdir -p /var/lib/ganglia/rrds

          mkdir -p /var/lib/ganglia/dwoo

          chown -R nobody:nobody /var/lib/ganglia

          2.     修改服務進程的配置文件:

          vim /etc/ganglia/gmetad.conf

          data_source "cluster_name" localhost [添加一個數據源名稱(集群),客戶端的配置中會用到此名稱]

          setuid_username "nobody"[運行的用戶]

          3.     添加自啟動腳本

          cp -f ganglia-3.2.0/gmetad/gmetad.init  /etc/init.d/gmetad

          cp -f /usr/local/ganglia/sbin/gmetad  /usr/sbin/gmetad

          chkconfig --add gmetad

          4.     啟動gmetad服務

          service gmetad start

          看見Starting GANGLIA gmetad: [ OK ]就代表運行正常了。

          客戶端配置:

          1.     添加啟動腳本

          cp -f ganglia-3.2.0/gmond/gmond.init  /etc/init.d/gmond

          cp -f /usr/local/ganglia/sbin/gmond  /usr/sbin/gmond

          chkconfig -add gmond

          gmond --default_config > /etc/ganglia/gmond.conf

          2.     對于生成的默認配置文件需要做適當的修改

          cluster {

              name="cluster_name"#修改成服務進程里指定的集群名稱

              owner="nobody"#運行的用戶

              latlong="unspecified"

              url="unspecified"

          }

          3.     開啟服務

          service gmond start

          看見Starting GANGLIA gmetad: [ OK ]代表啟動成功。

          如果失敗可以講gmond.conf中的debug0改為100,查看更多的日志然后進行排查。

           

          非當前機器的客戶端配置只需要將本地機器安裝好的lib64下的文件復制過來即可,參考下面的腳本:
          servers=("server_ip_1" "server_ip_2")
          for i in ${servers[@]}
          do

          scp /usr/sbin/gmond $i:/usr/sbin/gmond

          ssh $i mkdir -p /etc/ganglia/

          ssh $i mkdir -p /usr/local/ganglia/lib64

          ssh $i mkdir -p /usr/local/expat/lib

          scp /etc/ganglia/gmond.conf $i:/etc/ganglia/

          scp /etc/init.d/gmond $i:/etc/init.d/

          scp -r /usr/local/ganglia/lib64/* $i:/usr/local/ganglia/lib64/

          scp /usr/local/expat/lib/libexpat.so.1 $i:/usr/local/expat/lib/libexpat.so.1

          scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/
          done

          主要需要修改的配置gmond.conf

          udp_send_channel {

            #bind_hostname = yes # Highly recommended, soon to be default.

                                 # This option tells gmond to use a source address

                                 # that resolves to the machine's hostname.  Without

                                 # this, the metrics may appear to come from any

                                 # interface and the DNS names associated with

                                 # those IPs will be used to create the RRDs.

            #mcast_join = 239.2.11.71#注釋掉這一行

            host=xx.xx.xx.xx #集群中心節點的IP,也就是gmetad進程所在的機器,當前節點把數據發送到這個IP

            port = 8649

            ttl = 1

          }  

             

          /* You can specify as many udp_recv_channels as you like as well. */

          udp_recv_channel {

            #mcast_join = 239.2.11.71#注釋掉這一行

            port = 8649

            bind = xx.xx.xx.xx#在監控頁面顯示這個IP(當前機器)

          }

          WEB程序配置:

          apache來運行php,需要以下依賴:php-common php-cli php php-gd httpd

          nginx來運行php,需要安裝php-fpm

          安裝web程序這里假定apacheroot路徑在/var/www/html下面。

          mkdir /var/www/html/ganglia

          cp -a -f ganglia-3.2.0/web/* /var/www/html/ganglia

          修改rrdtool的路徑文件/var/www/html/ganglia/conf.php中的RRDTOOL

          define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");

          重啟apache服務器即可


           

          -->槍聲依舊<--

           

          posted on 2011-12-17 16:02 槍聲依舊 閱讀(3454) 評論(0)  編輯  收藏 所屬分類: 運維


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2011年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湘潭县| 饶河县| 康马县| 曲水县| 东山县| 和龙市| 五莲县| 定襄县| 肇源县| 泗洪县| 新乡市| 略阳县| 泽普县| 交城县| 九台市| 孝感市| 汕尾市| 碌曲县| 贵南县| 两当县| 高台县| 丹凤县| 北流市| 渝中区| 鄂州市| 泰兴市| 西宁市| 浠水县| 文水县| 萨嘎县| 荥阳市| 开原市| 乌鲁木齐县| 常宁市| 深水埗区| 湘潭县| 康定县| 化德县| 和平县| 台东县| 张家口市|