Ganglia安装部署教程

Ganglia安装部署教程Ganglia 安装部署教程一 简介 Ganglia 的组成 Ganglia 监控系统有三部分组成 分别是 gmond gmetad webfrontend 作用如下 gmond 即为 gangliamonit 是一个守护进程 运行在每一个需要监测的节点上 用于收集本节点的信息并发送到其他节点 同时也接收其他节点发过了的数据 默认的监听端口为 8649 gmetad 即为 gangliametad 是一个守护进程 运行在一个数据汇聚节点上 定期检查每个监测节点的 g

Ganglia安装部署教程

一、简介

  • gmond: 即为ganglia monitoring daemon,是一个守护进程,运行在每一个需要监测的节点上,用于收集本节点的信息并发送到其他节点,同时也接收其他节点发过了的数据,默认的监听端口为8649。
  • gmetad: 即为ganglia meta daemon,是一个守护进程,运行在一个数据汇聚节点上,定期检查每个监测节点的gmond进程并从那里获取数据,然后将数据指标存储在本地RRD存储引擎中。
  • webfrontend: 是一个基于web的图形化监控界面,需要和Gmetad安装在同一个节点上,它从gmetad取数据,并且读取RRD数据库,通过rrdtool生成图表,用于前台展示,界面美观、丰富,功能强大

    一个Ganglia监控系统是由多个gmond进程和一个主gmetad进程组成,所有gmond进程将收集到的监控数据汇总到gmetad管理端,而gmetad将数据存储到RRD数据库中,最后通过PHP程序在Web界面进行展示。

二、安装

Ganglia的安装分为两个部分,分别是gmetad和gmond,gmetad安装在监控管理端,gmond安装在需要监控的客户端主机,对应的yum包名称分别为ganglia-gmetad和ganglia-gmond。

1.安装依赖和环境

所有主机(包括监控管理端和要监控的主机)

sudo yum -y install httpd php sudo yum -y install rrdtool perl-rrdtool rrdtool-devel sudo yum -y install apr-devel yum -y install epel-release #安装epel源 

2.安装ganglia

2.1yum安装(自动安装依赖)
#监控管理端 sudo yum -y install ganglia-gmetad #在需要监控的客户端主机 sudo yum install -y ganglia-gmond #安装为web服务的节点 sudo yum -y install ganglia-web 

安装部署情况

主中心 clu201: gmetad、gmond、ganglia-web

分中心clu202:gmond

2.2源码安装(自己编译配置)

分布式监控数据采集系统Ganglia实战 – 夫莱特 – 博客园 (cnblogs.com)

接着安装ganglia的依赖程序,首选是apr,可从http://apr.apache.org/download.cgi 网站下载,编译安装如下:

cd /public/software/ [root@monitor ~]#tar zxvf apr-1.7.0.tar.gz [root@monitor ~]#cd apr-1.7.0/ [root@monitor apr-1.6.3]#./configure [root@monitor apr-1.6.3]#make [root@monitor apr-1.6.3]#make install 

接着是confuse的安装,可从http://ftp.twaren.net/Unix/NonGNU/confuse/ 下载,操作过程如下:

[root@monitor ~]#tar zxvf confuse-2.7.tar.gz [root@monitor ~]#cd confuse-2.7 [root@monitor confuse-2.7]#./configure CFLAGS=-fPIC --disable-nls [root@monitor confuse-2.7]#make && make install 

最后进入ganglia-gmetad的安装,过程如下:

[root@monitor ~]#tar zxvf ganglia-3.7.2.tar.gz [root@monitor ~]#cd ganglia-3.7.2 [root@monitor ganglia-3.7.2]# ./configure --prefix=/opt/app/ganglia --with-static-modules --enable-gexec --enable-status --with-gmetad --with-python=/usr --with-libexpat=/usr --with-libconfuse=/usr/local --with-libpcre=/usr/local [root@monitor ganglia-3.7.2]#make [root@monitor ganglia-3.7.2]# make install [root@monitor gmetad]# mkdir -p /opt/app/ganglia/var/run [root@monitor gmetad]# systemctl enable gmetad 

至此,ganglia-gmetad安装完成。

下面介绍Ganglia客户端的安装过程,ganglig-gmond的安装与ganglia-gmetad大致相同,对于系统依赖包和基础软件包的安装完全相同,只是ganglig-gmond不需要rrdtool的支持,因此重点讲述ganglig-gmond的编译安装过程。

[root@node1 ~]#tar zxvf ganglia-3.7.2.tar.gz [root@node1 ~]#cd ganglia-3.7.2 [root@node1 ganglia-3.7.2]#./configure --prefix=/opt/app/ganglia --enable-gexec #成功会出现ganglia字样 [root@node1 ganglia-3.7.2]#make [root@node1 ganglia-3.7.2]#make install [root@node1 gmond]#cd gmond [root@node1 gmond]#./gmond -t > /opt/app/ganglia/etc/gmond.conf [root@node1 gmond]#mkdir -p /opt/app/ganglia/var/run [root@node1 gmond]# systemctl enable gmond 

到这里为止,ganglig-gmond安装完成。

3.配置

3.1 在Web服务节点和监控端(clu201)
vim /etc/httpd/conf.d/ganglia.conf 

