#!/usr/bin/perl
use HTTP::Date qw(time2iso str2time time2iso time2isoz);
use strict;
use Sys::Hostname;
use DBI;
my $hostip='10.5.129.243';
my $dbName = 'orcl';
my $dbUser = 'test';
my $dbUserPass = 'test';
my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database ";
my $cpu_trigger=1.6;
my $disk_trigger=75;
my $memory_trigger=40;
my $io_trigger=70;
my $cpu_event;
my $memory_event;
my $red="e[1;31m";
my $green="e[1;32m";
my $yellow="e[1;33m";
my $normal="e[0m";
sub section() {
my $section=shift;
print ">>>>>$green $section $normal
";
}
sub disk_space() {
§ion("DISK SPACE");
my $line;
my @array=`df -PTh | sed '1d'`;
foreach my $i (@array) {
my ($fs,$type,$size,$used,$avail,$usage,$mounted);
chomp $i;
$i =~ s/(^s+|s+$)//g;
$i =~ s/s+/ /g;
($fs,$type,$size,$used,$avail,$usage,$mounted)=split /s+/,$i;
my $CurrTime = time2iso(time());
$dbh->do("insert into cpu_info values ('$hostip','$fs','$type','$size','$used','$avail','$usage','$mounted',to_date('$CurrTime','YYYY-MM-DD hh24:mi:ss'))") or die($DBI::errstr);
substr($usage, -1, 1)="";
if ($usage > $disk_trigger ) {
printf("%-36s%-6s%-6s%-6s%-6s${red}%-6s${normal}%s
", "$fs",$type,$size,$used,$avail,"$usage%",$mounted);
} else {
printf("%-36s%-6s%-6s%-6s%-6s%-6s%s
", $fs,$type,$size,$used,$avail,"$usage%",$mounted);
}
}
print "-" x 80 ."
";
$dbh->disconnect();
}
disk_space