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]

Reply via email to