Nagios
From Teknologisk videncenter
check sensor example program
Script
FreeBSD file /usr/local/libexec/nagios/check_humidity
#!/usr/bin/perl
# THIS IS A TEST DUMMY SERVICE
if (scalar(@ARGV) != 2) {
print "Usage: $0 humidity_minimum humidity_maximum\n";
exit 3;
}
my $hum_min = shift;
my $hum_max = shift;
open(TEMP, "/usr/bin/temp |");
while(my $line = <TEMP>) {
if ($line =~ m/Humidity.+?(\d+)/ ) {
my $humidity = $1;
if ($humidity < $hum_min) {
print "Humidity is low under $hum_min% and now $humidity%\n";
exit 1;
}
if ($humidity > $hum_max) {
print "Humidity is high over $hum_max% and now $humidity%\n";
exit 2;
}
print "Humidity is OK. Now at $humidity%\n";
exit 0;
}
}
configuration
########################################################
# Folgende er tilfojet til filen
# /usr/local/etc/nagios/commands.cfg
# OBS: Paa nogle systemer hedder filen
# /usr/local/nagios/etc/commands.cfg
define command{
command_name check_humidity
command_line $USER1$/check_humidity $ARG1
}
########################################################
#Flg. er tilfojet til filen
# /usr/local/etc/nagios/hosts.cfg som er en fil
# der beskriver en host. Filen vedlagt.
define service {
use router-ping
host_name localhost
service_description Humidity
check_command check_humidity!60 80
}