nagios+Ganglia安装备忘录

标签: System linux/unix nagios,ganglia,安装,配置 | 发表时间:2012-08-23 10:36 | 作者:Mike.Xu
出处:http://www.dbasky.net/

yum install -y expat expat-devel pcre pcre-devel apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel
wget http://mirror.bit.edu.cn/apache/apr/apr-1.4.6.tar.gz
tar zxf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure;make;make install
cd ..
wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
tar zxf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls ;make;make install

调整lib库的位置:
vi /etc/ld.so.conf.d/libconfuse.conf,添加:/usr/local/lib,然后/sbin/ldconfig -v

cd ..
wget http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.3.1/ganglia-3.3.1.tar.gz
tar zxf ganglia-3.3.1.tar.gz
cd ganglia-3.3.1
#server
./configure --prefix=/opt/modules/ganglia --with-static-modules --enable-gexec --enable-status --with-gmetad --with-python=/usr  --with-libexpat=/usr --with-libconfuse=/usr/local --with-libpcre=/usr/local --with-librrd=/usr/local/lib --sysconfdir=/etc/ganglia


cp gmond/gmond.init /etc/rc.d/init.d/gmond
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad
chkconfig --add gmond && chkconfig gmond on
chkconfig --add gmetad && chkconfig gmetad on
service gmetad start

Ganglia web前端的安装:
mkdir /usr/local/apache2/httdoc/ganglia
cp -r web/* /usr/local/apache2/httdoc/ganglia

Ganglia的Wiki特别指出,web前端的运行需要rrdtool,以及gmetad中的rrds/目录,没有这两个东西,无法出图。gmetad中rrd图形默认存储的目录位置为/var/lib/ganglia/rrds:
mkdir -p /var/lib/ganglia/rrds
chown nobody:nobody /var/lib/ganglia/rrds 


Ganglia的简单配置:
1)生成gmond默认配置文件:
    1.    gmond -t |tee /etc/ganglia/gmond.conf 
2)服务器端配置文件gmetad.conf,主要是配置data_source参数。它设定了监控服务器的地址及端口,可以指定多个监控服务器:
    1.    data_source "hadoop" 10 192.168.1.185
    2.    grid_name "hadoop cluster status"    /*设置一个web前端显示的名称,随意命名。
3)被监控节点配置文件gmond.conf:
gmond.conf包括了几个部分:globals、cluster、udp_send_channel、udp_recv_channel等,如果只是想要Ganglia简单地运行,两个操作就可以了,两个操作都是在cluster配置段中进行修改:
首先,命名你的集群:
命名一个cluster名称,名称与gmetad.conf中的data_source保持一致。我的命名:name = "hadoop"
然后,修改tcp_accept_channel配置段如下:
tcp_accept_channel {
port = 8649
acl {
default = "deny"
access {
ip = 192.168.1.185 /*这里用来监控服务器的地址
mask = 32
action = "allow"
 }
    10.       }
    11.    }
把这个gmond.conf配置文件分发到每个被监控的节点服务器上,重启监控端的gmetad和gmond,以及节点端的gmond,即可对节点进行监控。
4)修改web前端配置文件/var/www/html/conf.php,指定gmetad中存储rrd图形的目录,以及rrdtool的位置:
$gmetad_root = "/var/lib/ganglia";
$rrds = "$gmetad_root/rrds";  
define("RRDTOOL", "/usr/local/bin/rrdtool");

客户端安装

yum install -y expat expat-devel pcre pcre-devel
wget http://mirror.bit.edu.cn/apache/apr/apr-1.4.6.tar.gz
tar zxf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure;make;make install
cd ..
wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
tar zxf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls ;make;make install
cd ..
wget http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.3.1/ganglia-3.3.1.tar.gz
tar zxf ganglia-3.3.1.tar.gz
cd ganglia-3.3.1
#client
./configure --prefix=/opt/modules/ganglia --enable-gexec --enable-status --with-python=/usr --with-libapr=/usr/local/apr/bin/apr-1-config --with-libconfuse=/usr/local --with-libexpat=/usr --with-libpcre=/usr
make; make install
cd gmond

集群的分组部署

Ganglia的分组很简单,就是分端口,不同的组配置不同的监听端口
gmetad
data_source "Namenode" 192.168.1.128:8653
data_source "Datanode" 192.168.1.127:8649
data_source "Portal" 192.168.1.143:8650
data_source "Collector" 192.168.1.135:8651
data_source "DB" 192.168.1.151:8652

gridname "Hadoop"
rrd_rootdir "/opt/modules/ganglia/html/rrds"
#配置rrd数据保存文件的路径,给web界面用的,这个是固定的,最好放在web文件夹下,并赋予正确的权限
case_sensitive_hostnames 0

客户端配置

gmond
cluster {
    name = "Portal"
    #对应gmetad中的Portal,名称一定要写对。
    owner = "unspecified"
    latlong = "unspecified"
    url = "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 = 192.168.1.185
    port = 8650
    #gmetad中的Portal所分配的端口号。
    ttl = 1
}

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
    mcast_join = 192.168.1.185
    port = 8650
    bind = 192.168.1.185
}

/* You can specify as many tcp_accept_channels as you like to share
     an xml description of the state of the cluster */
