[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;
===============