Ganglia 调试技巧
转自:http://blog.csdn.net/xxd851116/article/details/25109043
Gmond
# 检查Gmond服务是否正在运行,发出如下命令:ps aux | grep gmond
输出:
root 8046 0.0 0.0 103244 844 pts/0 S+ 09:38 0:00 grep gmond
nobody 25759 1.8 1.0 206388 82356 ? Ssl Apr28 208:45 /usr/local/sbin/gmond --conf=/etc/ganglia/gmond.conf
# 停止Gmond服务,通过Debug模式启动服务
/etc/init.d/gmond stop
/usr/sbin/gmond -d 2
然后寻找接近顶部的错误
# 尝试用netcat(网络查看工具)从gmond守护进程中读取XML数据
nc <hostname> 8649
# 确认在gmetad和gmond(或者多播模式下gmond和其他gmond)之间的UDP连接是否建立,可以在问题机器上运行下面的命令:
nc -u -l 8653
然后再在gmetad或者其他的gmond服务器上执行下面的命令:
echo "hello"|nc -u <hostname> 8653
# 用 /usr/bin/gstat -a 检查gmond数据(gstat -a试试看)
Gmetad
# 检查Gmetad服务是否正在运行,发出如下命令:ps aux | grep gmetad
# 检查系统错误日志
tail /var/log/messages
# 停止gmetad服务并在调试模式下运行gmetad
/etc/init.d/gmetad stop
/usr/sbin/gmetad -d 2
然后寻找接近顶部的错误
# 确保“nobody”(在 Debian/Ubuntu 中的Ganglia 用户)是“/var/lib/ganglia”目录和及所有子目录的拥有者,并且具有写权限
# 用netcat(网络查看工具)从gmetad守护进程中读取XML数据
nc <hostname> 8650
这个信息对提交错误报告是非常有用的。
Web
# 监控Web错误日志,PHP错误会出现在这里:
tail -f /var/log/apache2/error_log
# 确保配置 conf.php 是正确的。如果你是从源码中安装的,你不仅仅拷贝 web/ 目录,重命名 conf.php.in 和 version.php.in 文件,文件中有些变量需要设置。运行“make -C web conf.php version.php” 或 手动修改这些变量(只有两处,并且都有@符号)。
翻译自:http://sourceforge.net/apps/trac/ganglia/wiki/FAQ