集群监控_Ganglia使用入门

官网:
http://ganglia.info/
http://ganglia.github.io/
http://metrics.dropwizard.io/3.1.0/getting-started/

Ganglia简介

Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中收集。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次 结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。

组成模块

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界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。

安装使用

Ubuntu 14.04下测试安装

Client

安装

sudo apt-get install ganglia-monitor

配置

http://imcn.me/html/y2014/21624.html
sudo vim /etc/ganglia/gmond.conf
默认会使用多播的方式来处理消息消息,单播的方式来使用说明:

/* Feel free to specify as many udp_send_channels as you like. Gmond used to only support having a single channel */
udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}
修改为:
/* Feel free to specify as many udp_send_channels as you like. Gmond used to only support having a single channel */
udp_send_channel {
# mcast_join = 239.2.11.71
host = 192.168.56.10
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 = 239.2.11.71
}
修改为:
/* 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 = 239.2.11.71
#}

Server

安装使用

sudo apt-get install gmetad 

用户可以安装web界面,查看实时的监控信息。需要安装web服务器、php以及gweb程序。

sudo apt-get install apache2
sudo apt-get install php5 libapache2-mod-php5
sudo service apache2 restart

安装完成后测试相关的环境是否安装正确
在apache根目录(/var/www/html)下创建php脚本phpinfo.php,测试运行结果

<?php
    phpinfo();
?>

结果运行正确,安装gweb模块,安装过程中可能需要多次重启apache服务器

sudo apt-get install ganglia-webfrontend

服务配置

http://imcn.me/html/y2014/21624.html

基本的命令

gstat

查看当前集群的基本信息,gstat -l -n -a

gmetric

扩展模块

扩展基本原理

ganglia扩展可以通过以下两种方式实现:
1、通过添加带内(in-band)插件,主要是通过gmetric命令来实现。
这是通常使用的一种方法,主要是通过cronjob方法并调用Ganglia的gmetric命令来向gmond输入数据,进而实现统一监控,这种方法简单,对于少量的监控可以采用,但是对于大规模自定义监控时,监控数据难以统一管理。

2、通过添加一些其他来源的带外(out-of-band)欺骗,主要是通过C或者python接口来实现。
在Ganglia3.1.x版本以后,增加了C或者Python接口,通过这个接口可以自定义数据收集模块,并且这些模块可以被直接插入到gmond中以监控用户自定义的应用。

gmetric命令

python脚本扩展

java metrics

使用监控数据

如何在其他应用程序中使用Ganglia监控的数据?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值