![]() |
| By Martin Colello Hobit (ili na Engleskom Hobbit sa 2 b) Kao Unix inženjer sam se susreo sa mnogim vrstama sistema i službenih programa, i program za nadgledanje koji koristim je aplikacija otvorenog koda – Hobit. Nadgledanje programa je izvanredno za preventivno upozorenje i sprečava probleme velikih razmera. Ono te upozorava kada se stvari spremaju da puknu, što je bolje nego dobiti panični poziv usred noći. Hobit je odličan primer ovoga. Hobit je zamena za Velikog Brata (Big Brother) koji ima viđe funkcija i brži je od BB. Hobit je već konfigurisan sa popularnim testovima ali je moguće dodati stvari po želji. Neću govoriti o instaliranju jer je to opisano ovde http://hobbitmon.sourceforge.net/ ali ću govoriti o dodatcima koje koristim u realnosti. Dodatci Dodatci za Hobit mogu biti od prostih šel skriptova do pravih aplikacija. Sa pristupom na Hobit kijent, možeš napraviti bilo koji test koji ti treba i ugraditi rezultate u veb stranu i alarm. Ja koristim Perl. Postoji ogromna baza Hobit-BB dodataka koji ljudi mogu koristiti sa http://www.deadcat.net/ Jednostavno SNMP nadgledanje Koristeći snmp komandu i malo Perl koda možemo testirati mnoge procese/programe/servise koji nisu prekonfigurisani na Hobitu. Prvo odredi OID i lozinku za servise koje hoćeš da nadgledaš. Ovde ću opisati kako ja koristim ovaj metod da vidim iskoriđšćenost procesora (CPU) na iSeries serveru. Isti princip važi za sve ostale stvari koje se mogu dobiti uz pomoć SNMP. Moj Hobit server je Solaris, ali je sve isto na Linuksu. Komanda koja pokazuje iskorišćenost procesora je snmpget -v1 -c password servername 1.3.6.1.4.1.2.6.4.5.1.0. Sledi ceo script koji šalje izveštaj Hobitu. Skript
#!/usr/bin/perl -w
use strict;
# $test will be the name shown in the Hobbit web gui,
# it should be as short as possible
my $test = '400cpu';
# $bbprog is simply the name of the script
my $bbprog = '400cpu.pl';
my ($color, $line, $machine, $warn, $end, $date, $currently);
my $server='servername';
# Issue the snmp command we discussed earlier and store the
# results in $results
my $results = `/usr/local/bin/snmpget -v1 -c public wc400 1.3.6.1.4.1.2.6.4.5.1.0`;
# Split the results into an array, breaking up by spaces
my @results = split / /, $results;
# Grab just the piece we're looking for from the array, and store in $value
my $value = $results[3];
chomp($value);
# If the value comes in at 3000, that means 30 percent, so do some quick
# math on $value
$value = $value/100;
$value = int($value);
# Initially set the test color to "green", we'll turn red if needed to alert
$color = 'green';
# Set some variables to present to the Hobbit server, the first in colon format
my $percent = "\n\nPercentage : $value\n\n";
$currently = "$percent\n\nCPU ok.\n\n\n\n";
# Determine if cpu utilization is too high, if so, turn red
if ( $value > 80 ) {
$color = 'red';
$currently = "$percent\n\nCPU Utiliaztion is high.\n\n";
}
# Prepare line for Hobbit server in correct format
$machine = "$server,amkor,com";
$date = `date`;
chomp($date);
$line = "status $machine.$test $color $date $currently";
system("/usr/local/hobbit/server/bin/bb hobbit_servername \"$line\"";
Omogući skript u Hobitu
Sada kada je skript spreman, konfiguriši Hobit klijent da ga koristi svakih 5 minuta. Dodaj linije u /etc/clientlaunch.cfg u Hobit home direktorijumu. [400cpu.pl] ENVFILE $HOBBITCLIENTHOME/etc/hobbitclient.cfg CMD $HOBBITCLIENTHOME/ext/400cpu.pl LOGFILE $HOBBITCLIENTHOME/logs/400cpu.pl INTERVAL 5mSada restartuj Hobit klijent, sačekaj 10 do 15 minuta da se podaci skupe, pa vidi Hobbit grafički izveštaj kao na slici.
Zaključak U ovok kratkom članku smo napravili korisni Hobit test i ugradili ga u Hobit grafički izveštaj. Jednostavne varijavije ove tehnike se mogu koristiti za bilo šta što se može dobiti preko snmp-a. Napomena prevodioca: Ја sam 100% amater u prevođenju i veoma se dvoumim kada treba da prevedem neke reči karakteristične za oblast računara. Biće mi drago ako ima onih koji su veštiji u prevođenju i voljni da razvijaju ovaj sajt. | |||