Настройка еженедельного публичного вывода отчетов fail2ban для мониторинга

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

Отчеты Fail2ban

image

Вот как выглядит вывод.

fail2ban-report

GitHub - haturatu/f2b-report: f2b-report читает вывод fail2ban-client status <jail> из stdin и записывает простой HTML-отчет в stdout. · GitHub

Опубликовано по ссылке выше.
Спрос на это довольно нишевый.

Автоматизация

Результат вывода fail2ban-client status <jail>, полученный из стандартного ввода, преобразуется в простой HTML.
Кроме того, сам процесс вывода полностью автоматизирован. В моем случае есть два сервера, работающих как кэш-серверы, поэтому необходимо синхронизировать вывод.

Это нужно потому, что иначе HTML-файл может оказаться только на одном из серверов Nginx.

Вот как это работает:

Создается git-репозиторий, содержащий shell-скрипт для синхронизации, статические файлы и HTML.

git pull для синхронизации репозитория

Получение имен правил из fail2ban-client status

Для существующих правил вывод fail2ban-client statsu <jail> передается через пайп в f2b-report для генерации HTML-файла

Генерация index.html из всех файлов *.html в текущем каталоге

Копирование в директорию f2b-report внутри /usr/local/www/

Выполнение git commit && git push

Все это настраивается в cron, и на этом все.
Кроме того, имя, переданное в качестве первого аргумента shell-скрипту, используется как prefix для генерации html-файла.

В качестве переменных окружения передаются путь к исполняемому файлу f2b-report и путь для копирования вместе с выполнением.

Related Posts