ganglia
相比於falcon
和zabbix
主要在於集羣的狀態集中顯示,能夠很便捷的對比各主機的性能狀態。php
gmetad
存儲於rrd中的數據進行web展現gmond
節點相互發送數據,而後gmetad
從自身配置文件中的data_source
設置值中依次讀取,若是第一個數據源讀取失敗,則會讀取下一處數據源數據。gmond
節點將數據統一發送於同一節點,而後gmetad
再從中讀取數據。多播模式配置比較簡單,gmond
節點無需配置直接啓動便可運行。html
本文采用單播模式安裝node
[root@jump-halo hosts]# ansible kylin --list-host hosts (32): 10.239.1.35 10.239.1.36 10.110.80.21 10.110.80.23 10.110.80.36 如下略
進程 | ip |
---|---|
gmetad | 10.239.1.35 |
ganglia-web | 10.239.1.35 |
gmond | 以上全部主機 |
epel源中均存在rpm包,能夠直接yum安裝nginx
[root@10-239-1-35 ganglia]# yum install -y ganglia-web.x86_64 [root@10-239-1-35 ganglia]# yum install -y ganglia-gmetad.x86_64 [root@10-239-1-35 ganglia]# yum install -y nginx php-fpm [root@10-239-1-35 ganglia]# pwd /etc/ganglia [root@10-239-1-35 ganglia]# vim gmetad.conf [root@10-239-1-35 nginx]# vim nginx.conf [root@10-239-1-35 nginx]# vim conf.d/default.conf [root@10-239-1-35 nginx]# service php-fpm start Starting php-fpm: [ OK ] [root@10-239-1-35 nginx]# service nginx start Starting nginx: [ OK ] [root@10-239-1-35 nginx]# service gmetad start Starting GANGLIA gmetad: [ OK ] [root@10-239-1-35 nginx]# service gmond start Starting GANGLIA gmond: [ OK ] [root@10-239-1-35 nginx]# chkconfig --add nginx [root@10-239-1-35 nginx]# chkconfig --add php-fpm [root@10-239-1-35 nginx]# chkconfig nginx on [root@10-239-1-35 nginx]# chkconfig php-fpm on [root@10-239-1-35 nginx]# chkconfig --add gmetad [root@10-239-1-35 nginx]# chkconfig --add gmond [root@10-239-1-35 nginx]# chkconfig gmetad on [root@10-239-1-35 nginx]# chkconfig gmond on [root@10-239-1-35 nginx]# chkconfig --list | egrep "nginx|php-fpm|gmond|gmetad" gmetad 0:off 1:off 2:on 3:on 4:on 5:on 6:off gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@10-239-1-35 ganglia]# grep ^[^#] /etc/ganglia/gmetad.conf data_source "bigdata-kylin" localhost gridname "kylin" setuid_username ganglia case_sensitive_hostnames 0
data_source "bigdata-kylin" localhost
此處設置cluster名稱,gmond端務必一致,特別是在多播模式中,依此進行識別,最後的localhost是gmond傳輸的節點,由於設置gmond端將全部數據傳輸於gmetad處的的gmond節點,因此能夠設置爲localhostgridname "kylin"
此處爲web端cluster處顯示名稱,無太多做用,就是爲了去掉web中最上端顯示的unspecialganglia-web並不須要設置,此處主要爲nginx與php-fpm的配置文件更改,php-fpm配置無需更改web
[root@10-239-1-35 ganglia]# cat /etc/nginx/conf.d/default.conf server { listen 80 default_server; server_name _; root /usr/share/ganglia; index index.php; include /etc/nginx/default.d/*.conf; location / { } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
[root@jump-halo hosts]# ansible kylin -f 10 -m shell -a "yum install ganglia-gmond.x86_64 -y" [root@jump-halo hosts]# ansible kylin -f 10 -m copy -a "dest=/etc/ganglia src=/tmp/gmond.conf" [root@jump-halo hosts]# ansible kylin -f 10 -m shell -a "service gmond start"
須要注意的是,gmetad端的gmond須要優先於其它節點的gmond啓動shell
主要更改之處vim
[root@10-239-1-35 ganglia]# grep ^[^#] /etc/ganglia/gmond.conf 以上略 cluster { name = "bigdata-kylin" ##須要與gmetad中定義的datasource名稱一致 owner = "unspecified" latlong = "unspecified" url = "unspecified" } /* The host section describes attributes of the host, like the location */ host { location = "unspecified" } /* Feel free to specify as many udp_send_channels as you like. Gmond used to only support having a single channel */ udp_send_channel { #mcast_join = 239.27.1.1 ## 此處爲多播設置,單播模式要去掉 host = 10.239.1.35 ##向gmond傳送數據的ip,設置 port = 8649 ## 接收gmond節點的端口 ttl = 1 } /* You can specify as many udp_recv_channels as you like as well. */ udp_recv_channel { port = 8649 ##gmond自身節點的端口 bind = 0.0.0.0 ##gmond監聽地址,去掉也能夠 retry_bind = true } 如下略
能夠看出,全部節點的狀態圖均在同一web頁面進行展現,在Metric
處能夠進行監控項的選擇對比php-fpm
[root@10-239-1-35 bigdata-kylin]# ll total 224 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-101-105 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-101-106 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-168 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-169 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-170 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-171 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-172 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-173 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-174 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-175 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-150-199 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-150-234 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:31 10-110-152-21 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-152-25 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-156-191 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-21 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-23 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-36 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-56 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:49 10-239-1-104 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:37 10-239-1-105 drwxr-xr-x 2 ganglia ganglia 20480 Aug 8 16:24 10-239-1-35 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:23 10-239-1-50 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:23 10-239-1-51 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-239-1-64 drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:25 10-239-1-75 drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-239-1-76 drwxr-xr-x 2 ganglia ganglia 20480 Aug 8 16:23 __SummaryInfo__ [root@10-239-1-35 bigdata-kylin]# pwd /var/lib/ganglia/rrds/bigdata-kylin
down掉對應節點的gmond服務,同時須要刪除gmetad節點中/var/lib/ganglia/rrds/bigdata-kylin
中對應主機的數據目錄便可oop
在ganglia-web中的grid以後,有source的選擇,便可以選擇分組,此處的分組,能夠在gmetad中進行設置性能
在/etc/ganglia/gmetad.conf
中,能夠進行以下設置
data_source "bigdata-kylin" localhost data_souce "hadoop-kylin" 10.239.1.76 data_souce "letv-kylin" localhost:7387 gridname "kylin"
相關說明以下:
data_source "bigdata-kylin" localhost
可看gmeta配置說明,此處再也不做說明data_souce "hadoop-kylin" 10.239.1.76
此處gmetad再也不在本機的gmond中取得數據,會從10.239.1.76
主機中取數據,若是有host僅須要加入到hadoop-kylin
組,則須要將該hosts中的cluster和host指向10.239.1.76
data_souce "letv-kylin" localhost:7387
與第一項不一樣的就是端口號,同理第二項,須要更改gmond中指定的udp_send_channel
端口號