Fail2ban установлен на одном из серверов, я могу заблокировать каждый IP, который пытается войти в систему.
Я использую плагин check_log Nagios для захвата последней строки fail2ban.log, он сравнивается с fail2ban.log.old и сообщает о состоянии предупреждения при обнаружении слова «запрет».
Он работает, дело в том, что я не могу позволить ему выполнить только одну проверку и затем сбросить его до состояния ОК. Он продолжает отправлять мне электронные письма (и показывать мне предупреждения) о том же заблокированном IP-адресе (который теперь больше не заблокирован).
Я создал на сервере Nagios сервис под названием log-service специально для этого, где
passive_checks_enabled 0
is_volatile 1
max_check_attempts 1
retry_check_interval 2
Он проверяет службу каждые 2 минуты, но всегда сообщает о состоянии предупреждения (на данный момент я собрал 19 писем).
Может кто-нибудь сказать мне, что не так? Или лучший способ, если мой не самый лучший? Я не думаю, что есть необходимость публиковать какой-либо журнал, но если вы спросите, я просто отправлю его.
РЕДАКТИРОВАТЬ: определение службы (отредактировано)
define service{
name log-service
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 0 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 0 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
is_volatile 1 ; The service is not volatile
check_period 24x7 ; The service can be checked at any time of the day
max_check_attempts 1 ; Re-check the service up to 1 time in order to determine its final (hard) state
check_interval 2 ; Check the service every 2 minutes under normal conditions
retry_interval 2 ; Re-check the service every two minutes until a hard state can be determined
contact_groups admins ; Notifications get sent out to everyone in the 'admins' group
notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events
notification_interval 0 ; Re-notify about service problems every hour
notification_period 24x7 ; Notifications can be sent out at any time
register 0
}