Package: munin-node
Version: 1.2.5-1
Severity: wishlist
Tags: patch

I just found out that munin does not list the HD temperature of my SATA
drives. I just duplicated the IDE section in hddtemp_smartctl and changed it
for sd* drives. Seems to work fine on my etch box (witch recent smartmontools
installed). I applied my change to the hddtemp_smartctl.in file I found in
munin-1.2.6 and attached the resulting patch (untested for this version).

This issue was once discussed upstream
http://munin.projects.linpro.no/ticket/530
and rejected due to breakage of SCSI drives. But I guess this was a result of
the change to the smartctl parameters which seems unnecessary for recent
smartmontools. Therefore I like to ask you to consider to add this patch to
future versions of munin-node.

regards
 Thorsten

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.22.6-vs2.2.0.3-dirty
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages munin-node depends on:
ii  adduser                    3.102         Add and remove users and groups
ii  libnet-server-perl         0.94-1        An extensible, general perl server
ii  lsb-base                   3.1-23.2etch1 Linux Standard Base 3.1 init scrip
ii  perl                       5.8.8-7etch3  Larry Wall's Practical Extraction 
ii  procps                     1:3.2.7-3     /proc file system utilities

Versions of packages munin-node recommends:
ii  libnet-snmp-perl              5.2.0-1    Script SNMP connections

-- no debconf information

--- hddtemp_smartctl.in 2008-09-01 16:59:54.233200924 +0200
+++ hddtemp_smartctl.in 2008-09-01 17:03:21.101901641 +0200
@@ -92,14 +92,25 @@
 
 # Try to get a default set of drives
 if ($^O eq 'linux') {
-  # On Linux, we know how to enumerate ide drives. SCSI is not as easy
+  # On Linux, we know how to enumerate ide drives.
+  my @drivesIDE;
   if (-d '/proc/ide') {
     opendir(IDE, '/proc/ide');
-    @drives = grep /hd[a-z]/, readdir IDE;
+    @drivesIDE = grep /hd[a-z]/, readdir IDE;
     closedir(IDE);
   }
-  # "SCSI disks" could be both SCSI or SATA - we can't know which
-  # without probing them.
+
+  # Look for SCSI / SATA drives in /sys
+  my @drivesSCSI;
+  if (-d '/sys/block/') {
+    opendir(SCSI, '/sys/block/');
+    @drivesSCSI = grep /sd[a-z]/, readdir SCSI;
+    closedir(SCSI);
+   }
+
+  # Get list of all drives we found
+  @drives=(@drivesIDE,@drivesSCSI);
+  
 } elsif ($^O eq 'freebsd') {
   opendir(DEV, '/dev');
   @drives = grep /^ad[0-9]+$/, readdir DEV;

Attachment: pgpla641n31wK.pgp
Description: PGP signature

Reply via email to