Ganglia 安装
Ganglia 英 [ˈgæŋglɪə] 美 [ˈgæŋgliə] n. 神经中枢
目录
1、官网介绍
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心 包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提 高系统整体性能起到重要作用。
2、工作组件
Ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口ganglia-web
- Gmond :是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一 个组播或单播通道上的统计信息 如果他是一个发送者(mute=no)他会收集基本指标,比如系统负载(load_one),CPU利用率。他同时也会发送用户通过添加C/Python模块来自定义的指标。 如果他 是一个接收者(deaf=no)他会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区 中。
- Gmetad:也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD 存储引擎中。他可以查询多个集群并聚合指标。他也被用于生成用户界面的web前端。
- Ganglia-web :顾名思义,他应该安装在有gmetad运行的机器上,以便读取RRD文件。 集群是主机和度量数据的逻辑分组,比如数据库服务器,网页服务器,生产,测试,QA等,他们都是完全分 开的,你需要为每个集群运行单独的gmond实例。 一般来说集群中每个节点需要一个接收的gmond,每个网站需要一个gmetad。
一般来说集群中每个节点需要一个接收的gmond,每个网站需要一个gmetad。
3、环境搭建
Ps:前置需要下载 ganglia-3.7.2.tar.gz , ganglia-web-3.7.2.tar.gz ,confuse-2.7.tar.gz
节点 | Gmod | GMetad | Ganglia-web |
---|---|---|---|
Node01 | * | * | * |
Node02 | * | ||
Node03 | * |
3.1. 前置条件
##EPEL的全称叫 Extra Packages for Enterprise Linux 。
##EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供 高质量软件包的项目.
[123 ~]# yum install epel-release -y
[123 ~]# yum install wget lrzsz vim lynx lsof unzip -y
[123 ~]# yum -y install apr-devel apr-util check-devel cairo-devel pangodevel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel libart_lgpl-devel pcre-devel libtool rrdtool rrdtool-devel
//这个只装在node01上
[root@node01 ~]# yum install httpd httpd-devel php rsync -y
3.2、安装confuse
[123 ~]# tar -zvxf confuse-2.7.tar.gz
[123 ~]# cd confuse-2.7
[123 ~]# ./configure --prefix=/opt/bdp/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/opt/bdp/ganglia-tools/confuse/lib64
[123 ~]# make && make install
[123 ~]# cd
3.3、安装gmetad
-
安装Gmetad和Gmond
-
[root@node01 ~]# tar zxf ganglia-3.7.2.tar.gz [root@node01 ~]# cd ganglia-3.7.2 [root@node01 ganglia-3.7.2]# ./configure --prefix=/opt/bdp/ganglia --enable-gexec --enable-status --with-gmetad --withlibconfuse=/opt/bdp/ganglia-tools/confuse [root@node01 ganglia-3.7.2]# make && make install [root@node01 ganglia-3.7.2]# mkdir -p /opt/bdp/ganglia/var/run [root@node01 ganglia-3.7.2]# cd
-
-
安装主节点
-
[root@node01 ~]# tar -zxvf ganglia-web-3.7.2.tar.gz [root@node01 ~]# mv ganglia-web-3.7.2 /var/www/html/ganglia [root@node01 ~]# cd /var/www/html/ganglia/ [root@node01 ganglia]# useradd -M -s /sbin/nologin www-data [root@node01 ganglia]# make install [root@node01 ganglia]# chown apache:apache -R /var/lib/ganglia-web/ [root@node01 ganglia]# mkdir /var/lib/ganglia/rrds -p [root@node01 ganglia]# chown -R nobody:nobody /var/lib/ganglia/rrds [root@node01 ganglia]# cd
-
3.4、安装Gmond
- 搭建Gmond组件
[^23 ~]# tar -zxvf ganglia-3.7.2.tar.gz
[^23 ~]# cd ganglia-3.7.2/
[^23 ganglia-3.7.2]# ./configure --prefix=/opt/bdp/ganglia --enable-gexec --enable-status --with-libconfuse=/opt/bdp/ganglia-tools/confuse
[^23 ganglia-3.7.2]# make && make install
[^23 ganglia-3.7.2]# mkdir -p /opt/bdp/ganglia/var/run
[^23 ganglia-3.7.2]# cd
3.5、配置集群
-
修改gmetad服务
-
[root@node01 bin]# vim /opt/bdp/ganglia/etc/gmetad.conf
-
data_source "bdp cluster" 192.168.88.101:8649 192.168.88.102:8649 192.168.88.103:8649
-
-
修改gmond服务
-
[123 ~]# cp /root/ganglia-3.7.2/gmond/gmond /opt/bdp/ganglia/bin/ [123 ~]# cd /opt/bdp/ganglia/bin/ [123 ~]# ./gmond -t > /opt/bdp/ganglia/etc/gmond.conf [123 ~]# vim /opt/bdp/ganglia/etc/gmond.conf
-
cluster { #对应上面的集群名字 name = "bdp cluster" owner = "unspecified" latlong = "unspecified" url = "unspecified" } udp_send_channel { #mcast_join = 239.2.11.71 # 这里写gmond主节点的地址 host = 192.168.88.101 port = 8649 ttl = 1 } udp_recv_channel { #mcast_join = 239.2.11.71 port = 8649 # 101,102,103 每个gmond自己的地址 bind = 192.168.88.101 retry_bind = true }
-
-
3.6.、启动服务
[root@node01 bin]# systemctl restart httpd.service
[root@node01 bin]# systemctl restart gmetad.service
[root@node01 ~]# netstat -tnlp |grep gmetad
-
tcp 0 0 0.0.0.0:8651 0.0.0.0:* LISTEN 16874/gmetad tcp 0 0 0.0.0.0:8652 0.0.0.0:* LISTEN 16874/gmetad
//三个节点全开
[123 ~]# systemctl start gmond.service
[123 ~]# netstat -tnlp |grep gmond
-
tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN 14797/gmond
3.7、访问集群
- http://192.168.88.101/ganglia/
3.8、关机拍照
//三个节点gmond全关
[123 ~]# systemctl stop gmond.service
//关闭gmetad&httpd
[root@node01 bin]# systemctl stop gmetad.service
[root@node01 bin]# systemctl stop httpd.service
//关闭
[123 ~]# shutdown -h now
- 拍摄快照
4、监测Flume
未安装Flume可按下方连接安装
Flume安装.
https://blog.csdn.net/weixin_43660536/article/details/118809169
-
配置flume
-
[root@node01 ~]# vim /opt/bdp/flume-1.6.0/conf/flume-env.sh
-
export JAVA_OPTS="-Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.88.103:8649 -Xms100m -Xmx200m"
-
-
启动集群
-
[root@node01 ~]# flume-ng agent --conf /opt/bdp/flume-1.6.0/conf/ --name a1 --conf-file /opt/bdp/flume1.6.0/options/netcat2logger.conf -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.88.103:8649
-