Re-enable the nut plugin (remove BROKEN mark).
Nut itself has been patched to provide better compatible time_t.
I have not not run-tested the plugin, so it is still possible that
the fixes from upstream collectd PR 4043 are still needed.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Temporarily disable nut plugin by marking it BROKEN.
Apparently the upstream collectd plugin is not yet compatible
with nut 2.8.0.
I tried the upstream PR 4043, but it does not help, as it
apparently requires at least one specific UPS type to be
defined/compiled.
nut . . . . . . . . . no (required data types for
NUT API were not detected) (dependency error)
If there is a requirement to specify some UPS data type when
compiling nut, it might be problematic for the generic OpenWrt
buildbot context.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
The network plugin from collectd also has the option to encrypt the
metrics when sending them to another server. Until now, this was not
possible via the UCI. This commit adds that feature.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
- Handle bool values correctly. We get the values as bool, but collectd
requires a bool value to be numeric in the range [0, 1].
- Remove profile and mode values. Those are strings, which cannot be
represented by collectd.
- Update collectd type for some values.
- Fix latn value being present twice.
Signed-off-by: Dominik Riebeling <bluebrother@posteo.de>
write_http plugin is already built and shipped in
collectd-mod-write_http, however it is not possible to configure it via
uci currently, instead having to rely on populating the config file manually.
Add support by adding 2 functions, process_write_http() and
process_write_http_node(). First one just enables/disables the plugin.
The second one, in the spirit of the curl plugin, adds support for
populating multiple <Node> elements under <Plugin write_http> with
support for a few parameters. Those are:
* name. The name of the <Node>. Mandatory
* URL. Mandatory
* Format. Optional.
* User. Optional.
* Password. Optional.
* Timeout. Optional.
* BufferSize. Optional.
Signed-off-by: Alexandros Kosiaris <akosiaris@gmail.com>
The function udev_enumarte_scan_devices returns a value less than 0 on
failure. If this is the case then we terminate the read for this smart
information.
This change was already send upstream. And could be delete in feature
collectd versions.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This was not a real fix but a workaround. It is no longer clear to me
why this was necessary. Deleting the patch restores the upstream
behaviour of the collected for the smart plugin. I have tested it and on
my system the hard disk to be monitored is recognised.
root@system ~ # cat /sys/class/block/sda/uevent
MAJOR=8
MINOR=0
DEVNAME=sda
DEVTYPE=disk
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Base collectd doesn't require libip4tc as stated in the collectd git:
* libiptc (optional)
For querying iptables counters
<http://netfilter.org/>
And libip4tc is already added as a dependency in the iptables plugin
because it needs it, so remove this dependency from the default collectd
to make it compatible with the new nftables firewall4 (by not selecting
any iptables components).
Signed-off-by: Tiago Gaspar <tiagogaspar8@gmail.com>
There can be only 1 parent process ID, so as soon as we find it, print
it and exit - there's no point searching any of the following lines
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
If the master collectd instance gets shut down in an uncontrolled
manner (crashes!) then sqm_collect scripts will be left orphaned and
will run forever.
Modify script to check if it still has a parent and if not, exit.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Change the sensors plugin's dependency from libsensors
to lm-sensors, so that also the /usr/sbin/sensors executable
gets installed if the plugin is selected.
Although that is not needed for collectd itself,
the LuCI statistics app expects to find the sensors executable
if the plugin has been installed.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Enables the compiler option that collectd is compiled with
debugging support. This is used at development stages to get
more messages from the collectd during development.
This option is default disabled.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
On my system the attribute DEVTYPE was not set. The plugin could not
read any data and the function call blocked forever on this function and did
not returned. By removing it, all block devices under `/sys/class/block`
were checked.
Block devices that do not support SMART were not evaluated. The
collected displays the following message.
smart plugin: checking SMART status of /dev/loop4.
smart plugin: unable to open /dev/loop4.
If you do not like this message, you could only enable device in the uci that
does support SMART.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
The crude loop I wrote to come up with this changeset:
find -L package/feeds/packages/ -name patches | \
sed 's/patches$/refresh/' | sort | xargs make
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Add "ipstatistics"-plugin. This plugin parses "/proc/net/netstat" and
"/proc/net/snmp6" to get the overall ipv4 and ipv6 usage.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Getifaddrs() is not working all the time (e.g. wireguard interfaces).
Instead we use if_nameindex() syscall as suggested in:
https://stackoverflow.com/a/45796495/8474618
Signed-off-by: Nick Hainke <vincent@systemli.org>
Count the current dhcpleases. Currently, we use a bash script
that does the same job (Freifunk Berlin). We want to use native
collectd plugin for that.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Update collectd to version 5.12.0.
* Refresh patches
* Remove upstreamed patch 920-fix-ubi-data-source-type.patch
* Backport a patch from upstream to fix a missing define
(920-backport-netlink-reg-noerror.patch)
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Currently the init script generates a config file from uci, that has the
include line before the interval line. This means, that anything happening
in the include directory does not yet see the changed Interval.
Moving the include line before the uci generation process fix this issue.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Currently the values are stored in the ubi plugin as data source type
`counter`. But this makes no sense, because the values change very slowly
and I don't want to know the rate of change. It is better to store the
value as data source type `gauge`. Then I can see the current value.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>