开源监控软件Ganglia 安装使用

1、ganglia简介

Ganglia 是一款为 HPC(高性能计算)集群而设计的可扩展的分布式监控系统,它可以监视和显示集群中的节点的各种状态信息,它由运行在各个节点上的 gmond 守护进程来采集 CPU 、内存、硬盘利用率、 I/O 负载、网络流量情况等方面的数据,然后汇总到 gmetad守护进程下,使用 rrdtool 存储数据,最后将历史数据以曲线方式通过 PHP 页面呈现。

Ganglia 的特点如下:

良好的扩展性,分层架构设计能够适应大规模服务器集群的需要

负载开销低,支持高并发

广泛支持各种操作系统( UNIX 等)和 cpu 架构,支持虚拟

 2、ganglia组成

Ganglia 监控系统有三部分组成,分别是 gmond、 gmetad、 webfrontend,作用如下。

gmond: 即为 ganglia monitoring daemon,是一个守护进程,运行在每一个需要监测的节点上,用于收集本节点的信息并发送到其他节点,同时也接收其他节点发过了的数据,默认的监听端口为 8649。

gmetad: 即为 ganglia meta daemon,是一个守护进程,运行在一个数据汇聚节点上,定期检查每个监测节点的 gmond 进程并从那里获取数据,然后将数据指标存储在本地 RRD 存储引擎中。

webfrontend: 是一个基于 web 的图形化监控界面,需要和 Gmetad 安装在同一个节点上,它从 gmetad 取数据,并且读取 RRD 数据库,通过 rrdtool 生成图表,用于前台展示,界面美观、丰富,功能强大。下图是其结构

wKiom1e6kSGhJFy-AAE5HmmnynE120.png

服务器端  172.16.80.117    

客户端    172.16.80.117 172.16.80.116 

3、ganglia的安装

4、再次访问测试

wKioL1e6wAXB1fl1AAIDhE_zm6U167.png

这里是整个集群的一个总的汇总图,而不是单台服务器的图,下面我们打开单台服务器的图看看

wKioL1e6wRGiE1uGAAGQKOfS9EE696.png

再来看看对同一指标,每台服务器一起显示的图

wKiom1e64UTDTxRbAAD4QHpvi9k830.png

5、扩展 Ganglia 监控功能的方法

默认安装完成的 Ganglia 仅向我们提供基础的系统监控信息,通过 Ganglia 插件可以实现两种扩展 Ganglia 监控功能的方法。

1) 添加带内( in-band)插件,主要是通过 gmetric 命令来实现。

这是通常使用的一种方法,主要是通过 crontab 方法并调用 Ganglia 的 gmetric 命令来向gmond 输入数据,进而实现统一监控。这种方法简单,对于少量的监控可以采用,但是对于大规模自定义监控时,监控数据难以统一管理。

2) 添加一些其他来源的带外( out-of-band)插件,主要是通过 C 或者 Python 接口来实现。

在 Ganglia3.1.x 版本以后,增加了 C 或 Python 接口,通过这个接口可以自定义数据收集模块,并且可以将这些模块直接插入到 gmond 中以监控用户自定义的应用。

这里我们举例通过带外扩展的方式 来监控nginx的运行状态

完成上面的所有步骤后,重启 Ganglia 客户端 gmond 服务,在客户端通过“ gmond–m”

命令可以查看支持的模板,最后就可以在 Ganglia web 界面查看 Nginx 的运行状态

wKiom1e64ETy0i4bAABCkcT-BZU408.png

wKiom1e64LKB03gLAAHlpu6rWg4509.png

下面关于Ganglia的文章您也可能喜欢,不妨参考下:

猜你喜欢

转载自www.linuxidc.com/Linux/2016-08/134668.htm