首页 > 代码库 > Ganglia 调试技巧

Ganglia 调试技巧

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/gmetad stop
        /usr/sbin/gmetad -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