- 论坛徽章:
- 0
|
生产系统中有很多服务器挂了存储,网管系统没法监控所挂存储的空间使用情况和文件系统情况(如出现只读文件系统等)。
写了2个脚本来监控,但我的脚本只能监控到文件系统是否只读(如果不是只读,但出现问题时我这个脚本无法监控到)。
同时这2个脚本加到siteview中就可以做到监控告警。
还请各位指教。
监控空间:
#!/usr/bin/perl -w
use strict;
my $warn_n = 96;
my (@list,%hash,@warn);
my $log = "/home/monitor/disk_monitor.log";
open DF,"df |" or die "df error:$!";
while (<DF>) {
if ( /^\/dev\/sd.*?(\d+)%\s(\/.*)$/ ) {
$hash{$2} = $1;
}
}
close DF;
foreach (sort keys %hash) {
push @warn,$_ if $hash{$_} > $warn_n;;
}
open FILE,"> $log" or die "open file err:$!";
if (@warn > 0) {
print FILE "warning:the following Filesystem:@warn used% larger than $warn_n%,please check it!\n";
} else {
print FILE "normal\n";
}
close FILE; |
监控文件系统:
#!/usr/bin/perl -w
use strict;
use POSIX qw/strftime/;
my $date = strftime("%Y%m%d%H%M%S",localtime);
my (%hash,@list);
my $log = "/home/monitor/fs_monitor.log";
open DF,"df |" or die "df error:$!";
while (<DF>) {
if ( /(^\/dev\/sd[a-z]\d+).*\s(\/.*)$/ ) {
$hash{$1} = $2;
}
}
close DF;
foreach (sort keys %hash) {
eval {
mkdir "$hash{$_}/$date",0755 or die "mkdir err:$!";
rmdir "$hash{$_}/$date" or die "rmdir err:$!";
};
push @list,$_ unless !$@;
}
open FILE,"> $log" or die "open file err:$!";
if (@list > 0) {
print FILE "warning:the following Filesystem:@list is read-only,please fsck as soon as possible!\n";
} else {
print FILE "Filesystem normal\n";
}
close FILE; |
|
|