您的位置:js12345金沙官网登入 > 网络编程 > 集群监控系统Ganglia应用案例

集群监控系统Ganglia应用案例

2020-04-05 22:29

总结

access {

于是停掉gmond,使用gmond -f -d 1启用调试模式,发现redis.py报错

2 集群节点管理器部署Ganglia

但是我发现gmond_python_modules这个repo下面已经没有redis模块了,于是查看git log,发现redis模块已经集成到ganglia源码包里了

js12345金沙官网登入 1

[PYTHON] Can't call the metric handler function for [connected_clients] in the python module [redis].Traceback (most recent call last):File “/opt/gmond/lib64/ganglia/python_modules/redis.py”, line 21, in metric_handlern, v = line.split(“:”)ValueError: need more than 1 value to unpack

——此时按下回车,将通过端口8651发送XML代码到集群节点管理器上的gmond守护进程,而gmetad守护进程使用RRDtool将这些信息存储在/var/lib/ganglia/rrds目录下。需要注意的是,rrds目录下及子目录比较多,如果监控的集群节点数大于50个节点,建议将此目录放在内存文件系统上,以减小磁盘I/O。如果告知gmond压缩的XML数据(在/etc/ganglia/gmond.conf文件中定义),将需要使用netcat来解压缩该XML数据,使其可以识别。命令为:nc localhost 8651 |gunzip。

查看上下文代码

port = 8651/*注释:此为端口号,通过它来传送系统信息。注意要和服务器端监听的端口一致。*/

再重启gmond,过一会就可以在ganglia看到数据了

——默认情况下,软件包使用Full View显示集群信息,单击 PhysicalView链接以便查看不同格式的相同数据。如果需要刷新数据,单击Get Fresh Data按钮,默认的刷新时间是300s,可以编辑config.php文件自行修改。在Last下拉列表中可以选择长达一年的有价值数据。Metric下拉列表中可以选取手机的性能度量,默认的是load_one,它代表集群节点上的一分钟平均负载(Load Average)。除此之外有bootime、byte、cpu、disk、lastsync、mem、network、nfs、swap等度量信息。

修改配置文件里的host和port两个参数为要监控redis的ip和端口,然后将两个文件复制到对应的目录下。

}

大概意思是把redis info命令输出的每一个非空行用:分割,但是我安装的redis版本是2.8+,info命令会输出类似#Server这样的注释,这样就导致按:分割失败,所以python报错,gmond取不到值。

——Ganglia Web允许你查看存储在RRDtool循环数据库中的性能度量的快照。Ganglia Web 软件包分成两部分:标题和节点快照,如图5和图6所示。下面结合一个集群的实例进行讲解。

所以解决方案也很简单,把上面那段代码修改成如下即可,也就是跳过空行和以#开头的行

——ganglia-webfront这个包默认将Web相关的代码安装在“/usr/share/ganglia-webfrontend/”路径下,这样Apache访问不到。可以直接将目录移到“/var/www/”目录下,或修改Apache的DocumentRoot路径,一旦完成修改需要重启Apache。

Ganglia主要用来监控系统性能的软件,通过曲线很容易见到每个节点的工作状态,对合理调整,分配系统资源,提高系统整体性能起到重要作用,支持浏览器方式访问,但不能监控节点硬件技术指标。Ganglia是分布式的监控系统。

图3Ganglia页面测试结果1

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

图6节点快照

前言

#service gmetad restart

解决方法

#telnet 127.0.0.1 8651

看了下ganglia在github上的代码,发现最新代码已经把这个bug修复了,只不过还没有release

6).Ganglia Web软件包

于是下载了源码包,搜索之后发现redis模块位于gmond/python_modules/db/redis.py,配置文件在gmond/python_modules/conf.d/redis.pyconf.disabled

js12345金沙官网登入 2

==========================================

js12345金沙官网登入,3).测试gmond进程

重启gmond,可以看到有redis的图出来了,但是数据却都是空的。

注意:在对gmond.conf和gmetad.conf文件做了修改或是修改了节点计算机名都需要重启这两个进程。

for line in info.splitlines()[1:]: if "" == line: continue n, v = line.split(":")

psh node1 service gmond start

Redis现在在业务中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,在搜索引擎搜索“ganglia监控redis”,发现都是13年的老文章,都是说要到_python_modules这个第三方插件库下载redis监控模块

pscp /usr/lib64/libganglia-3.1.7.so.0 node1:/usr/lib64/

for line in info.splitlines()[1:]: if "" == line or line[0] == '#': continue n, v = line.split(":")

#vi /etc/gmond.conf

图5 标题

mask = 32

——上文我们简单讲解了Ganglia是如何工作的,下面将讨论Ganglia Web的安装配置。首先,在集群节点上安装gmond,然后在集群节点管理器上安装gmetad和Ganglia Web软件包。准备工作如下:

pscp -r /usr/lib64/ganglia node1:/usr/lib64/

集群监控系统Ganglia应用案例

js12345金沙官网登入 3

4.总结

——以上内容详细介绍了Ganglia软件包的架构、安装方法以及Ganglia Web的配置,在长期使用中,笔者发现Ganglia也存在一些问题,例如:没有实现对被监控数据依权限查看;只有监视而没有必需的控制功能;没有实现更有弹性的、依据用户策略监控数据的选择性提取和汇集等问题。

下面为大家演示如何安装配置Ganglia

pscp /usr/lib64/libconfuse.so.0 node1:/usr/lib64/

tcp_accept_channel {

重启gmond服务

pscp /usr/lib64/libapr-1.so.0 node1:/usr/lib64/

default = "deny"

1 安装准备

图2测试gmond

图1  Ganglia监控体系结构

js12345金沙官网登入 4

本文由js12345金沙官网登入发布于网络编程,转载请注明出处:集群监控系统Ganglia应用案例

关键词: