Заметки по системному администрированию в основном пишу для себя, в интернете как говорится целее будет. Но вдруг кому-то пригодится. Данный скрипт я запускаю для анализа логов веб-сервера Angie, чтобы быстро оценить аномальные всплески обращений и при необходимости добавить новое правило фильтрации в fail2ban, о котором я писал здесь: https://dzen.ru/a/Z0W9rGxYTnfTW47S Сам скрипт, анализирует логи access_* и error_* и выводить ТОП-25 наиболее встречающихся IP. В настройках можно задать диапазон IP для исключения в формате CIDR (например yandex/google bot, свои IP и т.д.) #!/bin/bash # Скрипт анализа логов Angie/Nginx и вывода списка наиболее встречающихся IP-адресов # Настройки TOP_COUNT=25 MIN_ACCESS_COUNT=10 MIN_ERROR_COUNT=10 # Список игнорируемых CIDR IGNORE_CIDRS=( "155.55.128.0/20" "166.66.144.0/20" ) # Функция для проверки IP check_ip() { local check_ip=$1 local ip_long=$(ip2long "$check_ip") for cidr in "${IGNORE_CIDRS[@]}"; do local net=${cidr%/*} local bits=${cidr#*/} local
Скрипт анализа логов Angie/Nginx и вывода списка наиболее встречающихся IP-адресов
28 ноября 202428 ноя 2024
8
2 мин