* regex match: The "Invert" option has been added. Thanks to Julien
Ammous for his patch.
+2010-11-27, Version 4.9.4
+ * Documentation: Various documentation fixes.
+ * collectd: If including one configuration file fails, continue with
+ the rest of the configuration if possible.
+ * collectd: Fix a bug in the read function scheduling. In rare cases
+ read functions may not have been called as often as requested.
+ * collectd: Concurrency issues with errno(3) under AIX have been
+ fixed: A thread-safe version of errno has to be requested under AIX.
+ Thanks to Aurélien Reynaud for his patch.
+ * curl, memcachec, tail plugins: Fix handling of "DERIVE" data
+ sources. Matching the end of a string has been improved; thanks to
+ Sebastian Harl for the patch.
+ * curl_json plugin: Fix a problem when parsing 64bit integers. Reading
+ JSON data from non-HTTP sources has been fixed.
+ * netapp plugin: Pass the interval setting to the dispatch function.
+ Restore compatibility to NetApp Release 7.3. Thanks to Sven Trenkel
+ for the patch.
+ * network plugin: Be less verbose about unchecked signatures, in order
+ to prevent spamming the logs.
+ * notify_email plugin: Concurrency problems have been fixed.
+ * python plugin: Set "sys.argv", since many scripts don't expect that
+ it may not be set. Thanks to Sven Trenkel for the patch.
+ * rrdtool, rrdcached plugin: Fix a too strict assertion when creating
+ RRD files.
+ * value match: A minor memory leak has been fixed. Thanks to Sven
+ Trenkel for the patch.
+
2010-07-09, Version 4.9.3
* Build system: Checking for "strtok_r" under Solaris has been fixed.
* Portability: Fixes for Solaris 8 have been applied. Thanks to
#!/bin/bash
#
# collectd Startup script for the Collectd statistics gathering daemon
-# chkconfig: - 86 15
+# chkconfig: - 99 01
# description: Collectd is a statistics gathering daemon used to collect \
# system information ie. cpu, memory, disk, network
# processname: collectd
RETVAL=0
ARGS=""
prog="collectdmon"
+service="collectd"
CONFIG=/etc/collectd.conf
COLLECTD=/usr/sbin/collectd
COLLECTDMONPID=/var/run/collectdmon.pid
daemon $prog -P $COLLECTDMONPID -c $COLLECTD -- -C "$CONFIG"
RETVAL=$?
echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$service
fi
}
stop () {
killproc $prog
RETVAL=$?
echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
+ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$service
}
# See how we were called.
case "$1" in
values lead to a higher system load produced by collectd, while higher values
lead to more coarse statistics.
+B<Warning:> You should set this once and then never touch it again. If you do,
+I<you will have to delete all your RRD files> or know some serious RRDtool
+magic! (Assuming you're using the I<RRDtool> or I<RRDCacheD> plugin.)
+
=item B<Timeout> I<Iterations>
Consider a value list "missing" when no update has been read or received for
if (sis == NULL)
continue;
+ if (na_elem_child(sis, "sis-info"))
+ sis = na_elem_child(sis, "sis-info");
+
sis_state = na_child_get_string(sis, "state");
if (sis_state == NULL)
continue;
if ((pid < 1) || (NULL == buf) || (buf_len < 2))
return NULL;
- ssnprintf (file, sizeof (file), "/proc/%u/cmdline", pid);
+ ssnprintf (file, sizeof (file), "/proc/%u/cmdline",
+ (unsigned int) pid);
+ errno = 0;
fd = open (file, O_RDONLY);
if (fd < 0) {
char errbuf[4096];
- WARNING ("processes plugin: Failed to open `%s': %s.", file,
- sstrerror (errno, errbuf, sizeof (errbuf)));
+ /* ENOENT means the process exited while we were handling it.
+ * Don't complain about this, it only fills the logs. */
+ if (errno != ENOENT)
+ WARNING ("processes plugin: Failed to open `%s': %s.", file,
+ sstrerror (errno, errbuf, sizeof (errbuf)));
return NULL;
}
status = read (fd, (void *)buf_ptr, len);
if (status < 0) {
- char errbuf[4096];
+ char errbuf[1024];
if ((EAGAIN == errno) || (EINTR == errno))
continue;
memcpy (argv + ds_num, rra_def, rra_num * sizeof (char *));
argv[ds_num + rra_num] = NULL;
- assert (vl->time > 10);
status = srrd_create (filename,
(cfg->stepsize > 0) ? cfg->stepsize : vl->interval,
- vl->time - 10,
+ (vl->time > 10) ? (vl->time - 10) : vl->time,
argc, (const char **) argv);
free (argv);