Ganlia集群安装

参考:https://blog.csdn.net/agent_x/article/details/78660128

主节点安装

  • epel包的安装:yum install -y epel-release(解决不能yum安装某些安装包的问题)
  • gmetad的安装:yum install -y ganglia-gmetad ganglia-devel
  • gmond的安装:yum install -y ganglia-gmond
  • rrdtool的安装:yum install -y rrdtool
  • httpd服务器的安装:yum install -y httpd
  • ganglia-web及php安装:yum install -y ganglia-web php

被监控节点安装

  • epel包的安装:yum install -y epel-release(解决不能yum安装某些安装包的问题)
  • gmond的安装:yum install -y gmond(提示找不到,感觉应该换成上面那个yum install -y ganglia-gmond)

Ganglia配置

安装目录说明:

  • ganglia配置文件目录:/etc/ganglia
  • rrd数据库存放目录:/var/lib/ganglia/rrds
  • ganglia-web安装目录:/usr/share/ganglia
  • ganglia-web配置目录:/etc/httpd/conf.d/ganglia.conf
  1. 将ganglia-web的站点目录连接到httpd主站点目录
    $ ln -s /usr/share/ganglia /var/www/html#
  2. 修改httpd主站点目录下ganglia站点目录的访问权限 ,将ganglia站点
    目录访问权限改为apache:apache,否则会报错
    $ chown -R apache:apache /var/www/html/ganglia
    $ chmod -R 755 /var/www/html/ganglia

3.修改rrd数据库存放目录访问权限 ,将rrd数据库存放目录访问权限改为nobody:nobody,否则会报错
$ chown -R nobody:nobody /var/lib/ganglia/rrds

  1. 修改ganglia-web的访问权限:
    修改/etc/httpd/conf.d/ganglia.conf:
Alias /ganglia /usr/share/ganglia
 
 Require all granted
 #Require ip 10.1.2.3
 #Require host example.org

注意下2.4和2.2版本的不一样输入:


Ganlia集群安装_第1张图片
image.png
  1. 修改dwoo下面的权限
    $ chmod 777 /var/lib/ganglia/dwoo/compiled
    $ chmod 777 /var/lib/ganglia/dwoo/cache
  2. 配置/etc/ganglia/gmetad.conf
data_source "cluster" 1 10.11.6.52:8649  #中间的1是采样间隔,不设置的话默认是15s
RRAs "RRA:AVERAGE:0.5:1:3660" "RRA:AVERAGE:0.5:360:244" "RRA:AVERAGE:0.5:2520:244" "RRA:AVERAGE:0.5:10080:244" "RRA:AVERAGE:0.5:86400:374"  #不设置的话默认RRA保存是15s格式的数据,这边修改成1s的,详细记录最近61分钟的数据

  1. 配置/etc/ganglia/gmond.conf
cluster { 
  name = "cluster"
  ... 
} 
udp_send_channel { 
  # the host who gather this cluster's monitoring data and send these data   to gmetad node
  #注释掉多播模式的,以下出现这个都要注释掉
 #mcast_join = 239.2.11.71
 #添加单播模式的
 host = 192.168.26.139  
 port = 8649 
} 
udp_recv_channel { 
  port = 8649   #别的都注释掉
} 
tcp_accept_channel { 
  port = 8649 
 gzip_output = no
}

····
collection_group {
  collect_every = 1   #我修改成CPU成1秒采集和1秒发送,注意要搭配修改 gmetad.conf
  time_threshold = 1
  /* CPU status */
  metric {
    name = "cpu_user"
    value_threshold = "1.0"
    title = "CPU User"
  }
  metric {
    name = "cpu_system"
    value_threshold = "1.0"
    title = "CPU System"
  }
  metric {
    name = "cpu_idle"
    value_threshold = "5.0"
    title = "CPU Idle"
  }

  1. 被测节点的配置,可以直接复制主节点配置好的/etc/ganglia/gmond.conf
  2. 主节点启动
$ systemctl start httpd.service    #service httpd  start 
$ systemctl start gmetad.service    #service gmetad start 
$ systemctl start gmond.service   #service gmond start 
$ systemctl enable httpd.service
$ systemctl enable gmetad.service
$ systemctl enable gmond.service
  1. 测试节点
$ systemctl start gmond.service
$ systemctl enable gmond.service
  1. 访问网页
    浏览器访问 {namenode的ip}/ganglia即可

如果出现错误:

There was an error collecting ganglia data (127.0.0.1:8652):fsockopen error: Permission denied

可能原因1:SELINUX配置问题
关闭selinux,vi /etc/selinux/config,把SELINUX=enforcing改成SELINUX=disable;该方法需要重启机器。
可以使用命令setenforce 0来关闭selinux而不需要重启,刷新页面,即可访问;不过此法只是权宜之计,如果想永久修改selinux设置,还是要使用第一种方法
可能原因2:rrds目录的访问权限未正确配置
给/var/lib/ganglia/rrds目录赋予nobody:nobody的可访问权限

如果服务正常,但是UI里没有节点,可能是RRD里面的时间更新错误了,系统错误导致的,解决:删除主节点的RRD目录下的所有文件,重启

你可能感兴趣的:(Ganlia集群安装)