|
@@ -418,29 +418,34 @@ sub event_privmsg {
|
|
# Commamd channel
|
|
# Commamd channel
|
|
my $K;
|
|
my $K;
|
|
my ($server, $data, $nick, $mask) =@_;
|
|
my ($server, $data, $nick, $mask) =@_;
|
|
- my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
|
|
|
+ my ($target, $text, $arg) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
|
|
|
#print ( "C:$target X:$text A:$admin D:$warndate L:$last W:$warn N:$nick D:$data" );
|
|
#print ( "C:$target X:$text A:$admin D:$warndate L:$last W:$warn N:$nick D:$data" );
|
|
if ( $text =~ /^!nagios ?(.*)/i ) {
|
|
if ( $text =~ /^!nagios ?(.*)/i ) {
|
|
|
|
+ $arg=$1;
|
|
|
|
+ Irssi::print(">> $arg");
|
|
# !nagios [*] :
|
|
# !nagios [*] :
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
" ".scalar @ACKS." alertes");
|
|
" ".scalar @ACKS." alertes");
|
|
- return unless $#ACKS > 0;
|
|
|
|
- my $i=0;
|
|
|
|
|
|
|
|
# !nagios list [*] :
|
|
# !nagios list [*] :
|
|
- if ($1 =~ /^refresh/i) {
|
|
|
|
|
|
+ if ($arg =~ /^refresh/i) {
|
|
|
|
+ Irssi::print(">> $arg");
|
|
query_nagios_status($server);
|
|
query_nagios_status($server);
|
|
}
|
|
}
|
|
- if ($1 =~ /^list/i) {
|
|
|
|
|
|
+ elsif ($arg =~ /^list/i) {
|
|
|
|
+ Irssi::print(">> $arg");
|
|
|
|
+ return unless $#ACKS > 0;
|
|
|
|
+ my $i=0;
|
|
foreach $K (@ACKS) {
|
|
foreach $K (@ACKS) {
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
" ". mark(' ',$i++,$K->[2]) ." ".$K->[0]." / $K->[1] / $K->[2] / $K->[3] / ".time2date $K->[4]);
|
|
" ". mark(' ',$i++,$K->[2]) ." ".$K->[0]." / $K->[1] / $K->[2] / $K->[3] / ".time2date $K->[4]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- elsif ($1 =~ /^help/i) {
|
|
|
|
|
|
+ elsif ($arg =~ /^help/i) {
|
|
|
|
+ Irssi::print(">> $arg");
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
- " !nagios list : liste des alertes nagios reçuesici");
|
|
|
|
|
|
+ " !nagios list : liste des alertes nagios reçues ici");
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
" !nagios help : l'aide");
|
|
" !nagios help : l'aide");
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
@@ -449,13 +454,15 @@ sub event_privmsg {
|
|
" !nagios check <#ALERTE> : recheck une alerte donnée (service/host)");
|
|
" !nagios check <#ALERTE> : recheck une alerte donnée (service/host)");
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
$server->command ( "msg ".Irssi::settings_get_str("nagios_ack_channel").
|
|
" !nagios refresh : interroge le nagios pour avoir la liste de toutes les alertes");
|
|
" !nagios refresh : interroge le nagios pour avoir la liste de toutes les alertes");
|
|
|
|
+ } elsif ( $arg =~ /^check ?(.*)/i ){
|
|
|
|
+ Irssi::print(">> $arg");
|
|
|
|
+ nagios_check($1,$server,undef);
|
|
|
|
+ } elsif ( $arg =~ /^ack ?(.*)/i ){
|
|
|
|
+ Irssi::print(">> $arg");
|
|
|
|
+ nagios_ack($1,$server,undef);
|
|
}
|
|
}
|
|
- return 1;
|
|
|
|
- } elsif ( $text =~ /^check ?(.*)/i ){
|
|
|
|
- nagios_check($1,$server,undef);
|
|
|
|
- } elsif ( $text =~ /^ack ?(.*)/i ){
|
|
|
|
- nagios_ack($1,$server,undef);
|
|
|
|
}
|
|
}
|
|
|
|
+ return 1;
|
|
}
|
|
}
|
|
|
|
|
|
##########################################################################
|
|
##########################################################################
|