Ganglia

出自 ArchWiki

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

Ganglia Wiki 包含了开始使用 Ganglia 所需的所有信息。

安装

Ganglia 可以通过 安装 gangliaAUR 软件包以及 Web 前端 ganglia-webAUR安装。还有一个精简依赖版本,名为 ganglia-minimalAUR,适用于无头系统。

Ganglia Web 界面

Ganglia Web 前端在 AUR 上以 ganglia-webAUR 软件包的形式提供。

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

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

使用 php-fpm 的 Nginx

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

其次,阅读 nginx 文章。注意其 nginx#FastCGI 和后续的 php-fpm 章节。nginx#nginx 配置 详细说明了要使用的最小 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://127.0.0.1/ganglia 并检查您的设置是否正常工作。

故障排除

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

如果在 gmond.confudp_send_channel 部分中 bind_hostname = yes,则 gmond 守护程序将通过确定默认主机名的 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 端口,并且它将无法加载。

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

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

参见