#!/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 = 'dwh1'; 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 \n"; } sub memory() { §ion("MEMORY"); my @array=`free -m | grep "Mem:"`; foreach my $i (@array) { my ($total,$usage,$free); chomp $i; $i =~ s/(^\s+|\s+$)//g; $i =~ s/\s+/ /g; ##抛弃第一个元素 (undef,$total,$free)=split /\s+/,$i; my $CurrTime = time2iso(time()); $dbh->do("insert into mem_info values ('$hostip','$total','$usage','$free',to_date('$CurrTime','YYYY-MM-DD hh24:mi:ss'))") or die($DBI::errstr); } } memory