跳转至内容

Ganglia

来自 ArchWiki

Ganglia 是一个可扩展的分布式系统监控工具,适用于高性能计算系统,如集群和网格。它允许用户远程查看正在被监控的所有机器的实时或历史统计数据(如 CPU 平均负载或网络利用率)。

Ganglia Wiki 中可以找到开始使用 Ganglia 所需的所有信息。

安装

Ganglia 可以通过 gangliaAUR 软件包 安装,同时也可以安装其 Web 前端 ganglia-webAUR。对于无头系统,还有一个依赖项更少的版本,名为 ganglia-minimalAUR

Ganglia Web Interface

ganglia Web 前端在 AUR 上可以通过 ganglia-webAUR 软件包获得。

您还需要一个带有正常工作的 PHP 设置的 Web 服务器。下面的章节包含了一些示例设置。

请确保您的 /etc/php/php.ini 中的 open_basedir 设置包含了 /tmp/usr/share/webapps/var/lib/ganglia

Nginx with php-fpm

首先,安装 nginxphp-fpm 软件包。

其次,阅读 nginx 文章。注意其 nginx#FastCGI 以及后续的 php-fpm 部分。 nginx#nginx configuration 详细介绍了最小的 nginx.conf 配置。

nginx 的一个较旧的最小配置可能是这样的

/etc/nginx/nginx.conf
events {
  worker_connections  1024;
}

http {
  include mime.types;
  default_type application/octet-stream;

  upstream php {
    server unix:/run/php-fpm/php-fpm.sock;
  }

  server {
    listen 80 default_server;

    root /usr/share/webapps;
    index index.php;

    location ~ \.php$ {
      fastcgi_pass php;
      include fastcgi.conf;
    }
  }
}

然后 启动 gmetad.servicegmond.servicephp-fpm.servicenginx.service 服务。

访问 https:///ganglia 并检查您的设置是否正常工作。

故障排除

IP 地址绑定或不期望的主机名问题

如果在 gmond.confudp_send_channel 部分设置了 bind_hostname = yesgmond 守护进程将通过确定默认主机名的 IP 地址来决定绑定到哪个 **IP**(并在 XML 数据中报告)。您应该能够使用以下命令之一来重现此行为

$ hostname -i
$ host $(hostname)

要报告的 **主机名** 是通过询问系统为主机名查找选定的 IP 地址来确定的,以确保该主机名是网络上其他机器识别被监控机器的方式。

$ host <ip-address>

列表中顶部显示的主机名将由 gmond 报告,并在 Web UI 中显示。您可以通过修改 /etc/hosts/etc/nsswitch.conf 文件来影响返回的主机名。特别要注意的是,在 /etc/nsswitch.confhosts 行上将 myhostname 放在 dns 之前。这会导致 gmond 尝试绑定到 127.0.0.1 上的 UDP 端口,并导致加载失败。

如果您无法实现期望的行为,可以通过在 gmond.conf 文件中添加以下行到 globals 部分来覆盖主机名

globals {
  ...
  override_hostname = myhostname.mydomain
  override_ip = 127.0.0.2
}

参见