Ganglia
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
其次,阅读 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.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 端口,并且它将无法加载。
如果您无法实现所需的行为,则可以通过将以下行添加到 globals 部分来覆盖 gmond.conf 文件中的主机名
globals {
...
override_hostname = myhostname.mydomain
override_ip = 127.0.0.2
}
参见
- 解释 IP 和主机名查找的电子邮件交流: https://www.mail-archive.com/ganglia-general@lists.sourceforge.net/msg01885.html