修改内容如下:

# Ganglia monitoring system php web frontend #Alias /ganglia /usr/share/ganglia <Location /ganglia> Order deny,allow #Deny from all  Allow from all #Allow from 127.0.0.1  #Allow from ::1  # Allow from .example.com </Location> 
vim /etc/ganglia/gmetad.conf 

修改内容如下:

data_source "mccps" clu201 clu202 #data_source "集群名字" 节点域名或ip 
vim /etc/ganglia/gmond.conf 

修改内容如下:

/* * The cluster attributes specified will be used as part of the <CLUSTER> * tag that will wrap all hosts collected by this instance. */ cluster { 
    name = "mccps" #与前面配置中的集群名一致 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 { 
    #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=10.3.1.201 #绑定监控客户端的主机IP(clu201) 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 = 10.3.1.201 #绑定监控客户端的主机IP(clu201) retry_bind = true # Size of the UDP buffer. If you are handling lots of metrics you really # should bump it up to e.g. 10MB or even higher. # buffer =  } 
3.2 在普通被监控的主机上(clu202)
vim /etc/ganglia/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 = 10.3.1.201 #发送到监控端的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 = 239.2.11.71 #只发送不接收 retry_bind = true # Size of the UDP buffer. If you are handling lots of metrics you really # should bump it up to e.g. 10MB or even higher. # buffer =  } 

4.启动服务

主节点: (base) [root@clu201 ~]# systemctl start httpd (base) [root@clu201 ~]# systemctl start gmetad (base) [root@clu201 ~]# systemctl start gmond 子节点 [root@clu202 mca]# systemctl start gmond 

5.访问测试

http://10.3.1.201/ganglia/

监控端的IP

(默认浏览器的端口用80,与httpd服务的端口有关)

问题:

1.安装ganglia后,访问浏览器出现”You don’t have permission to access /ganglia/ on this server”

修改/etc/httpd/conf.d/ganglia.conf

最后注释了上面的这些规则,添加了“ Require all granted”后,重启httpd问题解决。

vim /etc/httpd/conf.d/ganglia.conf  Ganglia monitoring system php web frontend#Alias /ganglia /usr/share/ganglia 
   
     #Order deny,allow #Deny from all #Allow from all #Allow from 127.0.0.1 #Allow from ::1 # Allow from.example.com Require all granted 
    

2.能打开网页,但是不显示任何节点的信息

3.看不到子节点的信息

systemctl start gmond 启动成功,但是状态发送失败

主从节点的启动顺序问题,要先启动主节点的gmetad和gmond,再启动子节点的gmond

参考教程

高可用Hadoop平台-Ganglia安装部署 – 哥不是小萝莉 – 博客园 (cnblogs.com)

配置文件的详细说明:

分布式监控数据采集系统Ganglia实战 – 夫莱特 – 博客园 (cnblogs.com)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209206.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午9:47
下一篇 2026年3月19日 上午9:47


相关推荐

  • Linux 查看端口是否被占用

    Linux 查看端口是否被占用查看端口是否被占用 lsof i 端口号比如 查看 8080 被哪个进程占用 lsof i 8080 如图所示 端口 8080 被 PID1463 的进程占用 好家伙 那我肯定要杀了它 杀死进程 killPID 使用 kill 命令结束进程用的是 PID 来指定进程 比如这里要杀死 PID 为 1463 的进程 kill1463 然后再次查看端口号 发现已经不显示进程了 说明进程已经被结束 补充 kill 1PID 重新加载进程 kill 9PID 强制结束进程 kill 15PID 正常结束进程

    2026年3月19日
    2
  • vue路由懒加载–2种实现方式

    vue路由懒加载–2种实现方式1 vue 异步组件 路由懒加载 component resolve gt 需要加载的路由的地址 resolve 2 import 实现路由懒加载 推荐 constHelloWo gt import 需要加载的模块地址 1 路由懒加载作用 首屏组件加载速度更快一些 解决白屏问题 更好的客户体验 也是性能优化的一种方式 什么是路由懒加载 懒加载简单来说就是延迟加载或按需加载 就是用到的时候再进行加载 2 使用 详情

    2026年3月18日
    3
  • 阿里时间同步服务器地址

    阿里时间同步服务器地址阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com转载于:https://www.cnblogs.com/glc400/p/8330094.html…

    2022年7月16日
    33
  • Java之StringUtils的常用方法

    Java之StringUtils的常用方法StringUtils方法的操作对象是 Java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils…

    2022年6月12日
    27
  • JavaScript—-什么是纯函数

    JavaScript—-什么是纯函数定义简单来说,一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。这么说肯定比较抽象,我们把它掰开来看:函数的返回结果只依赖于它的参数。函数执行过程里面没有副作用。consta=1constfoo=(b)=&gt;a+bfoo(2)//=&gt;3foo函数不是一个纯函数,因为它返回的结果依赖于外部变量…

    2025年8月11日
    5
  • 阿里云服务器开放指定端口吗_阿里云服务器怎么远程连接

    阿里云服务器开放指定端口吗_阿里云服务器怎么远程连接https://yq.aliyun.com/articles/701181?spm=a2c4e.11153940.0.0.465214c3lZ4GTP&type=2

    2026年4月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号