tcp_accept_channel {
    port = 8650
}

红色部分就是Portal小组的端口,从gmetad.conf中可以看到,Portal小组属于8650端口,那么相应的在gmond中,也要将udp和tcp端口写为8650。

再加上另外一个组的成员gmond就更容易理解了
cluster {
    name = "DB"
    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 = 192.168.1.185
    port = 8652
    ttl = 1
}

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
    mcast_join = 192.168.1.185
    port = 8652
    bind = 192.168.1.185
}

/* You can specify as many tcp_accept_channels as you like to share
     an xml description of the state of the cluster */
tcp_accept_channel {
    port = 8652
}

相关 [nagios ganglia 备忘录] 推荐:

nagios+Ganglia安装备忘录

- - DBA Blog
vi /etc/ld.so.conf.d/libconfuse.conf,添加:/usr/local/lib,然后/sbin/ldconfig -v. Ganglia web前端的安装:. Ganglia的Wiki特别指出,web前端的运行需要rrdtool,以及gmetad中的rrds/目录,没有这两个东西,无法出图.

云计算平台管理的三大利器Nagios、Ganglia和Splunk

- - 技术改变世界 创新驱动中国 - 《程序员》官网
综合利用Nagios、Ganglia和Splunk搭建起的云计算平台监控体系,具备错误报警、性能调优、问题追踪 和自动生成运维报表的功能. 有了这套系统,就可轻松管理Hadoop/HBase云计算平台. 云计算早已不是停留在概念阶段了,各大公司都购买了大量的机器,开始正式的部署和运营. 而动辄上百台的性能强劲的服务器,为运营管理带来了巨大的挑战.

nagios 监控redis

- - C1G军火库
下载check_redis.pl. OK: REDIS 2.6.12 on 192.168.0.130:6379 has 1 databases (db0) with 49801 keys, up 3 days 14 hours - connected_clients is 1, blocked_clients is 0 | connected_clients=1 blocked_clients=0.

nagios详解

- - ITeye博客
目录 1 NAGIOS介绍. 1.2 NAGIOS的工作原理. 3.5 定义HOST及HOST组. 3.7 综合 4 远程监控. 4.1 使用NRPE做NAGIOS主动监控. 4.1.1 NRPE安装. 4.1.2 NRPE使用. 4.2 使用NSCA做NAGIOS被动监控.

Hadoop配置Ganglia指南

- - CSDN博客云计算推荐文章
编辑/etc/ganglia/gmond.conf.                        # This option tells gmond to use a source address.                        # this, the metrics may appear to come from any.

ganglia收集hbase的metrics

- - CSDN博客云计算推荐文章
Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点. 每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程. 它将从操作系统和指定主机中收集. 接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中.

从Ganglia故障说起

- - 开源小站
ganglia是现在市面上比较流行的一个集群健康状态监控系统. 它能够提供一整套的图形化报表用以完整的监控集群中各个节点的CPU/内存/网络以及其他需要监控的信息. 这次呢是我们搭建的一套环境,通过ganglia监控,但看似所有的配置都正确,可ganglia的前端主机(web-front)始终无法得到应有的数据.

[转]nagios配置详解

- - 小鸥的博客
1、nagios默认配置文件介绍.  nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,每个文件或目录含义如下表所示:. 2、配置文件之间的关系.  在nagios的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios各个配置文件之间是互为关联,彼此引用的.

Ganglia:分布式监控系统

- - CSDN博客移动开发推荐文章
1         环境安装配置. 1.1      依赖软件下载. Ganglia是伯克利开发的一个集群监控软件. 可以监视和显示集群中的节点的各种状态信息,比如如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现. 而ganglia又依赖于一个web服务器用来显示集群状态,用rrdtool来存储数据和生成曲线图,需要xml解析因此需要expat,配置文件解析需要libconfuse.

使用Nagios监控Eucalyptus云平台

- - 婉兮清扬
和运行在数据中心里的任何生产系统一样,用于生产环境的Eucalyptus私有云需要一个健康监测系统. 健康监测系统的功能是使得系统管理员能够及时了解资源使用状况,未来的发展趋势,并在资源池(服务器、网络、存储等等)出现问题的情况下提供可靠的真短信息. 我们在我们自己的生产系统当中使用 Nagios来对Eucalyptus云平台进行监控.