Michael Tremer [Mon, 14 Dec 2015 21:54:47 +0000 (22:54 +0100)]
Add some magic to collecty that makes the graph templates smaller
This patch will automatically add DEFs for all DSes in a
RR database. For all DEFs and CDEFs will be VDEFs generated
with the current, minimum and maximum values.
That reduces the size of the RRD graph templates massively
and makes them better readable and editable.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 26 Oct 2015 23:57:58 +0000 (00:57 +0100)]
Add graph info functionality
The GraphInfo interface will return some basic information about
a graph (like title, etc.) and can be extended in the future.
This patch also changed the return value of the GenerateGraph
interface which is now a dictionary which is more extensible
and comes with some metrics about the graph now.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 26 Oct 2015 13:26:22 +0000 (14:26 +0100)]
latency: Don't show full packet loss in background
If a system has no connectivity to either IPv6 or IPv4 the background
will turn dark because 100% packet loss is detected.
We will now only paint the background dark for packet loss up to
99% and for 100% packet loss the line will not be continued so that
this is easily readable, too.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 23 Oct 2015 20:09:56 +0000 (22:09 +0200)]
Enforce running with UTC
collecty records all data in UTC and writes them to the database
in UTC as well. When the system uses a different timezone the database
"corrects" the timestamps what we don't want here. Hence we force
resetting the timezone to UTC.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Jun 2015 20:49:02 +0000 (20:49 +0000)]
latency: Rewrite latency module
This patch replaces the builtin python implementation
that pinged hosts by a Python C module that uses liboping.
liboping is able to ping IPv6 hosts as well and should
implement the ICMP protocol more appropriately.
The graph has been extended so that hosts will have a
line for latency over IPv6 and IPv4 if available and
the packet loss is merged from both protocols, too.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 6 Jun 2015 11:47:18 +0000 (11:47 +0000)]
daemon: Don't wait until the worker thread has finished after sending shutdown signal
There is no need to wait for each worker thread individually.
Instead we send all worker threads the shutdown signal and
wait after that until they all have finished.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 27 May 2015 23:07:55 +0000 (23:07 +0000)]
Generate graphs in memory
Remove Python 2 hack that created a temporary file on disk
in which the graph was written and then read the file content
back in. The Python 3 module allows us to write the graph
directly into a buffer.
Michael Tremer [Tue, 26 May 2015 17:18:38 +0000 (17:18 +0000)]
Implement worker thread concept
The threading model has been move from the plugins into
a worker thread model that has a constant number of threads
and should therefore waste even less resources.
Michael Tremer [Mon, 25 May 2015 20:56:09 +0000 (20:56 +0000)]
Add sensors plugin
This plugin uses the lm_sensors library to monitor
all sorts of internal sensors of a system. Those
could be temperature sensors, fan sensors or
voltage sensors.
Michael Tremer [Sun, 10 May 2015 18:46:20 +0000 (18:46 +0000)]
Change default image format to SVG
SVG is much better scalable and much faster to generate.
It can be resized and exported very well and therefore is
our preferred choice for graph images for now.
The image format can be requested when generating a graph
image.
Michael Tremer [Sat, 9 May 2015 12:46:53 +0000 (12:46 +0000)]
Add conntrack plugin
This plugin monitors the connection table and collects
statistics about the usage of layer 3 protocols and uppper
layers. For stateful protocols like TCP, statistics about
the states are collected as well.
Michael Tremer [Fri, 8 May 2015 14:20:02 +0000 (14:20 +0000)]
Rewrite plugin architecture
The plugin architecture has been rewritten so that there
is now one thread for each plugin and not for each object
any more. The objects are now processed in a queue and
the results are stored in a write cache module that writes
data to the RRD databases regularly or when needed.
This enables us to achieve our goal for a zeroconf approach
much better because every time data is collected it is scanned
for the available disks or interfaces or what ever is monitored
again.
Michael Tremer [Tue, 5 May 2015 17:16:33 +0000 (17:16 +0000)]
Remove support for reading configuration files
We are trying for a zero-conf approach here because we
assume that a system is constantly changing and therefore
is a static configuration almost a hundred percent useless.