We currently have more package architectures supporting
CPU frequency scaling than earlier, and the package architecture
vs. CPU target SDK matching does not fully reflect that.
(E.g. aarch64_cortex-a53 is currently using bcm27xx/bcm2710)
Simplify things by removing the target dependency and let the plugin
be built for all architectures.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Fix missing dependencies for 'collectd-mod-disk' to 'libudev' if
collectd-mod-smart is not enabled.
Package collectd-mod-disk is missing dependencies for the following
libraries:
libudev.so.1
The package 'collect-mod-disk' is now build always with 'libudev' support,
independent of the enable/disable build state of 'collectd-mod-smart'.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
If 'collectd-mod-smart' is not enabled, the use of lubudev does not need
to be explicitly disabled. This library could be a dependency for other
modules in the future. If this is explicitly disabled, then the other
module cannot be built.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
mqtt plugin is already built and shipped in
collectd-mod-mqtt, 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_mqtt() and
process_mqtt_block(). First one just enables/disables the plugin.
The second one, in the spirit of the curl plugin, adds support for
populating multiple <Publish> and <Subscribe> blocks under <Plugin mqtt>
with support for some parameters. Those are:
* blocktype. Publish or Subscribe. Mandatory
* name. The name of the block. Mandatory
* Host. Mandatory
* Port. Optional
* User. Optional
* Password. Optional
* ClientId. Optional
* QoS. Optional
* Prefix. Optional
* Retain. Optional
* StoreRates. Optional
* CleanSession. Optional
* Topic. Optional
Bump PKG_RELEASE per comments in PR
Signed-off-by: Alexandros Kosiaris <akosiaris@gmail.com>
The 'ipq807x' target was renamed to be 'qualcommax' (and ipq807x was
set as subtarget). Adjust plugin target dependencies to this renaming.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
armvirt target has been renamed to armsr (Arm SystemReady) [1],
so the dependency need to be changed as well.
1. 40b02a2301
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
See commit 5c545bdb "treewide: replace PKG_USE_MIPS16:=0 with
PKG_BUILD_FLAGS:=no-mips16" on the main repository.
Signed-off-by: Andre Heider <a.heider@gmail.com>
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>