Linux下Ganglia集群监控安装、配置笔记
http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html
Linux下Ganglia集群监控安装、配置笔记
Ganglia是一个跨平台可扩展的分布式监控系统,用来监控系统性能,如:cpu
、内存、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,通过长期监测系统运行状况可以对合理调整、分配系统资源提供参考。
第一部分:软件安装
安装环境说明
系统版本:
Linux 2.6.18-164.el5 #1 x86_64 GNU/Linux
依赖软件版本:
expat-2.0.1.tar.gz[解析xml用]
apr-1.4.5.tar.gz[可移植运行库]
apr-util-1.3.12.tar.gz[不知道能干什么?]
confuse-2.6.tar.gz[配置文件解析]
rrdtool-1.2.27.tar.gz[画图用]
ganglia-3.2.0.tar.gz[监控软件,包括服务端、客户端和web页面]
安装四个依赖库zlib、freetype、libart_lgpl、libpng(必须要安装develop版本):
步骤:
rpm -qa | grep zlib
检查是否有zlib-devel版本
yum install zlib-devel
自动检查安装
其它三个依赖库也用相同的方法处理即可
安装画图工具rrdtools:
下载地址:http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
安装:
tar zxvf rrdtool-1.2.27.tar.gz
cd rrdtool-1.2.27
./configure --prefix=/usr/local/rrdtool
make
make install
执行以下命令,检查是否安装成功
/usr/local/rrdtool/bin/rrdtool
安装expat:
下载地址:http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
tar zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure –prefix=/usr/local/expat
make
make install
复制lib包下的内容到lib64目录下:
mkdir /usr/local/expat/lib64
cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/
安装apr以及apr-util:
下载地址:http://labs.renren.com/apache-mirror/apr/apr-1.4.5.tar.gz
tar xvjf apr-1.3.2.tar.bz2
./configure --prefix=/usr/local/apr
make
make install
下载地址:http://labs.renren.com/apache-mirror/apr/apr-util-1.3.12.tar.gz
tar xvjf apr-util-1.3.2.tar.bz2
./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make
make install
复制lib包下的内容到lib64目录下:
cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/
mkdir -p /usr/local/apr/lib64
cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/
安装confuse:
下载地址:http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
tar zxvf confuse-2.6.tar.gz
./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse
make
make install
复制lib包下的内容到lib64目录下:
mkdir -p /usr/local/confuse/lib64
/bin/cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/
安装ganglia:
tar zxvf ganglia-3.2.0.tar.gz
cd ganglia-3.2.0
./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse
--with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia
make
make install
其他:
1.
ganglia监控前台需要有web server支持,可以是apache或nginx;
2.
ganglia监控页面是php写的,还需要安装php环境;
3.
如果需要使用python扩展ganglia功能,最好先把python版本更新到2.6以上.
第二部分:环境配置
服务端配置:[假设当前所在目录为ganglia-3.2.0.tar.gz解压后的目录ganglia-3.2.0]
1.
创建rrdtool数据目录:
查看ganglia-3.2.0/web/conf.php里面的gmetad_root变量值,根据这个值创建目录并修改权限:
mkdir -p /var/lib/ganglia/rrds
mkdir -p /var/lib/ganglia/dwoo
chown -R nobody:nobody /var/lib/ganglia
2.
修改服务进程的配置文件:
vim /etc/ganglia/gmetad.conf
data_source "cluster_name" localhost [添加一个数据源名称(集群),客户端的配置中会用到此名称]
setuid_username "nobody"[运行的用户]
3.
添加自启动脚本
cp -f ganglia-3.2.0/gmetad/gmetad.init /etc/init.d/gmetad
cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad
chkconfig --add gmetad
4.
启动gmetad服务
service gmetad start
看见Starting GANGLIA gmetad: [ OK ]就代表运行正常了。
客户端配置:
1.
添加启动脚本
cp -f ganglia-3.2.0/gmond/gmond.init /etc/init.d/gmond
cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond
chkconfig -add gmond
gmond --default_config > /etc/ganglia/gmond.conf
2.
对于生成的默认配置文件需要做适当的修改
cluster {
name="cluster_name"#修改成服务进程里指定的集群名称
owner="nobody"#运行的用户
latlong="unspecified"
url="unspecified"
}
3.
开启服务
service gmond start
看见Starting GANGLIA gmetad: [ OK ]代表启动成功。
如果失败,可以讲gmond.conf中的debug有0改为100,查看更多的日志,然后进行排查。
非当前机器的客户端配置只需要将本地机器安装好的lib64下的文件复制过来即可,参考下面的脚本:
servers=("server_ip_1" "server_ip_2")
for i in ${servers[@]}
do
scp /usr/sbin/gmond $i:/usr/sbin/gmond
ssh $i mkdir -p /etc/ganglia/
ssh $i mkdir -p /usr/local/ganglia/lib64
ssh $i mkdir -p /usr/local/expat/lib
scp /etc/ganglia/gmond.conf $i:/etc/ganglia/
scp /etc/init.d/gmond $i:/etc/init.d/
scp -r /usr/local/ganglia/lib64/* $i:/usr/local/ganglia/lib64/
scp /usr/local/expat/lib/libexpat.so.1 $i:/usr/local/expat/lib/libexpat.so.1
scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/
done
主要需要修改的配置gmond.conf
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 = 239.2.11.71#注释掉这一行
host=xx.xx.xx.xx #集群中心节点的IP,也就是gmetad进程所在的机器,当前节点把数据发送到这个IP上
port = 8649
ttl = 1
}
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
#mcast_join = 239.2.11.71#注释掉这一行
port = 8649
bind = xx.xx.xx.xx#在监控页面显示这个IP(当前机器)
}
WEB程序配置:
用apache来运行php,需要以下依赖:php-common
php-cli php php-gd httpd
用nginx来运行php,需要安装php-fpm
安装web程序,这里假定apache的root路径在/var/www/html下面。
mkdir /var/www/html/ganglia
cp -a -f ganglia-3.2.0/web/* /var/www/html/ganglia
修改rrdtool的路径,文件/var/www/html/ganglia/conf.php中的RRDTOOL
define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");
重启apache服务器即可
Linux下Ganglia集群监控安装、配置笔记的更多相关文章
- 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例
centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...
- Linux下zookeeper集群搭建
Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...
- (Linux环境Kafka集群安装配置及常用命令
Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...
- (转)linux下weblogic12c集群的安装部署
本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...
- Linux下Hadoop集群环境的安装配置
1)安装Ubuntu或其他Linux系统: a)为减少错误,集群中的主机最好安装同一版本的Linux系统,我的是Ubuntu12.04. b)每个主机的登陆用户名也最好都一样,比如都是hadoop,不 ...
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...
- Nginx --Windows下和Linux下搭建集群小记
nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡 动静分离... 反向代理 : 先来了解正向代理:需要我们用户 ...
- linux 下nginx 集群CAS单点登录实现
1.单点登录服务器CAS应用配置于tomcat下. 1)key生成: keytool -genkey -alias mycas -keyalg RSA -keysize 2048 -keystore ...
- Linux下solr集群搭建
第一步:创建四个tomcat实例.每个tomcat运行在不同的端口.8180.8280.8380.8480 第二步:部署solr的war包.把单机版的solr工程复制到集群中的tomcat中. 第三步 ...
随机推荐
- 基于Helm和Operator的K8S应用管理的分享
一.为啥要用helm 对于一些微服务架构来说,会有不同的服务在上面运行,你可能要管理诸如deployment.service.有状态的Statefulset.权限的控制等等.你会发现,部署应用后还会有 ...
- 3月22 关于CSS
CSS(Cascading Style Sheep 叠层样式表,作用是美化HTML网页)/*注释内容*/ 为注释的方法. 样式表的分类: 1.内联样式表 和HTML联合显示,控制精确,但是可重用性差, ...
- 牛客练习赛32-D-MST+tarjin割边
链接:https://ac.nowcoder.com/acm/contest/272/D来源:牛客网 题目描述 小p和他的朋友约定好去游乐场游玩,但是他们到了游乐场后却互相找不到对方了. 游乐场可以看 ...
- Hadoop设置任务执行队列及优先级
Hive设置方法: SET mapreduce.job.queuename=root.up; SET mapreduce.job.priority=HIGH; set tez.queue.name=c ...
- Python爬虫原理
前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...
- linux查看主机最后启动时间
1.使用who查看最后重启时间 who -b 2.使用last查看近几次重启时间 last reboot 第一条即为最后一次重启日期 last其实是查询用户的登录记录,reboot是一个伪用户:也就是 ...
- Linux软件源书写格式解析及本地yum源制作
1.Debian类系统 配置文件:/etc/apt/sources.list 例子:deb https://mirrors.aliyun.com/kali kali-rolling main cont ...
- vs 编译库文件
vs编译的库文件 静态库 debug和release版本 需要分开编译,我编译和实践的结果. 但是我也发现有的debug release都用同一个(搞不清楚). 然后添加到工程应用. 静态库 附件 ...
- 微信小程序code 换取 session_key
code 换取 session_key 这是一个 HTTPS 接口,开发者服务器使用登录凭证 code 获取 session_key 和 openid.其中 session_key 是对用户数据进行 ...
- Win10系列:VC++调用自定义组件1
通过20.9.1小节中的代码和步骤编写了一个名为"FilePickerComponent"的WinRT组件,接下来将在上一小节所新建的项目基础上,继续介绍如何在不同的语言所编写的应 ...