[linux] munin에서 sata hdd 인식하기..

리눅스 서버에 munin을 설치해서.. 대략적인 서버 상태를 파악한다.
뭐 특별한 패키지를 깔진 않고.. 그냥 rpm으로 설치 후, 기본적인 항목들만 보고 있는데..
그중에 유용했던 항목중에 하나가..
HDD temperature 다.
뭐 얼마나 정확하겠냐 마는.. 지금 케이스에 온도계가 달려있는것도 아니고..
하드 온도변화를 보면서.. 대략적으로 온도를 파악할 수 있어서.. 보곤 했었다.

그런데.. 새하드를 단 뒤부턴 온도정보가 안나온다.. -_-;;
IDE에서 SATA방식으로 바꿨는데.. SATA는 인식이 안되는듯..
그래서 일단 그냥 놓고 있다가..
자료를 좀 찾아봤는데..
아래와 같은 내용이 있어서 한번 해보려고 한다.
지금은 시간이 없어서.. 일단 잊어버리지 않게, 이쪽에 옮겨놓고.. 시간날때 한번 작업해보려고 한다.

관련글 : http://munin.projects.linpro.no/ticket/530

수정내용
===============
hddtemp_smartctl.in.orig    2007-09-20 22:10:46.000000000 +0100
+++ hddtemp_smartctl.in 2007-10-03 16:08:53.000000000 +0100
@@ -93,6 +93,13 @@
     @drives = grep /hd[a-z]/, readdir IDE;
     closedir(IDE);
   }
+
+  # Now add in scsi (eg sata) ones
+  my @sata = `dmesg | grep ‘^ sd[a-z]:’ | awk -F ‘:’ ‘{print \$1}’`;
+  foreach(@sata) {
+    chomp; s/ //g;
+    push(@drives,$_);
+  }
} elsif ($^O eq ‘solaris’) {
   @drives = map { s@.*/@@ ; $_ } glob ‘/dev/rdsk/c*t*d*s2’;
}
@@ -132,7 +139,13 @@
   $dev = $_ =~ /(.*)(?:_\d+)/ ? $1 : $_;
   my $cmd = $smartctl.’ -A ‘;
   $cmd .= $ENV{‘args_’.$_}.’ ‘ if exists $ENV{‘args_’.$_};
–  $cmd .= ‘-d ‘.$ENV{‘type_’.$_}.’ ‘ if exists $ENV{‘type_’.$_};
+
+  if(exists $ENV{‘type_’.$_}) {
+    $cmd .= ‘-d ‘.$ENV{‘type_’.$_}.’ ‘;
+  } elsif($dev =~ /^sd/) {
+    $cmd .= “-d ata “;
+  }
+
   $cmd .= ‘/dev/’;
   $cmd .= ‘rdsk/’ if $^O eq ‘solaris’;
   $cmd .= exists $ENV{‘dev_’.$_} ? $ENV{‘dev_’.$_} : $dev;
===============

Loading

“[linux] munin에서 sata hdd 인식하기..”에 대한 2개의 댓글

  1. 며칠 해보니.. 잘되다 또 안되서.. 약간 수정했다.
    중간에.. sata찾는 부분이 있는데..
    dmesg에서 찾는데.. SSH scan때문에 로그를 남기게 했더니.. 그 메시지만 잔뜩 나오네..
    그냥 로그에서 찾기로 했다.
    ========
    my @sata = `dmesg | grep ‘^ sd[a-z]:’ | awk -F ‘:’ ‘{print \$1}’`;
    ========
    이부분을 아래와 같이 수정했다.
    ========
    my @sata = `grep ‘^ sd[a-z]:’ /var/log/dmesg | awk -F ‘:’ ‘{print \$1}’`;
    ========
    뭐 일단은 되는것 같은데.. 좀 더 두고봐야할듯.

댓글 남기기