diff --git a/galanga/nagios-irc-bot.pl b/galanga/nagios-irc-bot.pl index b04b9c8..3ce9845 100755 --- a/galanga/nagios-irc-bot.pl +++ b/galanga/nagios-irc-bot.pl @@ -80,7 +80,7 @@ sub on_connect { my $self = shift; $identified_to_nickserv = 1; - print "Joining #april-admin...\n"; + print "Joining #april-monitoring...\n"; # FIXME: this is broken right now. when this is re-added, it has to happen # before we try to join channels. @@ -88,7 +88,7 @@ sub on_connect { #$self->privmsg('nickserv',"identify xxx"); # CONFIG: channels you want us to announce to ... - $self->join("#april-admin"); + $self->join("#april-monitoring"); #$self->join("#status"); } @@ -211,16 +211,18 @@ sub on_public { printf CMDPIPE "[%lu] REMOVE_SVC_ACKNOWLEDGEMENT;%s;%s\n",time(),$1,$2; close CMDPIPE; $self->privmsg([ @to ], "$nick: ok, acknowledgment (if any) for $1:$2 has been removed."); - } elsif ($arg =~ /^(?:$mynick[,: ]|!)\s*status (\S.*?)\s*$/) { + } elsif ($arg =~ /^(?:$mynick[,: ]|!)\s*status\s*$/) { my @lines = (); - open CMDPIPE,"-|","/usr/local/bin/nag-stat",$1; + open CMDPIPE,"-|","/usr/sbin/icingastats -m -d NUMSVCWARN,NUMSVCCRIT,NUMSVCUNKN"; while () { chomp; push @lines, $_; } close CMDPIPE; + my @prefix = ( 'Warn', 'Critical', 'Unknown' ); + my $i = 0; foreach my $line (@lines) { - $self->privmsg([ @to ], "$nick: $line"); + $self->privmsg([ @to ], "$nick: ".$prefix[$i++].": $line"); } } elsif ($arg =~ /^(?:$mynick[,: ]|!)\s*help/i) { $self->privmsg([ @to ], "$nick: You're right, I need help!"); @@ -232,10 +234,12 @@ sub on_public { { $self->privmsg([ @to ], "$nick: ok, I'll shut up!"); $::tagueule = 1; + $self->nick('vivivi[zzz]'); } else { $self->privmsg([ @to ], "$nick: ok, I'm back!"); $::tagueule = 0; + $self->nick('vivivi'); } } else { # $self->privmsg([ @to ], "Yo!"); @@ -343,7 +347,7 @@ sub on_notice { print "Joining channels...\n"; # CONFIG: channels that should be joined go here. - $self->join("#april-admin"); + $self->join("#april-monitoring"); } } @@ -406,7 +410,7 @@ while (1) { if ($identified_to_nickserv) { # CONFIG: change where we announce stuff here - my @channels = ('#april-admin'); + my @channels = ('#april-monitoring'); while (defined (my $line = )) { print $line; chomp($line); @@ -485,6 +489,13 @@ while (1) { close NAGIOS; open NAGIOS, "<$nagioslog"; } + open CMDPIPE,"-|","/usr/sbin/icingastats -m -d NUMSVCWARN,NUMSVCCRIT,NUMSVCUNKN"; + my $count = 0; + while () { + $count += $_; + } + close CMDPIPE; + $conn->nick(sprintf('vivivi[%s]', $count)) if ( $count > 0 ); } } }