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://127.0.0.1/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