ganglia監控部署

1.ganglia組件

ganglia 相比於falconzabbix主要在於集羣的狀態集中顯示,能夠很便捷的對比各主機的性能狀態。php

  • gmond:至關因而agent端,主要用於收集各node的性能狀態
  • gmetad:至關因而server端,從gmond以poll的方式收集和存儲原數據
  • ganglia-web:至關於一個web頁面,讀取gmetad存儲於rrd中的數據進行web展現

2.ganglia工做模式

  • 多播模式:適用於同一網段,各gmond節點相互發送數據,而後gmetad從自身配置文件中的data_source設置值中依次讀取,若是第一個數據源讀取失敗,則會讀取下一處數據源數據。
  • 單播模式:能跨網段工做,各gmond節點將數據統一發送於同一節點,而後gmetad再從中讀取數據。

多播模式配置比較簡單,gmond節點無需配置直接啓動便可運行。html

本文采用單播模式安裝node

3.ganglia部署

[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 以上全部主機

3.1 gmetad端安裝

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

3.2 gmetad的配置文件更改

[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節點,因此能夠設置爲localhost
  • gridname "kylin"此處爲web端cluster處顯示名稱,無太多做用,就是爲了去掉web中最上端顯示的unspecial

3.3 gmetad端web配置文件設置

ganglia-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 {
    }
}

3.4 gmond端安裝

[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

3.5 gmond配置文件

主要更改之處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
}
如下略

4.ganglia web頁面顯示

能夠看出,全部節點的狀態圖均在同一web頁面進行展現,在Metric處能夠進行監控項的選擇對比php-fpm

5.ganglia節點刪除

[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

6.其它

在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端口號
相關文章
相關標籤/搜索