我是靠谱客的博主 欢呼故事,最近开发中收集的这篇文章主要介绍GangliaGangliaGanglia的安装与部署(编译方式,centos7使用RPM方式安装会报错)操作Flume测试监控,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Ganglia
1.概述
- 为HPC(高性能计算) 集群设计的可扩展性的分布式监控系统,可以监视和显示集群中节点的各种状态信息
- 由运行在各个节点上的gmond守护进程来采集CPU、内存、磁盘利用率、I/O负载、网络流量情况等方面的数据,然后汇总到gmetad守护进程下,使用rrdtool存储数据,然后将历史数据以曲线方式通过PHP页面呈现
- Ganglia的中文意思是神经中枢,现在支持多部分操作系统(包括linux、unix、windows),可支持2000个节点的网络监控(当然这不是上限,只是一个大集群使用的范例)
2.组件
- Ganglia底层使用RRDTool存储数据
- gmond(ganglia monitor deamon)
gmond运行在集群每个节点上,收集RRDTool产生的数据
- gmetad(ganglia metadata deamon)
gmetad运行在监控服务器上,收集每个gmond的数据
- 这里可以看出这是一个主从架构
- gweb
ganglia可视化工具,显示ganglia收集的主机各项指标
gweb允许在图标中通过点击-拖拽改变时间周期,包含从不同文本格式(CSV,JSON等)中便捷提供数据的工具,显示完整、使用的URL接口,使用户可以通过预知的URL将感兴趣的图表嵌入其他程序
gweb是一种PHP程序,因为需要与轮询器创建的RRD数据库交互,所以gweb通常安装在和gmetad相同的物理硬件上
- 图解
3.层次结构
- 由小到大可以分为node -> cluster -> grid
- node
一个node就是一个需要监控的节点,一般是个主机,用IP表示
每个node上运行一个gmond进程用来采集数据,并提交给gmetad
- cluster
一个cluster由多个node组成,就是一个集群,我们可以给集群定义名字
一个集群可以选一个node运行gmetad进程,汇总/拉取gmond提交的数据,并部署web front,将gmetad采集的数据用图表展示出来
- grid
一个grid由多个cluster组成,是一个更高层面的概念,我们可以给grid定义名字
grid中可以定义一个顶级的gmetad进程,汇总/拉取多个gmond、子gmetad提交的数据,部署web front,将顶级gmetad采集的数据用图表展示出来
4.收集数据工作的运行模式
- 单播(unicast)
发送自己收集到的监控数据到特定的一台或几台机器上,可以跨网段
- 多播(multicast)默认
发送自己收集到的监控数据到同一网段内所有的机器上,同时收集同一网段内的所有机器发送过来的监控数据
因为是以广播包的形式发送,因此需要同一网段内。但同一网段内,又可以定义不同的发送通道
Ganglia的安装与部署(编译方式,centos7使用RPM方式安装会报错)
1.环境准备
- 停止防火墙
systemctl stop firewalld.service
- 临时关闭selinux
setenforce 0
- 卸载系统默认安装的Apache软件包,如果安装过的话
rpm -qa httpd*
rpm -e --nodeps 包名
有多个httpd*,用脚本删除for name in `rpm -qa httpd*`;do rpm -e --nodeps $name;done
- 安装依赖包
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install wget lrzsz vim lynx lsof netstat-tools unzip -y
- 时区设置
timedatectl
列出了所有的时区:timedatectl list-timezones
把时区设置为上海:timedatectl set-timezone Asia/Shanghai
- 时间同步
/usr/sbin/ntpdate time.nist.gov
crontab -e
输入:*/10 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
23456789是服务端的配置,此处选择node1
2.gmetad配置
- yum -y install apr-devel apr-util check-devel cairo-devel pango-devel
libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel
fontconfig-devel gcc gcc-c++ expat-devel python-devel
libXrender-devel - yum install -y libart_lgpl-devel pcre-devel libtool
- yum install -y rrdtool rrdtool-devel
- mkdir /tools
- cd /tools/
- wget http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
- tar zxvf confuse-2.7.tar.gz
- cd confuse-2.7
- ./configure --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC
–disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64 - make && make install
- cd /tools/
- wget https://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz --no-check-certificate
- tar zxf ganglia-3.7.2.tar.gz
- cd ganglia-3.7.2
- ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status --with-gmetad --with-libconfuse=/usr/local/ganglia-tools/confuse
- make && make install
- cp gmetad/gmetad.init /etc/init.d/gmetad
- ln -s /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad
3.gweb配置
- yum install httpd httpd-devel php -y
- yum -y install rsync
- cd /tools/
- wget
https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz
–no-check-certificate - tar zxvf /tools/ganglia-web-3.7.2.tar.gz -C /var/www/html/
/var/www/html/相当于tomcat的webapp目录
- cd /var/www/html/
- mv ganglia-web-3.7.2 ganglia
- cd /var/www/html/ganglia/
- useradd -M -s /sbin/nologin www-data
- make install
- chown apache:apache -R /var/lib/ganglia-web/
4.修改启动脚本
- vim /etc/init.d/gmetad
GMETAD=/usr/sbin/gmetad #这句话可以自行更改gmetad的命令,当然也能向我们前面做了软连接
start() {
[ -f /usr/local/ganglia/etc/gmetad.conf ] || exit 6 #这里将配置文件改成现在的位置,不然启动没反应
5.创建rrds目录
- mkdir /var/lib/ganglia/rrds -p
- chown -R nobody:nobody /var/lib/ganglia/rrds
6.修改gmetad配置文件,实际就是配置客户端gmond(这个目录会经常被修改)
- vim /usr/local/ganglia/etc/gmetad.conf
data_source "my ganglia" 192.168.10.100:8649 192.168.10.102:8649
7.启动服务
- mkdir -p /usr/local/ganglia/var/run
- /etc/init.d/gmetad restart
- systemctl restart httpd
- netstat -luntp
8.修改配置文件
- vim /etc/httpd/conf.d/ganglia.conf
# Ganglia monitoring system php web frontend
Alias /ganglia /var/www/html/ganglia/
<Location /ganglia>
#Order deny,allow
#Deny from all
Require all granted
Allow from all
# Allow from 127.0.0.1
# Allow from ::1
# Allow from .example.com
</Location>
- vim /usr/local/ganglia/etc/gmond.conf
9.实战:随便编写一个页面然后访问
- cd /var/www/html/
- mkdir cj
- cd cj
- vim index.html
hello
<hr />
- 访问:http://192.168.10.100/cj/
接下来是客户端的配置,此处选择node1
10.如果该节点没有配置gmeta,则执行2
11.安装过gmate的节点从这一步开始
- 生成gmond配置文件
/usr/local/ganglia/sbin/gmond -t >/usr/local/ganglia/etc/gmond.conf
- cp /tools/ganglia-3.7.2/gmond/gmond.init /etc/init.d/gmond
- mkdir -p /usr/local/ganglia/var/run
- /etc/init.d/gmond restart
- netstat -luntp
操作Flume测试监控
1.修改flume-env.sh配置
- cd /usr/local/flume-1.9.0/conf
- vim flume-env.sh
JAVA_OPTS="-Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.10.100:8649 -Xms100m -Xmx200m"
2.启动Flume任务
bin/flume-ng agent --conf conf/ --name a1 --conf-file jobs/t1/flume-telnet-logger.conf -Dflume.root.logger==INFO,console
-Dflume.monitoring.type=ganglia
-Dflume.monitoring.hosts=192.168.10.100:8649
3.启动另一个node1
- telnet localhost 44444
4.观察页面信息
- http://192.168.10.100/ganglia/
5.其他
- web页面介绍:https://www.shuzhiduo.com/A/Ae5RwY7LdQ/
- 提示服务重启命令
/etc/init.d/gmetad restart
systemctl restart httpd
/etc/init.d/gmond restart
最后
以上就是欢呼故事为你收集整理的GangliaGangliaGanglia的安装与部署(编译方式,centos7使用RPM方式安装会报错)操作Flume测试监控的全部内容,希望文章能够帮你解决GangliaGangliaGanglia的安装与部署(编译方式,centos7使用RPM方式安装会报错)操作Flume测试监控所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复