1、Ganglia简介
Ganglia由gmond、gmetad和gweb三部分组成
gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。
gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。
gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。
2、安装Ganglia,本人OpenStack集群是Ubuntu16.04
首先,在Controller节点上安装Apache、PHP、Ganglia服务。在其它节点Compute、Storage节点上安装Gmond就可以了。Controller节点已经安装好Apache了,这里就不要再安装了。
三个节点
Controller 192.168.13.244
compute 192.168.13.243
storage 192.168.13.245
Ganglia 由两个所谓主要守护进程 gmond(Ganglia 监测守护进程)和 gmetad(Ganglia 元守护进程),一个基于 PHP 的 Web 前端和其他一些小的实用程序。
在主节点上安装ganglia-webfrontend和ganglia-monitor。在其他监视节点上,只需要安装ganglia-monitor即可,将ganglia的文件链接到apache的默认目录下
3、在Controller节点上安装
# apt install php php-gd rrdtool ganglia-webfrontend ganglia-monitor -y
# apt-get install ganglia-webfrontend ganglia-monitor -y
# apt-get install libapache2-mod-php7.0 php7.0-xml -y
4、复制 Ganglia webfrontend Apache 配置
#cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
5、因为ganglia-webfront这个包默认将Web相关的代码安装在”/usr/share/ganglia-webfrontend/”路径下,这样apache访问不到。可以使用软链接,或者直接将目录移到”/var/www/”目录下。
#ln -s /usr/share/ganglia-webfrontend /var/www/ganglia
6、编辑 Ganglia 元守护程序的配置文件
root@controller:~# vim /etc/ganglia/gmetad.conf
data_source "OpenStack" 192.168.13.244:8649 192.168.13.243:8649 192.168.13.245
列出机器服务的数据源,IP:端口或服务器名称:端口。如果未指定端口号8649(默认gmond端口)。
gridname "OpenStack"
setuid_username "nobody"
rrd_rootdir "/var/lib/ganglia/rrds"
7、编辑主节点的配置文件:
# vim /etc/ganglia/gmond.conf
cluster {
name = " unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
修改为
cluster {
name = "OpenStack"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}
修改为
udp_send_channel {
# mcast_join = 239.2.11.71 #注释掉
host = 192.168.13.244 #设置为服务端IP
port = 8649
ttl = 1
}
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
}
修改为
udp_recv_channel {
# mcast_join = 239.2.11.71 #注释掉
port = 8649
# bind = 239.2.11.71 #注释掉
}
8、启动服务
# /etc/init.d/ganglia-monitor start
Starting Ganglia Monitor Daemon:
# /etc/init.d/gmetad start
Starting Ganglia Monitor Meta-Daemon:
# /etc/init.d/apache2 start
[ ok ] Starting apache2 (via systemctl): apache2.service.
9、查看服务状态
# ps aux | grep ganglia
ganglia 68442 0.0 0.0 146112 62400 ? Ssl 10:51 0:00 /usr/sbin/gmond --pid-file /var/run/gmond.pid
# ps aux | grep gmetad
nobody 74365 0.2 0.0 185024 16192 ? Sl 10:53 0:02 /usr/sbin/gmetad --pid-file /var/run/gmetad.pid
# ps aux | grep apache2
root 68286 0.0 0.0 12864 10240 ? Ss 10:51 0:00 /usr/sbin/apache2 -k start
www-data 68289 0.0 0.0 303360 13120 ? Sl 10:51 0:00 /usr/sbin/apache2 -k start
www-data 68290 0.0 0.0 303360 13120 ? Sl 10:51 0:00 /usr/sbin/apache2 -k start
10、被监控节点compute和Storage安装配置gmond
root@compute:~# apt-get install ganglia-monitor -y
配置gmod.conf,将controller节点复制过来
root@controller:~# scp /etc/ganglia/gmond.conf 192.168.13.243:/etc/ganglia/
root@controller:~# scp /etc/ganglia/gmond.conf 192.168.13.245:/etc/ganglia/
启动monitor
root@node1:~# /etc/init.d/ganglia-monitor restart
Stopping Ganglia Monitor Daemon: gmond.
Starting Ganglia Monitor Daemon: gmond.
11、登录Ganglia监控平台
http://192.168.13.244/ganglia/
本文转自 OpenStack2015 51CTO博客,原文链接:http://blog.51cto.com/andyliu/1891368,如需转载请自行联系原作者