collectd:监控服务器不显示客户端

collectd:监控服务器不显示客户端

我已经使用以下设置设置了一个监控服务器。

<Plugin network>
Listen "0.0.0.0" "25826"
</Plugin>

现在我的客户端正在向监控服务器发送数据(通过 tcpdump 验证)。甚至收集文件夹也显示数据正在被转储

/var/lib/collectd/rrd
[ec2-user at x rrd]$ ll
total 4
drwxr-xr-x 11 root root 4096 Nov 20 17:53 x-web-1.y.com
[ec2-user at x rrd]$

我还通过 find . -mmin 1 进行了验证,看它是否正在不断更新。

[ec2-user@x rrd]$ find . -mmin 1
./x-web-1.y.com/interface-eth0/if_errors.rrd
./x-web-1.y.com/interface-eth0/if_packets.rrd
./x-web-1.y.com/interface-eth0/if_octets.rrd
./x-web-1.y.com/disk-xvda1/disk_time.rrd
./x-web-1.y.com/disk-xvda1/disk_ops.rrd
./x-web-1.y.com/disk-xvda1/disk_octets.rrd
./x-web-1.y.com/disk-xvda1/disk_merged.rrd

但是当我通过 collectd-web 查找时,我没有看到客户端 在此处输入图片描述

我的设置可能存在什么问题?

答案1

发布的图似乎不是 collectd-web 的一部分。无论如何,Firefox 有一种缓存效果,阻止重建 collectd-web 菜单,包括主机列表。清理 Firefox 的缓存,然后重试。

答案2

如前所述,我在使用默认的 collectd.conf 文件时遇到了同样的问题,该文件将全局Host参数默认为localhost。我发现,如果任何客户端收集器使用相同的全局Host名称,这将使您的服务器收集器感到困惑,这通常可以通过日志文件中的错误证明,即在同一时间戳发生了太多更新。

解决方案是确保所有客户端都使用唯一的全局主机参数,此时收集服务器的 rrd 文件夹应填充包含带有捕获子内容的各个客户端主机名的文件夹。

答案3

我也遇到过这个问题。当我通过 Apache 为 collectd-web 提供服务时,而不是使用内置的 python 服务器(它工作正常),就会发生这种情况。

发生的情况是 apache 没有处理 collectd-web 中的 gci 文件。要修复此问题,您只需确保已安装 mod_gci,然后编辑文件/etc/apache2/sites-available以允许 apache 允许 collectd-web 文件夹中的配置覆盖:

<Directory /var/www/collectd-web>
  AllowOverride all
</Directory>

这将导致 apache 加载 collectd-web 的 .htacccess 文件(在cgi-bin文件夹中),其中包含执行 cgi 脚本的指令。

文档中提到了这个小问题:http://collectdweb.appspot.com/documentation/

不确定您是否也在使用 apache,但无论您使用哪种服务器:请检查 cgi 脚本是否正在被评估。否则,界面的动态部分将不会加载。

答案4

考虑切换到prometheus或其他最新的监控系统。

目前 collectd 甚至没有 ubuntu 22 LTS 包。

我们从 collectd 切换到 Prometheus。操作起来更加简单,选项也更多。

相关内容