Ganglia 入门介绍及解决fsockopen error: Connection refused问题
一,问题描述
Ganglia的各个组件安装情况(不是我装的,只知道这些信息):
集群一共有4台机器,分别是192.168.121.34-37。Gmetad、Gweb和httpd 安装在 192.168.121.34 上;Gmond安装在34,35,36,37机器上。
访问Ganglia-web主页:http://192.168.121.34/ganglia-web/ 出现如下错误:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused
查看gmetad状态,提示:gmetad dead but subsys locked
而查看192.168.121.34、35、36、37 上的gmond状态:service gmond status ,都是正常的:gmond (pid 30260) is running...
这篇文章说是/var/lib/ganglia/rrds/ 目录存在权限的问题:说是用户权限为nobody,组权限是root。
但是我的这个目录用户权限就是nobody,组权限就是root。因此,与之无关。
在192.168.121.35机器上 运行:telnet 192.168.121.34 8652 提示: Connection refused
在root用户下使用:netstat -anp | grep 8652 未找到任何关于8652端口的信息。
其他文章中说的各种修改配置文件的问题,未尝试。
后面发现rrds目录太大了,整个分区已经占了97%了。
安装的集群HDFS也报磁盘空间不足警告。清理一下磁盘之后:
然后再重启gmetad服务(service gmetad restart),居然就好了。真是奇怪。
此时,访问Ganglia-web主页 就能看到各种监控图片了。
二,Ganglia的一些基础知识
①Ganglia监控系统主要由三部分组成,gmond、gmetad、和 web接口(ganglia-web)。
gmond安装在每一台待监控的机器上,负责收集各种监控指标,它即可以是sender,也可以是receiver。也就是说:它即可以收集本机上的一些监控指标(metrics,比如cpu利用率、系统负载),也可以把它收集到的信息发送给安装在其他机器上的gmond。
gmetad周期性地轮询各个gmond,将各个gmond收集到的监控指标(metric)存储到RDD文件中。
ganglia-web需要与gmetad安装在同一台机器上,因为它需要访问gmetad的RDD文件,从而将RDD文件中的各种指标以web界面的形式展示出来。
②默认情况下,gmond使用UDP端口8649通信,gmetad使用TCP端口8649从各种gmond中下载监控指标(metric)。
其他一些基础参考:https://github.com/ganglia/monitor-core/wiki/Ganglia-Quick-Start
里面还介绍了如何安装 Ganglia 监控多个集群。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端