社区版 FreedomBox/监控客户端
外观
由管理 FreedomBox 社区网络的技术志愿者组成的团队需要监控网络以发现维护问题。如果网络的某个组件(例如 Wi-Fi 接入点)脱机,则团队需要自动收到通知,以便立即进行纠正。此外,如果由于成员数量增加或互联网带宽不足导致网络出现瓶颈,他们需要通过添加带宽或更多硬件来解决这些问题。全面了解多少用户正在使用网络还可以帮助改善网络并规划其他网络。
本节介绍在 FreedomBox 服务器上设置监控客户端,该客户端负责收集各种参数,例如 CPU 使用率、内存使用率、网络中当前运行的接入点数量等。然后,它将这些信息连续发送到网络外部由网络管理员配置的服务器。然后,可以使用这些信息构建一个仪表板,当网络出现问题时,仪表板会向管理员发出警报。
FreedomBox 服务器充当监控网络中所有设备及其性能的中心点。这是通过在 FreedomBox 服务器上安装监控代理来实现的。
- 安装 collectd 及其依赖项。
apt install collectd-core liboping0
- 从 collectd 的示例目录复制 collectd 配置文件。
cp /usr/share/doc/collectd-core/examples/collectd.conf /etc/collectd/
- 编辑/etc/collectd/collectd.conf并更改以下行。
- 将主机名设置为社区 FreedomBox 的完整域名,该域名可从外部访问。这是必要的,因为可能存在多个社区网络可能将监控数据发送到管理员设置的单个监控服务器。主机名决定了如何为每个网络存储数据,而不会相互冲突。
Hostname "[mycommunity.domain]"
- 从示例复制到 的配置应该默认启用了以下插件。验证。
LoadPlugin conntrack LoadPlugin cpu LoadPlugin df LoadPlugin disk LoadPlugin interface LoadPlugin load LoadPlugin memory LoadPlugin processes LoadPlugin swap LoadPlugin uptime LoadPlugin users
- 启用 ping 插件,并将其配置设置为监控网络中的所有主机。对于网络中的每个主机(例如 Wi-Fi 接入点),在 ping 插件的配置中添加一个条目。包括一个互联网主机,例如“1.1.1.1”,以监控互联网连接。每个配置的主机都将每秒 ping 一次,以确定它们是否在网络中运行。
LoadPlugin ping <Plugin ping> Host "1.1.1.1" Host "10.42.0.4" Host "10.42.0.5" Interval 10 </Plugin>
- 使 collectd 连接到外部监控服务器并提供它执行的持续监控结果。启用一个插件以写入Graphite。Graphite 是管理员将在中央监控服务器上安装的监控设置中使用的服务器端软件(以及 Grafana 和 Carbon)。
LoadPlugin write_graphite <Plugin write_graphite> <Node "[remoteservername]"> Host "[myremoteserver.domain]" </Node> </Plugin>
- 将主机名设置为社区 FreedomBox 的完整域名,该域名可从外部访问。这是必要的,因为可能存在多个社区网络可能将监控数据发送到管理员设置的单个监控服务器。主机名决定了如何为每个网络存储数据,而不会相互冲突。
- 重新启动 collectd 服务以应用设置的配置。
systemctl restart collectd
在社区网络的 FreedomBox 服务器上完成监控设置后,它将开始向监控服务器发送数据。除非使用数据进行聚合,否则数据不会立即可用。然后,监控服务器的管理员应该为该社区网络发送的所有参数设置一个单独的仪表板。此外,应设置警报以在发送的数据中观察到意外结果时通知管理员。有关如何完成此操作的详细信息,请参阅有关设置监控服务器的部分。