我已经使用以下设置设置了一个监控服务器。
<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。操作起来更加简单,选项也更多。