Как вывести в лог fail2ban (/var/log/fail2ban.log) значение bantime

В логе при попадании в бан следующий формат записи

2021-08-06 06:50:49,622 fail2ban.actions        [18491]: NOTICE  [nginx-limit-req] Ban 192.168.1.1

Как кастомизировать лог что бы попадало время bantine - к примеру

2021-08-06 06:50:49,622 fail2ban.actions        [18491]: NOTICE  [nginx-limit-req] Ban 192.168.1.1 10800

Ответы (1 шт):

Автор решения: sebres

Напрямую (путём конфигурации) - никак.

Можно изменить через переписывание исходников модуля "actions.py":

- logSys.notice("[%s] %sBan %s", self._jail.name, ('' if not bTicket.restored else 'Restore '), ip)
+ logSys.notice("[%s] %sBan %s %s", self._jail.name, ('' if not bTicket.restored else 'Restore '), ip, self.getBanTime())

но... зачем?
Значение для <bantime> в этом сообщении константно (т.е. известно для каждой jail), т.к. (если речь идет про 0.11 с bantime.increment) проверка на "known as bad" (и пролонгирование) происходит асинхронно, и в вслучае продления fail2ban выдаст дополнительное сообщение в лог, например:

2021-08-06 20:21:45,231 [sshd] Ban 192.0.2.1
2021-08-06 20:21:45,239 [sshd] Increase Ban 192.0.2.1 (3 # 1 day, 14:05:45 -> 2021-08-08 10:27:29)

бан продлен из за 3-й блокировки, на 1 день 14 часов 5 минут, до 2021-08-08 10:27:29

→ Ссылка