Merge pull request #500 from alasdairdc/master

ENH: Updated nagios check_fail2ban to return performance data for all jails
pull/504/head
Daniel Black 2013-12-18 00:38:15 -08:00
commit 42a51930dd
3 changed files with 6 additions and 2 deletions

View File

@ -34,6 +34,7 @@ ver. 0.8.12 (2013/12/XX) - things-can-only-get-better
- remove indentation of name and loglevel while logging to SYSLOG to - remove indentation of name and loglevel while logging to SYSLOG to
resolve syslog(-ng) parsing problems. Closes Debian bug #730202. resolve syslog(-ng) parsing problems. Closes Debian bug #730202.
- added squid filter. Thanks Roman Gelfand. - added squid filter. Thanks Roman Gelfand.
- updated check_fail2ban to return performance data for all jails.
- New Features: - New Features:

1
THANKS
View File

@ -10,6 +10,7 @@ Adam Tkac
Adrien Clerc Adrien Clerc
ache ache
ag4ve (Shawn) ag4ve (Shawn)
Alasdair D. Campbell
Amir Caspi Amir Caspi
Andrey G. Grozin Andrey G. Grozin
Andy Fragen Andy Fragen

View File

@ -165,7 +165,7 @@ if (($critical < 0) or ($warning < 0) or ($critical < $warning)) {
# Core script # Core script
# ----------- # -----------
my ($how_many_jail,$how_many_banned,$return_print,$plugstate) = (0,0,"","OK"); my ($how_many_jail,$how_many_banned,$return_print,$perf_print,$plugstate) = (0,0,"","","OK");
### Test the connection to the fail2ban server ### Test the connection to the fail2ban server
@ -190,6 +190,7 @@ if ($jail_specific) {
else { else {
$how_many_banned = int($current_ban_number); $how_many_banned = int($current_ban_number);
$return_print = $how_many_banned.' current banned IP(s) for the specific jail '.$jail_specific; $return_print = $how_many_banned.' current banned IP(s) for the specific jail '.$jail_specific;
$perf_print .= "$jail_name.currentBannedIP=$current_ban_number " if ($perfdata_value);
} }
} }
### To analyze all the jail ### To analyze all the jail
@ -214,6 +215,7 @@ else {
else { else {
print "DEBUG : the jail $jail_name has currently $current_ban_number banned IPs\n" if ($verbose_value); print "DEBUG : the jail $jail_name has currently $current_ban_number banned IPs\n" if ($verbose_value);
$how_many_banned += int($current_ban_number); $how_many_banned += int($current_ban_number);
$perf_print .= "$jail_name.currentBannedIP=$current_ban_number " if ($perfdata_value);
} }
} }
$return_print = $how_many_jail.' detected jails with '.$how_many_banned.' current banned IP(s)'; $return_print = $how_many_jail.' detected jails with '.$how_many_banned.' current banned IP(s)';
@ -224,7 +226,7 @@ $plugstate = "CRITICAL" if ($how_many_banned >= $critical);
$plugstate = "WARNING" if (($how_many_banned >= $warning) && ($how_many_banned < $critical)); $plugstate = "WARNING" if (($how_many_banned >= $warning) && ($how_many_banned < $critical));
$return_print = $display." - ".$plugstate." - ".$return_print; $return_print = $display." - ".$plugstate." - ".$return_print;
$return_print .= " | currentBannedIP=$how_many_banned" if ($perfdata_value); $return_print .= " | $perf_print" if ($perfdata_value);
print $return_print; print $return_print;
exit $ERRORS{"$plugstate"}; exit $ERRORS{"$plugstate"};