Sven Trenkel [Sun, 11 Oct 2009 01:47:39 +0000 (03:47 +0200)]
Added keyword support for register_config.
Sven Trenkel [Sun, 11 Oct 2009 01:28:07 +0000 (03:28 +0200)]
Added python plugin.
It adds a "collectd" module to the embedded python interpreter
which contains a "register_config" method to register config
callbacks and "Config" class which contains a config item.
Sven Trenkel [Thu, 1 Oct 2009 11:20:53 +0000 (13:20 +0200)]
Added new netapp data types to types.db.
Doug MacEachern [Thu, 1 Oct 2009 00:28:08 +0000 (17:28 -0700)]
include netinet/in.h for sockaddr_in on FreeBSD
Fixes:
common.c: In function 'service_name_to_port_number':
common.c:1112: error: dereferencing pointer to incomplete type
common.c:1119: error: dereferencing pointer to incomplete type
Florian Forster [Wed, 30 Sep 2009 16:20:32 +0000 (18:20 +0200)]
Merge branch 'st/netapp'
Florian Forster [Wed, 30 Sep 2009 16:16:15 +0000 (18:16 +0200)]
netapp plugin: Subtract snap_norm_used from norm_used in any case.
Florian Forster [Wed, 30 Sep 2009 15:51:17 +0000 (17:51 +0200)]
collectd.conf(5): Updated the “GetSnapshot” entry.
Florian Forster [Wed, 30 Sep 2009 15:49:54 +0000 (17:49 +0200)]
netapp plugin: Use the “volume-” prefix for all volume related data.
Florian Forster [Wed, 30 Sep 2009 13:30:07 +0000 (15:30 +0200)]
netapp plugin: Create a notification when a volume goes offline or comes back.
Florian Forster [Wed, 30 Sep 2009 13:29:30 +0000 (15:29 +0200)]
netapp plugin: cna_handle_volume_snap_usage: Explain what's going on in a comment.
Sven Trenkel [Wed, 30 Sep 2009 12:13:44 +0000 (14:13 +0200)]
Fixed VolumePerf data collection.
Sven Trenkel [Wed, 30 Sep 2009 10:17:55 +0000 (12:17 +0200)]
Merge commit 'remotes/octo/st/netapp' into st/netapp
Sven Trenkel [Wed, 30 Sep 2009 10:17:39 +0000 (12:17 +0200)]
Added snapshot usage stats.
Florian Forster [Wed, 30 Sep 2009 08:59:30 +0000 (10:59 +0200)]
Build system: Link the netapp plugin with libnetapp.
D'oh! ;)
Florian Forster [Wed, 30 Sep 2009 06:11:10 +0000 (08:11 +0200)]
netapp plugin: Don't access a struct after freeing it.
Thanks Sven :)
Florian Forster [Tue, 29 Sep 2009 14:51:45 +0000 (16:51 +0200)]
netapp plugin: Add a shutdown callback.
Florian Forster [Tue, 29 Sep 2009 14:50:22 +0000 (16:50 +0200)]
netapp plugin: free_host_config: Close the connection if applicable.
Florian Forster [Tue, 29 Sep 2009 14:44:49 +0000 (16:44 +0200)]
collectd.conf(5): Document the “Interval” option in all blocks of the netapp plugin.
Florian Forster [Tue, 29 Sep 2009 14:37:48 +0000 (16:37 +0200)]
netapp plugin: Rename the “Capacity” and “Snapshot” options again.
They've been renamed to “GetCapacity” and “GetSnapshot” so the
names used within the “VolumeUsage” block are the same as the names
used elsewhere in the plugin.
Florian Forster [Tue, 29 Sep 2009 14:31:35 +0000 (16:31 +0200)]
netapp plugin: Remove left-over references to volume_t.
Florian Forster [Tue, 29 Sep 2009 14:29:30 +0000 (16:29 +0200)]
netapp plugin: Remove all left-over references to cfg_service_t.
Florian Forster [Tue, 29 Sep 2009 14:24:40 +0000 (16:24 +0200)]
netapp plugin: Refactor the VolumePerf collection.
Same procedure one last time. The “GetVolumePerfData” block has been
renamed to “VolumePerf”. The “Get{IO,Ops,Latency}” options now
use ignore lists, too. Appropriate “IgnoreSelected{IO,Ops,Latency}”
options have been introduced.
Florian Forster [Tue, 29 Sep 2009 13:53:12 +0000 (15:53 +0200)]
netapp plugin: Set the HAVE_VOLUME_USAGE_SIS_SAVED after determining the value.
Florian Forster [Tue, 29 Sep 2009 13:51:07 +0000 (15:51 +0200)]
netapp plugin: Fix handling of the SIS value.
Florian Forster [Tue, 29 Sep 2009 12:33:15 +0000 (14:33 +0200)]
netapp plugin: Refactored volume usage statistics.
Much of this is like disk, wafl and system statistics before. The
“GetVolumeData” has been renamed to “VolumeUsage” and the
“GetDiskUtil” and “GetSnapUtil” options have been changed, too. The
configuration now looks like this:
<VolumeUsage>
Capacity "vol0"
Capacity "vol1"
IgnoreSelectedCapacity false
Snapshot "vol1"
Snapshot "vol3"
IgnoreSelectedSnapshot false
</VolumeUsage>
The code now uses to "ignore lists" to check whether capacity and/or
snapshot information should be collected for a volume. This means the
order in which volumes are listed no longer matters and than you can
use such advanced options as selecting volumes via regular expressions.
Sven Trenkel [Mon, 28 Sep 2009 23:02:48 +0000 (01:02 +0200)]
Fixed NULL pointer bug.
Florian Forster [Mon, 28 Sep 2009 14:05:55 +0000 (16:05 +0200)]
netapp plugin: Inform the user when he screwed up the disk and system blocks, too.
Florian Forster [Mon, 28 Sep 2009 13:56:26 +0000 (15:56 +0200)]
netapp plugin: Print a notice if all WAFL values have been disabled.
This message is printed if the user did supply a <WAFL /> block but
then disabled all supported values. WAFL collection will be disabled
in this case to increase performance.
Florian Forster [Mon, 28 Sep 2009 13:45:13 +0000 (15:45 +0200)]
netapp plugin: Document the graceful return if statistics are not wanted.
Unfortunately this behavior isn't exactly obvious.
Florian Forster [Mon, 28 Sep 2009 13:42:42 +0000 (15:42 +0200)]
netapp plugin: Refactor system statistics.
Same procedure as before: Instead of using the “service handler”,
create a cfg_system_t pointer if the user wants system statistics. Then
call cna_query_system instead of the service handler.
The “GetSystemPerfData” block has been renamed to “System” and the
“Multiplier” option has been replaced by the “Interval” option.
Florian Forster [Mon, 28 Sep 2009 12:43:37 +0000 (14:43 +0200)]
Merge remote branch 'trenkel/st/netapp' into st/netapp
Florian Forster [Mon, 28 Sep 2009 12:41:10 +0000 (14:41 +0200)]
netapp plugin: Refactor handling of the WAFL data.
Basically the same structure as for the Disk data has been used. The
service handler has been removed and replaced by a call to
“cna_query_wafl”.
The “GetWaflPerfData” block has been renamed to “WAFL” to make the
config file easier to read. The “GetBufCache” config option has been
renamed to “GetBufferCache”. Maybe it should be renamed to
“GetBufferHash”, because that's what the NetApp API uses…?
Sven Trenkel [Mon, 28 Sep 2009 11:57:46 +0000 (13:57 +0200)]
Merge commit 'octo/st/netapp' into st/netapp
Florian Forster [Mon, 28 Sep 2009 11:27:13 +0000 (13:27 +0200)]
netapp plugin: Changed Sven's email address at his request.
Florian Forster [Mon, 28 Sep 2009 11:26:34 +0000 (13:26 +0200)]
netapp plugin: Refactored reading of disk data.
Instead of obscuring control-flow with generic function pointers, use a
clear and easy to read function hierarchy. All disk-related action now
starts with “cna_query_disk (host)” instead of
“service->handler (host, data, service->data)”.
The “GetDiskPerfData”block has been renamed to “Disks”. All those
blocks start with “Get” and most end with “PerfData”, distracting
from the actual relevant part.
The “Multiplier” option has been replaced by the “Interval” option,
which expects a time in seconds rather than a factor which is multiplied
to the host interval.
Florian Forster [Mon, 28 Sep 2009 11:14:12 +0000 (13:14 +0200)]
netapp plugin: Fix a typo.
Sven Trenkel [Mon, 28 Sep 2009 10:40:44 +0000 (12:40 +0200)]
Copypasta error in volume usage.
Florian Forster [Mon, 28 Sep 2009 09:59:59 +0000 (11:59 +0200)]
netapp plugin: cna_config_disk: Fix typo.
Sven Trenkel [Sat, 26 Sep 2009 23:39:40 +0000 (01:39 +0200)]
Preparations for collecting snapshot data,
fixed NULL pointer bug,
removed duplicate error message.
Florian Forster [Sat, 26 Sep 2009 09:27:33 +0000 (11:27 +0200)]
netapp plugin: cna_init: Add some comments.
Sven Trenkel [Sat, 26 Sep 2009 01:27:41 +0000 (03:27 +0200)]
Don't try to graph operations that aren't licensed
on this filer.
Doug MacEachern [Fri, 25 Sep 2009 20:25:47 +0000 (13:25 -0700)]
redirect sysctl kern.cp_times stderr > /dev/null
Doug MacEachern [Fri, 25 Sep 2009 20:03:41 +0000 (13:03 -0700)]
use kern.cp_times sysctl for FreeBSD smp support
Doug MacEachern [Fri, 25 Sep 2009 20:02:26 +0000 (13:02 -0700)]
define HAVE_SYSCTL_KERN_CP_TIMES if sysctl supports kern.cp_times
Florian Forster [Thu, 24 Sep 2009 16:03:51 +0000 (18:03 +0200)]
netapp plugin: Improved handling host <Host /> blocks.
Use the new "cf_util_get_string" and "cf_util_get_port_number" functions
and free the host configuration if it fails.
The "Login" option has been split up into the "User" and "Password" options.
Florian Forster [Thu, 24 Sep 2009 15:54:21 +0000 (17:54 +0200)]
netapp plugin: Rename set_global_{perf_,}vol_flag.
Hopefully the new names are more descriptive.
Florian Forster [Thu, 24 Sep 2009 15:38:02 +0000 (17:38 +0200)]
src/configfile.[ch]: Implement "cf_util_get_port_number".
Florian Forster [Thu, 24 Sep 2009 15:37:25 +0000 (17:37 +0200)]
tokyotyrant plugin: Remove no longer needed includes.
Florian Forster [Thu, 24 Sep 2009 15:32:29 +0000 (17:32 +0200)]
src/configfile.[ch]: Implement "cf_util_get_string".
Florian Forster [Thu, 24 Sep 2009 15:30:56 +0000 (17:30 +0200)]
src/common.[ch]: Implement "service_name_to_port_number".
It returns the numeric representation of a service name. The implementation
has been taken from the tokyotyrant plugin.
Florian Forster [Thu, 24 Sep 2009 12:47:12 +0000 (14:47 +0200)]
netapp plugin: Use the "cna_config_" prefix for configuration handling functions.
Florian Forster [Thu, 24 Sep 2009 12:36:53 +0000 (14:36 +0200)]
netapp plugin: Add a short description to most functions.
The order of some functions has been changed, too.
Florian Forster [Thu, 24 Sep 2009 12:19:19 +0000 (14:19 +0200)]
netapp plugin: Add folding markers to all remaining functions.
Florian Forster [Thu, 24 Sep 2009 12:03:53 +0000 (14:03 +0200)]
netapp plugin: Changed some type names.
The structure is roughly like this: Structs that only hold flags to tell
the functions what data to submit are prefixed with "cfg_". Structs that
hold old values for counters are prefixed with "data_".
The "disk_t" type now included flags, too, to indicate valid / invalid
values. The "query_submit_disk_data" function has been changed to honor
those flags.
Various "volume_data" stuff has been renamed to "volume_usage" to make
it more distinguishable from "volume_performance".
Various defines are now also prefixed with "CFG_" to show which flags
are used for configuration and which are used do mark counters valid.
The latter use the "HAVE_" prefix.
Florian Forster [Thu, 24 Sep 2009 10:53:32 +0000 (12:53 +0200)]
AUTHORS: Add Sven Trenkel.
Florian Forster [Thu, 24 Sep 2009 10:53:21 +0000 (12:53 +0200)]
README: Add the “netapp” plugin.
Florian Forster [Thu, 24 Sep 2009 10:48:30 +0000 (12:48 +0200)]
netapp plugin: Split up “collect_perf_wafl_data” …
… into “query_wafl_data” and “submit_wafl_data”.
Again, flags are used to keep track of valid (old) counters.
Florian Forster [Thu, 24 Sep 2009 10:09:03 +0000 (12:09 +0200)]
netapp plugin: Split “collect_perf_volume_data” …
… into “query_volume_perf_data” and “submit_volume_perf_data”. The
functions use the “per_volume_perf_data_t” struct to pass the counters
from one value to the other. The flags have been extended to include
HAVE_* flags. This way we can reliably determine whether an “old”
counter is valid or not.
Florian Forster [Thu, 24 Sep 2009 08:17:27 +0000 (10:17 +0200)]
netapp plugin: Use the "config_get_multiplier" to handle the multiplier configuration.
Florian Forster [Thu, 24 Sep 2009 08:16:42 +0000 (10:16 +0200)]
netapp plugin: process_volume_flag: Use the boolean set/unset option here, too.
Florian Forster [Thu, 24 Sep 2009 08:04:48 +0000 (10:04 +0200)]
netapp plugin: set_global_{perf_,}vol_flag: Make set/unset option a boolean.
Florian Forster [Thu, 24 Sep 2009 07:42:28 +0000 (09:42 +0200)]
netapp plugin: Make "config_init" static.
Florian Forster [Thu, 24 Sep 2009 07:42:12 +0000 (09:42 +0200)]
netapp plugin: build_perf_sys_config: Improve error handling.
Check return value of "malloc".
Florian Forster [Thu, 24 Sep 2009 07:41:27 +0000 (09:41 +0200)]
netapp plugin: Simplify handling of boolean config options.
Florian Forster [Thu, 24 Sep 2009 07:39:31 +0000 (09:39 +0200)]
netapp plugin: perf_system_data_t: Remove CPU counters.
Florian Forster [Thu, 24 Sep 2009 07:14:16 +0000 (09:14 +0200)]
netapp plugin: collect_perf_system_data: Use the submit functions.
Florian Forster [Thu, 24 Sep 2009 07:08:35 +0000 (09:08 +0200)]
netapp plugin: collect_perf_disk_data: Only query "percentage-saved" if required.
Also, add support for "sis_saved_percent == 100". Probably not useful,
but better than simply skipping that case.
Florian Forster [Wed, 23 Sep 2009 16:56:31 +0000 (18:56 +0200)]
Merge commit 'remotes/trenkel/st/netapp' into st/netapp
Florian Forster [Wed, 23 Sep 2009 16:54:15 +0000 (18:54 +0200)]
netapp plugin: collect_perf_disk_data: Add folding markers.
Florian Forster [Wed, 23 Sep 2009 16:53:44 +0000 (18:53 +0200)]
netapp plugin: collect_volume_data: Use "submit_double".
Florian Forster [Wed, 23 Sep 2009 16:51:56 +0000 (18:51 +0200)]
netapp plugin: Use UINT64_MAX as default value.
Meaning "invalid".
Florian Forster [Wed, 23 Sep 2009 16:51:08 +0000 (18:51 +0200)]
netapp plugin: Implement "submit_two_counters".
Sven Trenkel [Wed, 23 Sep 2009 16:27:09 +0000 (18:27 +0200)]
netapp plugin: Removed INFO
Florian Forster [Wed, 23 Sep 2009 13:23:52 +0000 (15:23 +0200)]
netapp plugin: Added “submit” functions and use them in some other functions.
Florian Forster [Wed, 23 Sep 2009 12:02:25 +0000 (14:02 +0200)]
collectd.conf(5): Add markup to the NetApp plugin documentation.
Florian Forster [Wed, 23 Sep 2009 10:28:36 +0000 (12:28 +0200)]
netapp plugin: Convert C++-style comments to C-style comments.
Florian Forster [Wed, 23 Sep 2009 10:23:08 +0000 (12:23 +0200)]
netapp plugin: Adapt to new dispatch interface.
Florian Forster [Wed, 23 Sep 2009 09:59:05 +0000 (11:59 +0200)]
Build system: Build the netapp plugin when libnetapp is available.
Florian Forster [Wed, 23 Sep 2009 09:48:21 +0000 (11:48 +0200)]
Build system: Implement check for the “netapp” library.
Sven Trenkel [Tue, 22 Sep 2009 07:46:36 +0000 (09:46 +0200)]
netapp plugin: New plugin to collect statistics from NetApp filers.
Moin,
ich wollts ja eigentlich letzte Woche schon geschickt haben, aber hier ists
nun doch noch: Das collectd netapp Plugin. Es ist noch einiges an doppeltem
Code vorhanden, er ist noch nicht schön und der Configurationscode ist noch
nicht in der angemessenen Ausführlichkeit getestet, aber zumindest hier bei
mir funktioniert jetzt alles und ist voll konfiguriertbar.
Kompilieren tut ich das Ganze so:
gcc -g -c -Wall -I include -I /home/ifst/collectd-4.4.2/src netapp.c
gcc -g -o netapp.so -lnetapp -lxml -lpthread -ladt -lssl -lm -shared netapp.o
Mit freundlichen Grüßen
Sven Trenkel
Florian Forster [Thu, 17 Sep 2009 16:34:19 +0000 (18:34 +0200)]
Merge branch 'collectd-4.8'
Florian Forster [Thu, 17 Sep 2009 16:33:53 +0000 (18:33 +0200)]
Merge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Thu, 17 Sep 2009 16:26:41 +0000 (18:26 +0200)]
perl plugin: Declare the “environ” variable.
Florian Forster [Thu, 17 Sep 2009 16:02:34 +0000 (18:02 +0200)]
processes plugin: Case argument of “isdigit” to int.
On some platforms passing a char there causes problems :/
Andrés J. Díaz [Thu, 17 Sep 2009 11:15:02 +0000 (13:15 +0200)]
processes plugin: Remove unnecessary call of realloc(3).
Hi Florian (et al)
> you're right, the (re-)allocation of the memory can probably be avoided
> if the function is turned into one with the following prototype:
> -- 8< --
> static int *ps_read_tasks (int pid,
> unsigned long *ret_num_proc,
> unsigned long *ret_num_lwp);
> -- >8 --
Mmm, why not something like: "static int ps_read_task(pid)"?
This returns the number of task for pid passed as argument.
(AFAIK the function only return the number ot threads), why
we need the ret_num_proc and the ret_num_lwp parameters?
My proposal is attached (code is always cleaner than explanations :P)
Regards,
Andres
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Florian Forster [Thu, 17 Sep 2009 08:58:25 +0000 (10:58 +0200)]
Merge branch 'collectd-4.8'
Florian Forster [Thu, 17 Sep 2009 08:58:19 +0000 (10:58 +0200)]
Merge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Thu, 17 Sep 2009 08:56:19 +0000 (10:56 +0200)]
Build system: Check for “libiptc/libip6tc.h” and “linux/netfilter/x_tables.h”, too.
Apparently “linux/netfilter/x_tables.h” is not available with older
kernels which leads to build fails there:
-- 8< --
In file included from libiptc.c:47,
from libip4tc.c:136:
xtables.h:24:38: linux/netfilter/x_tables.h: No such file or directory
-- >8 --
Florian Forster [Thu, 17 Sep 2009 08:16:40 +0000 (10:16 +0200)]
Merge branch 'collectd-4.8'
Florian Forster [Thu, 17 Sep 2009 08:16:35 +0000 (10:16 +0200)]
Merge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Thu, 17 Sep 2009 08:12:07 +0000 (10:12 +0200)]
src/owniptc/Makefile.am: Don't search KERNEL_DIR for headers.
The iptc library is currenly only enabled, if the required headers where
found without “-I${KERNEL_DIR}”. Adding it to the CFLAGS when building
the shipped version of libiptc just breaks things, for example on
“collectd-master-amd64-linux-2.6”:
Linux hotdamn 2.6.9-42.ELsmp #1 SMP Tue Aug 15 10:35:26 BST 2006 x86_64 x86_64 x86_64 GNU/Linux
Florian Forster [Thu, 17 Sep 2009 07:40:36 +0000 (09:40 +0200)]
Merge branch 'collectd-4.8'
Florian Forster [Thu, 17 Sep 2009 07:40:28 +0000 (09:40 +0200)]
Merge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Thu, 17 Sep 2009 07:40:01 +0000 (09:40 +0200)]
README: Document the “--with-libiptc=shipped” option.
Florian Forster [Thu, 17 Sep 2009 07:36:35 +0000 (09:36 +0200)]
Build system: Further improve libiptc handling.
Only check for “iptc_handle_t” and “ip6tc_handle_t” if using a
system-wide version of libiptc. If we use the shipped version, we *know*
it provides these types.
Florian Forster [Thu, 17 Sep 2009 06:53:05 +0000 (08:53 +0200)]
Merge branch 'collectd-4.8'
Florian Forster [Thu, 17 Sep 2009 06:52:56 +0000 (08:52 +0200)]
Merge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Thu, 17 Sep 2009 06:44:07 +0000 (08:44 +0200)]
Build system: Improve detection of the iptc library.
When checking for the iptc headers and data types, the configure script
added the kernel directory to the CFLAGS. Later, when actually building
the iptables plugin, the CFLAGS were left untouched.
At least on Debian, the “real” kernel headers are not required – the
libc versions in /usr/include/linux are sufficient. The usage of
KERNEL_DIR has therefore been removed from the iptc checks.
In addition, an directory specified by “--with-libiptc=/path” is no
longer added to the global CFLAGS but rather to the iptables specific
CPPFLAGS.
Hopefully this resolved build problems on various platforms.
Marc Fournier [Wed, 16 Sep 2009 10:17:28 +0000 (12:17 +0200)]
contrib/collection3: skip host dirs without read access.
This patch prevents get_files_from_directory() from
failing when DataDir contains directories which we
don't have access to.
An example would be "lost+found" directories, on
ext2/ext3 filesystems, which belong to root and have
0700 filemode.
Signed-off-by: Marc Fournier <marc.fournier@camptocamp.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Florian Forster [Wed, 16 Sep 2009 11:02:40 +0000 (13:02 +0200)]
contrib/collection3: “Invokations” → “Invocations”.
D'oh!