Collectd

collectd is a small daemon which collects system information periodically and provides mechanisms to store the values in a variety of ways.

  1. Configure collectd using the tools in Statistics → Setup section of the LuCI web interface.

By default, collectd saves its RRD data in /tmp/rrd which is a RAM-based directory, so its contents will be lost when the device reboots. To save the data across power failure/restarts, consider adding an external USB Drive and then configuring collectd to save the data to that new storage. Do this using the Output plugins → RRDTool tab in LuCI, configure the Storage directory, or the DataDir command of the <Plugin rrdtool> section of the collectd configuration file at /etc/collectd.conf.

opkg update
opkg install collectd
vi /etc/collectd.conf
/etc/init.d/collectd restart
# /etc/collectd.conf
BaseDir "/var/lib/collectd"
PIDFile "/var/run/collectd.pid"
Interval 30
ReadThreads 2
opkg update
opkg install collectd-mod-rrdtool collectd-mod-processes collectd-mod-interface
 
# /etc/collectd.conf
BaseDir "/var/run/collectd"
Include "/etc/collectd/conf.d"
PIDFile "/var/run/collectd.pid"
PluginDir "/usr/lib/collectd"
TypesDB "/usr/share/collectd/types.db"
Interval 30
ReadThreads 2
 
LoadPlugin cpu
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin processes
LoadPlugin rrdtool
LoadPlugin uptime
 
<Plugin interface>
	IgnoreSelected false
	Interface eth0
	Interface eth1
	Interface eth2
</Plugin>
 
<Plugin processes>
	Process uhttpd
	Process dnsmasq
	Process dropbear
</Plugin>
 
<Plugin rrdtool>
	DataDir "/tmp/rrd"
	RRARows 100
	RRASingle true
	RRATimespan 3600
	RRATimespan 86400
	RRATimespan 604800
	RRATimespan 2678400
	RRATimespan 31622400
</Plugin>
opkg update
opkg install collectd-mod-rrdtool collectd-mod-iptables collectd-mod-netlink
 
# /etc/collectd.conf
BaseDir "/var/lib/collectd"
PIDFile "/var/run/collectd.pid"
Interval 30
ReadThreads 2
 
LoadPlugin iptables
LoadPlugin netlink
LoadPlugin rrdtool
 
# Use only iptables filter
<Plugin iptables>
	chain mangle TC_USER1
	chain mangle TC_USER2
	chain mangle TC_USER3
</Plugin>
 
<Plugin netlink>
	VerboseInterface pppoe-dsl
	QDisc "pppoe-dsl" "hfsc-1:0"
	Class "pppoe-dsl" "hfsc-1:1"
	Class "pppoe-dsl" "hfsc-1:10"
	Class "pppoe-dsl" "hfsc-1:101"
	Class "pppoe-dsl" "hfsc-1:102"
	Class "pppoe-dsl" "hfsc-1:103"
	Class "pppoe-dsl" "hfsc-1:20"
	Class "pppoe-dsl" "hfsc-1:201"
	Class "pppoe-dsl" "hfsc-1:202"
	Class "pppoe-dsl" "hfsc-1:203"
	Class "pppoe-dsl" "hfsc-1:30"
	Class "pppoe-dsl" "hfsc-1:301"
	Class "pppoe-dsl" "hfsc-1:302"
	Class "pppoe-dsl" "hfsc-1:303"
	Class "pppoe-dsl" "hfsc-1:40"
	Class "pppoe-dsl" "hfsc-1:50"
</Plugin>
 
<Plugin rrdtool>
	DataDir "/mnt/storage/rrd"
	CacheTimeout 120
	CacheFlush 900
</Plugin>

A simple ping check by IP address.

opkg update
opkg install luci-app-statistics collectd-mod-ping
uci set luci_statistics.collectd_network.enable="1"
uci set luci_statistics.collectd_ping.enable="1"
uci set luci_statistics.collectd_ping.Hosts="8.8.8.8 8.8.4.4"
uci commit luci_statistics
/etc/init.d/luci_statistics restart
/etc/init.d/collectd restart
/etc/init.d/rpcd restart

Ping check by domain name. Note that collectd always prefers IPv6 if not specified otherwise.

uci set luci_statistics.collectd_ping.Hosts="openwrt.org"
uci set luci_statistics.collectd_ping.AddressFamily="ipv4"
uci commit luci_statistics
/etc/init.d/luci_statistics restart

Navigate to LuCI → Statistics → Graphs → Ping to see visualization results.

collectd is strictly a statistics collection service and does not provide any way to visualize the gathered data. To enable visualization of the gathered data, install and configure the packages luci-app-statistics and collectd-mod-rrdtool. The statistics gathered by collectd should then be viewable in the LuCI web interface.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2021/03/08 20:00
  • by vgaetera