本教程將重點介紹如何啟用 Collectd 守護程序的網絡插件,以便作為其他位於您網絡上不同伺服器上安裝的 Collectd 客戶端的集中監控伺服器。

該設置的要求是在您所在的主機上配置一個 Collectd 守護程序(具有 Collectd-web 接口),它將被啟用以伺服器模式運行,提供監控的中心點。其餘的被監控主機,運行 Collectd 守護程序,應該只配置為客戶端模式,以將它們收集的所有統計信息發送到中央單元。
需求
步驟 1: 啟用 Collectd 伺服器模式
1. 假設已經在您的機器上安裝了 Collectd 守護程序和 Collectd-web 接口,您需要採取的第一步是確保系統時間與您附近的時間伺服器同步。
要实现这个目标,您可以在您的计算机上安装ntp服务器,或者更方便的方法是通过 cron 定期执行ntpdate命令与本地时间服务器或您附近的公共时间服务器同步系统时间,可通过查询http://pool.ntp.org网站获取可用的ntp服务器。
因此,请安装ntpdate命令,如果系统中尚未安装,请执行以下命令与最接近的时间服务器进行时间同步:
# apt-get install ntpdate [On Debain based Systems] # yum install ntpdate [On RedHat based Systems] OR # dnf install ntpdate
# ntpdate 0.ro.pool.ntp.org
注意:请根据上述命令中的ntp服务器URL进行替换。

2. 接下来,通过以下命令将上述时间同步命令添加到crontab守护程序根文件中,以便在午夜定期执行:
# crontab -e
3. 一旦打开了根crontab文件进行编辑,添加以下行到文件底部,保存并退出,以激活计划:
@daily ntpdate 0.ro.pool.ntp.org

注意:重复这些步骤来同步网络中所有功能Collectd客户端实例的时间,以便使它们的系统时间与中央时间服务器对齐。
步骤2:在中央监控系统上配置Collectd为服务器模式
4. 为了将Collectd守护程序作为服务器运行并收集所有collectd客户端的统计信息,您需要启用Network插件。
网络插件的作用是监听默认的25826/UDP端口,并从客户端实例接收数据。因此,打开主要的collectd配置文件进行编辑,并取消注释以下语句:
# nano /etc/collectd/collectd.conf OR # nano /etc/collectd.conf
搜索并取消注释以下语句如下:
LoadPlugin logfile LoadPlugin syslog <Plugin logfile> LogLevel "info" File STDOUT Timestamp true PrintSeverity false </Plugin> <Plugin syslog> LogLevel info </Plugin> LoadPlugin network


现在,深入搜索文件内容,识别Network插件块,并取消注释以下语句,将Listen地址语句替换为以下摘录中呈现的形式:
<Plugin network> ... # server setup: <Listen "0.0.0.0" "25826"> </Listen> .... </Plugin>

5.编辑文件完成后,保存并关闭文件,然后重新启动Collectd服务以反映更改并成为监听所有网络接口的服务器。使用netstat命令获取Collectd网络套接字输出。
# service collectd restart or # systemctl restart collectd [For systemd init services]
# netstat –tulpn| grep collectd

Source:
https://www.tecmint.com/configure-collectd-as-central-monitoring-server-for-clients/