Ganglia
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
其次,阅读 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.service、gmond.service、php-fpm.service 和 nginx.service 服务。
访问 https:///ganglia 并检查您的设置是否正常工作。
故障排除
IP 地址绑定或不期望的主机名问题
如果在 gmond.conf 的 udp_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.conf 的 hosts 行上将 myhostname 放在 dns 之前。这会导致 gmond 尝试绑定到 127.0.0.1 上的 UDP 端口,并导致加载失败。
如果您无法实现期望的行为,可以通过在 gmond.conf 文件中添加以下行到 globals 部分来覆盖主机名
globals {
...
override_hostname = myhostname.mydomain
override_ip = 127.0.0.2
}
参见
- 解释 IP 和主机名查找的电子邮件交流: https://www.mail-archive.com/ganglia-general@lists.sourceforge.net/msg01885.html