Ganglia詳細使用方法請閱讀Ganglia權威指南書籍。php
http://www.51niux.com/?id=83html
http://www.51niux.com/?id=84node
http://www.51niux.com/?id=85python
一、Ganglia簡介mysql
ganglia介紹:linux
ganglia是一款爲HPC(高性能計算) 集羣設計的可擴展性 的分佈式監控系統,它能夠監視和顯示集羣中節點的各類狀態信息,他由運行在各個節點上的gmond守護進程來採集 CPU、內存、磁盤利用率、I/O負載、網絡流量狀況等方面的數據。而後彙總到gmetad守護進程下,使用rrdtool存儲數據,而後將歷史數據以曲線方式經過PHP頁面呈現。c++
ganglia自帶了不少監控項,詳細的比較詳細,等後面搭建成功後,能夠從截圖中看出。ganglia相關的PDF書和資料仍是較少的。web
Ganglia是一個集羣監控工具,由UC Berkeley建立並開源。Ganglia的中文意思是神經中樞,如今支持多部分操做系統(包括linux、unix、windows),可支持2000個節點的網絡監控(固然這不是上限,只是一個大集羣使用的範例)。sql
基本結構數據庫
Ganglia底層使用RRDTool得到數據,Ganglia主要分爲兩個進程組件:
gmond(ganglia monitor deamon)
gmetad(ganglia metadata deamon)
其中,gmond運行在集羣每一個節點上,收集RRDTool產生的數據;gmetad運行在監控服務器上,收集每一個gmond的數據。Ganglia還提供了一個PHP實現的web front end,通常使用Apache2做爲其運行環境,經過Web Front能夠看到直觀的各類集羣數據圖表。
Ganglia的層次化結構作的很是好,由小到大能夠分爲node -> cluster -> grid,這三個層次。
一個node就是一個須要監控的節點,通常是個主機,用IP表示。每一個node上運行一個gmond進程用來採集數據,並提交給gmetad。
一個cluster由多個node組成,就是一個集羣,咱們能夠給集羣定義名字。一個集羣能夠選一個node運行gmetad進程,彙總/拉取gmond提交的數據,並部署web front,將gmetad採集的數據用圖表展現出來。
一個grid由多個cluster組成,是一個更高層面的概念,咱們能夠給grid定義名字。grid中能夠定義一個頂級的gmetad進程,彙總/拉取多個gmond、子gmetad提交的數據,部署web front,將頂級gmetad採集的數據用圖表展現出來。
顯然,這種方式很是靈活,能夠實現多種結構的數據監控。由下圖,咱們能夠清晰的看出這種層次化的結構,和不一樣的部署方式。
Ganglia運行模式(單播與多播):
Ganglia的收集數據工做能夠工做在單播(unicast)或多播(multicast)模式下,默認爲多播模式。
單播:發送本身收集到的監控數據到特定的一臺或幾臺機器上,能夠跨網段。
多播:發送本身收集到的監控數據到同一網段內全部的機器上,同時收集同一網段內的全部機器發送過來的監控數據。由於是以廣播包的形式發送,所以須要同一網段內。但同一網段內,又能夠定義不一樣的發送通道。
ganglia三大組件:
gmond:
gmond相似於傳統監控系統中的代理,須要安裝在每臺主機上,負責和操做系統交互以得到須要關注的指標數據。
gmond再內部採用模塊化設計,採用基於C語言編寫、根據操做系統定製的插件進行監控。gmond爲指標提供了大部分標準插件,並且能夠增長更多的用C、C++或Python等語言編寫的插件來支持新的指標。此外,內置的gmetric工具能夠用來報告用任何語言編譯的自定義指標數據。
gmond根據自身本地配置文件定義的調度方案進行輪詢。監聽數據時使用簡單的監聽/通告協議,經過XDR在集羣內的主機之間共享。這些通告默認使用多播,而集羣是由共享同一多播地址的主機所構成的。固然gmond也可使用單播,將數據都匯聚到同一臺中心節點。
由於每臺gmond主機將指標數據多播到集羣內的其餘主機,每臺gmond主機也記錄了集羣內其餘主機的指標數據。遠程輪詢器經過默認的8649端口,向集羣內任意節點請求得到該集羣XML格式的全部數據。
若是服務器主機過多,由於只要輪詢集羣中任意節點就能獲取全部集羣內其餘主機的性能指標數據,因此咱們能夠將衆多的主機劃分到不一樣的組裏面,這樣一來,收集數據的工做量將獲得大大的減輕。
gmetad:
主要做用就是整合全部信息。
gmetad是一個簡單的輪詢器,對網絡中每一個集羣進行輪詢,並將每臺主機上返回的全部指標數據寫入各個集羣對應的輪詢數據庫。輪詢器對集羣的「輪詢」只須要打開一個用於讀取的套接字,鏈接到目標gmond節點的8649端口便可,經過遠程很是容易實現。
gmetad還有一些其餘特性,如能夠從其餘的gmetad中輪詢數據,gmetad經過tcp端口8651偵聽遠程gmetad鏈接,而且向受權主機提供XML格式的網格狀態。從而構成一種聯合層次結構。gmetad具備交互式查詢功能,外部監控系統能夠經過TCP 8652端口用簡單文本協議進行輪詢。gmetad也能夠經過配置gmetad將指標數據轉送到諸如Graphite外部系統發送數據。
gmetad默認將指標數據直接寫入文件系統上的RRD文件,在有I/O限制的大型裝置中,rrdcached充當gmetad和RRD文件之間的緩存。
gweb:
ganglia可視化工具。顯示ganglia收集的主機各項指標。
gweb容許在圖標中經過點擊-拖拽改變時間週期,包含從不一樣文本格式(CSV,JSON等)中便捷提供數據的工具,顯示完整、使用的URL接口,使用戶能夠經過預知的URL將感興趣的圖表嵌入其餘程序。
gweb是一種PHP程序,由於須要與輪詢器建立的RRD數據庫交互,因此gweb一般安裝在和gmetad相同的物理硬件上。
ganglia的官網:http://ganglia.info 下載連接:http://ganglia.info/?page_id=66
二、環境準備
設置或中止防火牆: [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# systemctl disable firewalld.service 關閉selinux: 臨時關閉: [root@localhost ~]# setenforce 0 永久關閉(修改配置文件): [root@localhost ~]# vi /etc/selinux/config 改爲SELINUX=disabled 卸載系統默認安裝的Apache軟件包: [root@localhost ~]# rpm -qa httpd* [root@localhost ~]# rpm -e --nodeps 包名 有多個httpd*,用腳本刪除for name in `rpm -qa httpd*`;do rpm -e --nodeps $name;done 安裝依賴包: [root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm [root@localhost ~]# yum install wget lrzsz vim lynx lsof netstat-tools unzip -y 時區設置: [root@localhost ~]timedatectl [root@localhost ~]timedatectl list-timezones #該命令列出了全部的時區 [root@localhost ~]timedatectl set-timezone Asia/Shanghai #該命令把時區設置爲上海 時間同步: [root@localhost ~]# ntpdate time.nist.gov #若是沒有yum安裝此命令 [root@localhost ~]# /usr/sbin/ntpdate time.nist.gov [root@localhost ~]# crontab -e */10**** /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
三、RPM方式安裝Ganglia
3.1 服務端(192.168.146.128)的安裝:
yum安裝相關依賴包: [root@localhost system]# yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel [root@localhost system]# yum install -y libart_lgpl-devel pcre-devel libtool [root@localhost system]# yum install -y rrdtool rrdtool-devel [root@localhost system]# systemctl restart gmond [root@localhost system]# systemctl restart gmetad [root@localhost system]# systemctl restart httpd [root@localhost system]# netstat -lntup 安裝gmetad: [root@localhost system]# cd [root@localhost ~]# yum install libconfuse libconfuse-devel -y [root@localhost ~]# mkdir /tools && cd /tools/ [root@localhost ~]# wget https://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz [root@localhost ~]# tar zxf ganglia-3.7.2.tar.gz [root@localhost ganglia-3.7.2]# ls -l ganglia.spec #由於有這個ganglia.spec,因此說是支持rpm安裝的 -rw-r--r--. 1 www-data www-data 23494 7月 2 2015 ganglia.spec [root@localhost ganglia-3.7.2]# rpmbuild -tb /tools/ganglia-3.7.2.tar.gz #-tb表示從tar包中build二進制文件 [root@localhost ganglia-3.7.2]# cd /root/rpmbuild/RPMS/x86_64/ [root@localhost x86_64]# ll 總用量 896 -rw-r--r--. 1 root root 486864 6月 3 11:29 ganglia-debuginfo-3.7.2-1.x86_64.rpm -rw-r--r--. 1 root root 49596 6月 3 11:29 ganglia-devel-3.7.2-1.x86_64.rpm -rw-r--r--. 1 root root 59088 6月 3 11:29 ganglia-gmetad-3.7.2-1.x86_64.rpm -rw-r--r--. 1 root root 134956 6月 3 11:29 ganglia-gmond-3.7.2-1.x86_64.rpm -rw-r--r--. 1 root root 128628 6月 3 11:29 ganglia-gmond-modules-python-3.7.2-1.x86_64.rpm -rw-r--r--. 1 root root 45344 6月 3 11:29 libganglia-3.7.2-1.x86_64.rpm 把gmetad和gmond都安裝了。 [root@localhost x86_64]# rpm -ivh /root/rpmbuild/RPMS/x86_64/* /etc/ganglia/ #爲主配置文件目錄 /var/lib/ganglia/rrds #爲rrds圖信息存儲目錄 [root@localhost x86_64]# rpm -ql ganglia-gmetad-3.7.2-1 #如:經過這個命令也能夠看出,gmetad的rpm包相關的目錄 /etc/ganglia/gmetad.conf /etc/init.d/gmetad /etc/sysconfig/gmetad /usr/sbin/gmetad /usr/share/man/man1/gmetad.1.gz /usr/share/man/man1/gmetad.py.1.gz /var/lib/ganglia /var/lib/ganglia/rrds 安裝gweb: [root@localhost x86_64]# yum install httpd httpd-devel php -y [root@localhost x86_64]# yum -y install rsync [root@localhost x86_64]# cd /tools/ [root@localhost tools]# wget https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz [root@localhost tools]# tar zxvf /tools/ganglia-web-3.7.2.tar.gz -C /var/www/html/ [root@localhost tools]# cd /var/www/html/ [root@localhost html]# mv ganglia-web-3.7.2 ganglia [root@localhost html]# cd /var/www/html/ganglia/ [root@localhost ganglia]# useradd -M -s /sbin/nologin www-data [root@localhost ganglia]# make install #執行這步,會建立相關的目錄 [root@localhost ganglia]# systemctl restart gmond [root@localhost ganglia]# systemctl restart gmetad [root@localhost ganglia]# systemctl restart httpd gmond默認端口8649。 gmetad默認端口865一、9652。 gmond默認組播方式。 [root@localhost system]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN 14244/gmond tcp 0 0 0.0.0.0:8651 0.0.0.0:* LISTEN 14257/gmetad tcp 0 0 0.0.0.0:8652 0.0.0.0:* LISTEN 14257/gmetad tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1430/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1734/master tcp6 0 0 :::80 :::* LISTEN 14274/httpd tcp6 0 0 :::22 :::* LISTEN 1430/sshd tcp6 0 0 ::1:25 :::* LISTEN 1734/master udp 0 0 239.2.11.71:8649 0.0.0.0:* 14244/gmond udp 0 0 0.0.0.0:49704 0.0.0.0:* 1240/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 1240/dhclient udp6 0 0 :::28458 :::* 1240/dhclient
3.2 gmond客戶端(192.168.146.134)安裝:
[root@localhost system]# yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel [root@localhost system]# yum install libconfuse libconfuse-devel -y 須要下面四個rpm包:發送到其餘客戶端上面,rpm -ivh *一下就好 ganglia-devel-3.7.2-1.x86_64.rpm ganglia-gmond-3.7.2-1.x86_64.rpm ganglia-gmond-modules-python-3.7.2-1.x86_64.rpm libganglia-3.7.2-1.x86_64.rpm #啓動gmond服務即可,由於默認配置就是一個組播組,組播地址和端口都是統一的。 [root@localhost system]# systemctl restart gmond 備註:服務端應該要改一個配置文件,說明到哪一個gmond去獲取數據。
web訪問:
http://192.168.146.128/ganglia/
解決辦法:
[root@localhost system]# ln -s /var/lib/ganglia /var/lib/ganglia-web [root@localhost system]# mkdir -p /var/lib/ganglia-web/dwoo/{compiled,cache} -p [root@localhost system]# chown -R apache:apache /var/lib/ganglia 備註:若是ganglib和ganglia-web本來就存在,那直接對ganglia-web賦予權限。
備註一:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused 查看message日誌: localhost /usr/sbin/gmetad[14747]: RRD_create: creating '/var/lib/ganglia/rrds/__SummaryInfo__/diskstat_vda_writes.rrd': Permission denied localhost /usr/sbin/gmetad[14747]: Unable to write meta data for metric diskstat_vda_writes to RRD 解決辦法: # /etc/init.d/gmetad status #查看狀態gmetad是死狀態 gmetad 已死,可是 subsys 被鎖 # chown nobody:nobody /var/lib/ganglia/rrds -R # /etc/init.d/gmetad restart
備註二:
注意: Centos7的系列,用這種rpm安裝的方式是會報錯的: # rpm -ivh *.rpm 錯誤:依賴檢測失敗: libpcre.so.0()(64bit) 被 ganglia-gmond-3.7.2-1.x86_64 須要 libpcre.so.0()(64bit) 被 ganglia-gmond-modules-python-3.7.2-1.x86_64 須要 libpython2.6.so.1.0()(64bit) 被 ganglia-gmond-modules-python-3.7.2-1.x86_64 須要 libpcre.so.0()(64bit) 被 libganglia-3.7.2-1.x86_64 須要 緣由: 從上圖中能夠看出,要找對應的庫文件沒有,如libpython2.6.so.1.0,這是Centos6版本里面纔有的,Centos7默認是libpython2.7。 而咱們下載的ganglia也是最新版了,因此係統若是有Centos7的版本了,就不能用這種rpm包省事的方法安裝了。就要換成編譯安裝的形式了,而咱們線上通常也是採起編譯安裝的形式,由於編譯安裝能夠指定對應的目錄和參數。
備註三:
服務器啓動,節點也加載了你會發現只有主機圖,可是主機圖裏面沒有曲線數值:圖的下方提示:No matching metrics detected 第一:安裝步驟是否正確,是否缺乏相關的目錄 第二:查看message日誌,是否目錄權限錯誤,尤爲是/var/lib/ganglia/rrds/是否有權限報警。 第三:被監控的節點是否是開了防火牆之類的操做。 就以192.168.1.103舉例(Centos7的firewalld沒有關閉):下面是關閉防火牆服務後的效果圖
四、編譯方式安裝Ganglia(推薦)
4.1 服務器端(192.168.146.128)的操做:
安裝gmetad [root@localhost ~]# yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel [root@localhost ~]# yum install -y libart_lgpl-devel pcre-devel libtool [root@localhost ~]# yum install -y rrdtool rrdtool-devel [root@localhost ~]# mkdir /tools [root@localhost ~]# cd /tools/ [root@localhost ~]# wget http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz [root@localhost ~]# tar zxvf confuse-2.7.tar.gz [root@localhost ~]# cd confuse-2.7 [root@localhost ~]# ./configure --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64 [root@localhost ~]# make && make install [root@localhost ~]# cd /tools/ [root@localhost ~]# wget https://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz [root@localhost ~]# tar zxf ganglia-3.7.2.tar.gz [root@localhost ~]# cd ganglia-3.7.2 [root@localhost ~]# ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status --with-gmetad --with-libconfuse=/usr/local/ganglia-tools/confuse #enable-gexec是gmond節點 [root@localhost ~]# make && make install [root@localhost ~]# cp gmetad/gmetad.init /etc/init.d/gmetad [root@localhost ~]# ln -s /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad 安裝gweb [root@localhost x86_64]# yum install httpd httpd-devel php -y [root@localhost x86_64]# yum -y install rsync [root@localhost x86_64]# cd /tools/ [root@localhost tools]# wget https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz [root@localhost tools]# tar zxvf /tools/ganglia-web-3.7.2.tar.gz -C /var/www/html/ [root@localhost tools]# cd /var/www/html/ [root@localhost html]# mv ganglia-web-3.7.2 ganglia [root@localhost html]# cd /var/www/html/ganglia/ [root@localhost ganglia]# useradd -M -s /sbin/nologin www-data [root@localhost ganglia]# make install #執行這步,會建立相關的目錄 [root@localhost ganglia]# chown apache:apache -R /var/lib/ganglia-web/ 修改配置 修改啓動腳本 [root@localhost ganglia]# vi /etc/init.d/gmetad GMETAD=/usr/sbin/gmetad #這句話能夠自行更改gmetad的命令,固然也能向咱們前面作了軟鏈接 start() { [ -f /usr/local/ganglia/etc/gmetad.conf ] || exit 6 #這裏將配置文件改爲如今的位置,否則啓動沒反應 建立rrds目錄 [root@localhost ganglia]# mkdir /var/lib/ganglia/rrds -p [root@localhost ganglia]# chown -R nobody:nobody /var/lib/ganglia/rrds 修改gmetad配置文件 由於咱們這裏就先讓它當一個單純的gweb節點和gmetad節點,不給其啓動gmond服務,假設它沒有再哪一個多播集羣裏。 [root@localhost ganglia]# vi /usr/local/ganglia/etc/gmetad.conf data_source "my cluster" 192.168.146.134:8649 #這也是咱們之後常常修改的地方,""裏面是組名稱 後面是去哪一個IP的那個端口去採集gmond數據 啓動服務 [root@localhost ganglia]# mkdir -p /usr/local/ganglia/var/run [root@localhost ganglia]# /etc/init.d/gmetad restart [root@localhost ganglia]# systemctl restart httpd [root@localhost tools]# netstat -luntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8651 0.0.0.0:* LISTEN 16547/gmetad tcp 0 0 0.0.0.0:8652 0.0.0.0:* LISTEN 16547/gmetad tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1433/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1741/master tcp6 0 0 :::80 :::* LISTEN 16344/httpd tcp6 0 0 :::22 :::* LISTEN 1433/sshd tcp6 0 0 ::1:25 :::* LISTEN 1741/master udp 0 0 0.0.0.0:47154 0.0.0.0:* 1242/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 1242/dhclient udp6 0 0 :::2514 :::* 1242/dhclient
4.2 客戶端(192.168.146.134)的操做:
[root@localhost ~]# yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel [root@localhost ~]# yum install -y libart_lgpl-devel pcre-devel libtool [root@localhost ~]# mkdir /tools [root@localhost ~]# cd /tools/ [root@localhost tools]# wget http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz [root@localhost tools]# tar zxvf confuse-2.7.tar.gz [root@localhost tools]# cd confuse-2.7 [root@localhost confuse-2.7]# ./configure --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64 [root@localhost confuse-2.7]# make && make install [root@localhost confuse-2.7]# cd /tools/ [root@localhost tools]# wget https://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz [root@localhost tools]# tar zxvf ganglia-3.7.2.tar.gz [root@localhost tools]# cd ganglia-3.7.2 [root@localhost ganglia-3.7.2]# ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status --with-libconfuse=/usr/local/ganglia-tools/confuse #enable-gexec是gmond節點 [root@localhost ganglia-3.7.2]# make && make install [root@localhost ganglia-3.7.2]# /usr/local/ganglia/sbin/gmond -t >/usr/local/ganglia/etc/gmond.conf #生成gmond配置文件 [root@localhost ganglia-3.7.2]# cp /tools/ganglia-3.7.2/gmond/gmond.init /etc/init.d/gmond [root@localhost ganglia-3.7.2]# mkdir -p /usr/local/ganglia/var/run [root@localhost ganglia-3.7.2]# /etc/init.d/gmond restart [root@localhost ganglia-3.7.2]# netstat -luntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1056/php-fpm: maste tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN 15476/gmond tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 1061/sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1061/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1683/master tcp6 0 0 :::50088 :::* LISTEN 1375/httpd tcp6 0 0 :::3306 :::* LISTEN 1410/mysqld tcp6 0 0 :::2222 :::* LISTEN 1061/sshd tcp6 0 0 :::22 :::* LISTEN 1061/sshd tcp6 0 0 ::1:25 :::* LISTEN 1683/master tcp6 0 0 :::50080 :::* LISTEN 1375/httpd udp 0 0 0.0.0.0:50614 0.0.0.0:* 855/dhclient udp 0 0 239.2.11.71:8649 0.0.0.0:* 15476/gmond udp 0 0 0.0.0.0:68 0.0.0.0:* 855/dhclient udp6 0 0 :::6727 :::* 855/dhclient
web訪問
http://192.168.146.128/ganglia/
注:
測試結果是OK的,這裏就截圖了。線上環境,咱們通常會建立一個監控用於,專門用來存放相關的監控程序,因此你看個人編譯過程都指定了安裝位置,可是通常不會放到/usr/local下面,會都指向安裝到咱們的監控用戶或者監控目錄下面。另外客戶端有一個編譯安裝成功了,能夠直接把生成的目錄發送到其餘的客戶端上面,同樣也可使用的,不須要每臺機器都進行一次編譯過程。固然yum安裝軟件包組仍是須要的。
五、Ganglia目錄及配置文件詳解
5.1 gmond節點的目錄結構
[root@localhost ganglia]# tree -L 3 . ├── bin │ ├── ganglia-config │ ├── gmetric │ └── gstat ├── etc │ ├── conf.d │ │ └── modpython.conf │ └── gmetad.conf ├── include │ ├── ganglia_gexec.h │ ├── ganglia.h │ ├── gm_file.h │ ├── gm_metric.h │ ├── gm_mmn.h │ ├── gm_msg.h │ ├── gm_protocol.h │ └── gm_value.h ├── lib64 │ ├── ganglia │ │ ├── modcpu.so │ │ ├── moddisk.so │ │ ├── modgstatus.so │ │ ├── modload.so │ │ ├── modmem.so │ │ ├── modmulticpu.so │ │ ├── modnet.so │ │ ├── modproc.so │ │ ├── modpython.so │ │ └── modsys.so │ ├── libganglia.a │ ├── libganglia.la │ ├── libganglia.so -> libganglia.so.0.0.0 │ ├── libganglia.so.0 -> libganglia.so.0.0.0 │ └── libganglia.so.0.0.0 ├── sbin │ ├── gmetad │ └── gmond ├── share │ └── man │ ├── man1 │ └── man5 └── var └── run └── gmetad.pid 13 directories, 31 files
5.2 gmond配置文件詳解
[root@localhost ganglia]# /usr/local/ganglia/sbin/gmond -t #查看gmond的默認配置 配置文件由{}括起來的幾個section組成。section名和屬性不區分大小寫。 globals { #section:globals. globals在配置中只出現一次。 daemonize = yes #當值爲true(yes|true|on)時,gmond將在後臺分散運行。設置爲false由守護進程管理器運行gmond。 setuid = yes #這是gmond將user屬性指定的特定用戶的UID做爲有效UID;值爲false時,gmond將不會改變其有效用戶。 user = nobody #用戶名 debug_level = 0 #值爲0,gmond正常運行,大於0,gmond前臺運行並輸出調試信息。debug_level值越大,輸出越詳細。 max_udp_msg_len = 1472 #gmond發送包所能包含的最大長度。通常不改變此值。 mute = no #設置爲no,gmond就是能夠發送數據。設置爲yes,就是單收,可是仍然會相應諸如gmetad的外部輪詢器。 deaf = no #當值爲true時,gmond將不能接收數據。設置no就是能夠接收數據。 allow_extra_data = yes #當值爲false時,gmond將不會發送XML的EXTRA_ELEMENT和EXTRA_DATA部分。這是是發送。 host_dmax = 86400 #設置爲0,gmond不會從隊列中刪除不在報告的主機。這裏的意思是在86400秒內,接收不到某臺主機的數據,gmond將刪除。 host_tmax = 20 #當gmond等到20秒*4的時間內,接收不到某臺主機的任何消息,gmond就認爲該主機已經崩潰。 cleanup_threshold = 300 #gmond清除過時數據的最小時間間隔爲300秒。 gexec = no #當值爲true時,gmond將容許主機運行gexec任務。這種方式須要容許gexecd並安裝合適的驗證碼。 send_metadata_interval = 0 #這是設置gmond兩次發送元數據包的時間間隔。單位是秒。默認設置爲0,表示gmond只有在啓動和收集到其餘遠程容許的gmond節點請求時纔會發送元數據包。可是若是單播環境下必須設置重發間隔。 # override_hostname = "mywebserver.domain.com"」 #這裏是gweb界面要顯示的名稱,能夠是IP或者字符串,默認是註釋狀態。默認狀況下,gmond在顯示主機名時將使用反向DNS解析。 }