Package: collectd-core Version: 4.10.1-1+squeeze2 Severity: important Hello,
while evaluating the rrd files, I noticed that sometimes the cpufreq plugin fails to correctly detect the number of CPUs to collect frequency data from. --------------------/var/log/daemon-------------------- Feb 28 12:09:57 foohost collectd[3044]: cpufreq plugin: Found 2 CPUs [...] Feb 28 13:57:28 foohost collectd[2836]: cpufreq plugin: Found 0 CPUs Feb 28 13:57:28 foohost collectd[2836]: Initialization complete, entering read-loop. ------------------------------------------------------- Doing some research on this topic I found out that the script's sequence in /etc/rc2.d together with running them in parallel during boot makes data collection to start truely unreliable and randomly. ---------- ls -l /etc/rc2.d (manually modified) ---------- [...] S03collectd -> ../init.d/collectd [...] S03loadcpufreq -> ../init.d/loadcpufreq [...] S04cpufrequtils -> ../init.d/cpufrequtils [...] ---------------------------------------------------------- A possible solution is shifting the startup of /etc/init.d/collectd more towards the end of the boot when most data delivering processes had already been started. The local solution here is modifying the init script to correct the above script's sequence: --------------------/etc/init.d/collectd-------------------- [...] ### BEGIN INIT INFO # Provides: collectd # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network $named $syslog $time cpufrequtils # Should-Stop: $network $named $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start the statistics collection daemon ### END INIT INFO [...] ------------------------------------------------------------ But could this also be a universal solution? In [1] the Should-Start keyword seems ideal to solve such problems. However, collectd-core suggests another 60(!) data providing packages and even if only some of them [2] may need a handling like the one proposed above, their number perhabs still will be too large. Any comments? Mathias [1] http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html "Should-Start: boot_facility_1 [boot_facility_2...] facilities which, if present, should be available during startup of this service. This allows for weak dependencies which do not cause the service to fail if a facility is not available. The service may provide reduced functionality in this situation. Conforming applications should not rely on the existence of this feature." [2] Another candidate is the hddtemp package. Although the logs say --------------------/var/log/daemon-------------------- Feb 28 13:57:28 foohost collectd[2836]: hddtemp plugin: connect (127.0.0.1, 7634) failed: Connection refused Feb 28 13:57:28 foohost collectd[2836]: hddtemp plugin: Could not connect to daemon. Feb 28 13:57:28 foohost collectd[2836]: read-function of plugin `hddtemp' failed. Will suspend it for 20 seconds. ------------------------------------------------------- and the init script sequence unfortunately also is ---------- ls -l /etc/rc2.d (manually modified) ---------- [...] S03collectd -> ../init.d/collectd [...] S03hddtemp -> ../init.d/hddtemp [...] ---------------------------------------------------------- this plugin is luckily "self-correcting" and reliably starts collecting data later. -- System Information: Debian Release: 6.0.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages collectd-core depends on: ii debconf [debconf-2.0] 1.5.36.1 Debian configuration management sy ii libc6 2.11.3-3 Embedded GNU C Library: Shared lib ii libltdl7 2.2.6b-2 A system independent dlopen wrappe Versions of packages collectd-core recommends: ii perl 5.10.1-17squeeze3 Larry Wall's Practical Extraction ii rrdtool 1.4.3-1 time-series data storage and displ Versions of packages collectd-core suggests: ii apache2 2.2.16-6+squeeze6 Apache HTTP Server metapackage ii apache2-mpm-worker 2.2.16-6+squeeze6 Apache HTTP Server - high speed th pn apcupsd <none> (no description available) pn bind9 <none> (no description available) ii chrony [time-daemo 1.24-3+b1 Sets your computer's clock from ti pn collectd-dev <none> (no description available) ii hddtemp 0.3-beta15-46 hard drive temperature monitoring ii iptables 1.4.8-3 administration tools for packet fi pn ipvsadm <none> (no description available) ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.11.3-3 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-6 The Cairo 2D vector graphics libra pn libconfig-general- <none> (no description available) ii libcurl3-gnutls 7.21.0-2.1+squeeze1 Multi-protocol file transfer libra ii libdbi0 0.8.2-3 Database Independent Abstraction L ii libdbus-1-3 1.2.24-4+squeeze1 simple interprocess messaging syst ii libdbus-glib-1-2 0.88-2.1 simple interprocess messaging syst pn libesmtp5 <none> (no description available) ii libfontconfig1 2.8.0-2.1 generic font configuration library ii libfreetype6 2.4.2-2.1+squeeze3 FreeType 2 font engine, shared lib ii libgcrypt11 1.4.5-2 LGPL Crypto library - runtime libr ii libglib2.0-0 2.24.2-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-2 The GTK+ graphical user interface ii libhal1 0.5.14-3 Hardware Abstraction Layer - share ii libhtml-parser-per 3.66-1 collection of modules that parse H pn libmemcached5 <none> (no description available) ii libmysqlclient16 5.1.49-3 MySQL database client library ii libnotify1 [libnot 0.5.0-2 sends desktop notifications to a n pn libopenipmi0 <none> (no description available) pn liboping0 <none> (no description available) ii libpango1.0-0 1.28.3-1+squeeze2 Layout and rendering of internatio ii libpcap0.8 1.1.1-2+squeeze1 system interface for user-level pa ii libperl5.10 5.10.1-17squeeze3 shared Perl library pn libpq5 <none> (no description available) pn libprotobuf-c0 <none> (no description available) ii libpython2.6 2.6.6-8+b1 Shared Python runtime library (ver pn libregexp-common-p <none> (no description available) ii librrd4 1.4.3-1 time-series data storage and displ pn librrds-perl <none> (no description available) ii libsensors4 1:3.1.2-6 library to read temperature/voltag pn libsnmp15 <none> (no description available) ii libssl0.9.8 0.9.8o-4squeeze7 SSL shared libraries pn libtokyotyrant3 <none> (no description available) pn libupsclient1 <none> (no description available) ii liburi-perl 1.54-2 module to manipulate and access UR pn libvirt0 <none> (no description available) ii libxml2 2.7.8.dfsg-2+squeeze3 GNOME XML library pn libyajl1 <none> (no description available) pn lm-sensors <none> (no description available) pn mbmon <none> (no description available) pn memcached <none> (no description available) pn mysql-server <none> (no description available) pn nginx <none> (no description available) ii notification-daemo 0.3.7-2 a daemon that displays passive pop pn nut <none> (no description available) pn olsrd <none> (no description available) pn openvpn <none> (no description available) pn pdns-server <none> (no description available) pn postgresql <none> (no description available) -- debconf information: collectd/auto-migrate-3-4: false collectd/migration-3-4: -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

