搭建ganglia 集群监测工具

分布式监控系统ganglia

1.简介:
		ganglia是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,
		它可以监控和显示集群中cpu,内存,磁盘利用率,i/o负载,网络流量等情况
		优点:良好的扩展性,负载开销低,支持高并发。广泛支持各种操作系统和cpu架构,
		          支持虚拟机
2.组成:
		gmond:用于收集本节点的信息并发送到其他节点,同时也接收其他节点发送过来的数据, 
		   		默认端口为8649
		gmetad:运行在一个数据汇聚节点,定期检查配置的节点的gmond进程,并从哪里获取数据, 
				然后将数据 存储在本地rrd引擎中
		webfrontend:基于web的图形化监控界面,和gmetad安装在一个节点上,读取数据,
					并通过rrdtool生成图表
3.工作原理
		node:单台服务器
		cluster:一个服务器集群
		grid:表示一个网格,由多个集群组成

在这里插入图片描述

4.数据走向:
		gmond:收集本地的监控数据,发送到其他机器上。他们之间用udp协议通信, 
		      文件格式为xdl,传输方式支持单播点对点和多播传送
		gmetad:周期性的到gmond节点或gmetad节点上获取数据。用tcp协议通信,
			  文件格式为xml,将获取到的数据更新到rrds数据库中
		通过web界面,从gmetad取数据,并且读取rrds数据库,生成图片显示出来
5.工作模式:单播和多播,默认采用多播
		单播:监控节点发送本机数据到指定的一台或几台机器上,单播可以跨越不同的网段
		多播:监控节点发送本机数据到同意网段内的所有机器上,同时也接收同一网段内
		      所有机器发过来的监控数据。
6. 优势及注意事项

1、可以轻松监控上万台服务器,数据延时在10s 以内。
2、分布式架构,扩展方面,非常适合多地跨机房部署。
3、与centrenon无缝整合,实现监控、报警一体化。
4、数据存储磁盘lO可能成为瓶颈,需要高性能磁盘做支撑。

搭建ganglia

1 防火墙的状态
  #关闭防火墙 
   service iptables stop
   chkconfig iptables off
   or use
   systemctl stop firewalld(关闭)
   systemctl disable firealld(开机禁止启动)
   
  #查看状态 
  service iptables status
  or use
  systemctl status firewalld
2 关闭selinux

sestatus 查看运行状态
如果是运行状态,编辑 vi /etc/selinux/config
修改该属性 SELINUX=disabled然后重启即可。
上面是永久生效的方法,还有一种是立即生效 运行getenforce 0(我没有运行成功)

3 相关配置文件说明

ganglia 配置文件目录:/etc/ganglia
ganglia-gmond文件目录: /etc/ganglia/gmond.conf
ganglia-gmetad文件目录:/etc/ganglia/gmetad.conf
rrd 数据库存放目录:/var/lib/ganglia/rrds
httpd 主站点目录:/var/www/html
ganglia-web 安装目录:/usr/share/ganglia
ganglia-web 配置目录:/etc/httpd/conf.d/ganglia.conf

4. yum安装
  1 检查ganglia相关包是否存在
   rpm -qa |grep ganglia
   or use 
   yum list
   yum list installed
    如果没有,运行下面代码更新资源
    安装epel yum源
    yum -y install epel-release 
    或者:
    rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
5. 安装gmond(每个节点都要安装)
	 在每个需要监控的节点,安装gmond
	 yum install ganglia-gmond
	 配置/etc/ganglia/gmond.conf文件
	 vim /etc/ganglia/gmond.conf
			具体修改:
				1. global-->user-->ganglia(随便起一个名字)
				2. sent_metadata_interval = 10(数据轮询时间)
				3. cluster-->name-->"集群的名字"
				4. Udp_send_channel区域修改如下,注释掉mcasy_jion(用于组播),
				    我们这里采用单播, 默认ip替换成机器的名称(ip)--->host = (master ip)
				5. Udp_recv_channe修改,注释掉mcast_join以及bind即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

			 启动gmond
				systemctl start gmond.service
6. 安装gmetad(只有主节点需要)
		安装 yum install ganglia-gmetad
7. 配置
		vim /etc/ganglia/gmetad.conf
	   找到data_source,第一个参数hadoop-cluster和gmond.conf的cluster的name必须一样,
		第二个参数和 upd_send_channel中的host 一样,当然可以有很多个,这里配置了一个,
		    结合配置的环境。
	启动:gmetad
			systemctl start gmetad.service

gmetad配置在这里插入图片描述

8. 安装gweb(只需要主节点)
	   安装yum install ganglia-web
	   修改ganglia-web 的访问权限(注释掉其他)
	   加入Allow from all
	          Require all granted
	   vim /etc/httpd/conf.d/ganglia.conf 
9. 安装apache服务器以及php(下面只需主节点安装)
		1)安装 apache以及php
			yum install httpd php
10. 修改文件所属组,以及链接数据
		(1)将ganglia-web 安装目录链接到httpd 主站点目录(apache服务器访问的根目录)
				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 数据库存放目录访问权限
				(如果gmond.conf中的user属性设置为其他的,则将nobody换成相应的username)
				  将rrd 数据库存放目录访问权限改为nobody:nobody,否则会报错
				  chown -R nobody:nobody /var/lib/ganglia/rrds
11. 启动访问
			依次启动gmond,gmetad,httpd
			 访问hostname/ganglia即可(这里的hostname是安装gweb以及gmetad的主机名或者ip)

ganglia-web1
ganglia-web2

弦外之音:
(1)ganglia的配置文件十分重要,不能够随便更改配置,你觉得的无关紧要,可能就会导致整个集群不能被监控
(2)而且主要,在输入系统命令的时候,一定注意自己的命令不要敲错,就像单词的顺序等等。有时错误的命令会得到 像配置错误
一样的错误,这样会产生严重的误导。
(3)注意Linux–>centos系统版本
centos6.x操作服务的命令一般为 service start firewalld 格式
centos7.x操作服务的命令一般为 systemctl start httpd.service

推荐一个ganglia工具学习课程:

企业运维监控平台架构设计与实现

扩展插件地址:

https://github.com/ganglia/gmond_python_modules

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值