Существует много метрик, которые Вы могли контролировать.
Некоторые общие метрики:
Эти метрики дают Вам хорошую подсказку о том, как приложение работает и как память, эффективная, это. Эти метрики только имеют смысл для Ваших клиентов, когда каждое приложение имеет свой собственный процесс. Но они определенно очень ценны для Вас.
Более специализированный:
Я изображаю часть в виде графика этих чисел с pnp4nagios в нашей системе контроля. Это не разработано для создания отчетов, но Вы могли также использовать графики для создания отчетов
Если в журналах вашего веб-сервера регистрируются параметры запроса, выполните поиск известного SQL (например, SELECT
) в журналах.
Если они не регистрируют запрос параметры, то вы вряд ли что-нибудь найдете в журналах, скорее вам придется искать шаблоны - например, повторяющийся URL-адрес, который обычно не повторяется.
Я использовал эту командную строку Linux для определения возможных SQL-инъекций:
egrep -i '\bUNION\b|\bSELECT\b|\bCHAR\b' $access_log
Вы также можете добавить другие ключевые термины, но это те, которые я нашел в своих журналах.
Чтобы сгенерировать список ошибочных IP-адресов, придумайте более интересный вариант:
egrep -i '\bUNION\b|\bSELECT\b|\bCHAR\b' $access_log | sed -n 's/\([0-9\.]\+\).*/\1/p' | sort | uniq -c
Подсчитывает ошибочные IP-адреса по количеству экземпляров:
335 160.153.153.31
1197 175.138.67.67
508 76.72.165.79
208 92.60.66.184
111 95.143.64.185
Я использую тот же подход, что и Кен, но предпочитаю awk
.
$ access_logs='/var/log/httpd/*access*log*'
$ grep -E -hi '\bUNION\b|\bSELECT\b|\bCHAR\b' $access_logs | awk '{print $1}' | sort | uniq -c | sort -nr | head
Чтобы получить список 10 лучших IP-адресов. Это также будет искать все старые журналы доступа, сжатые с помощью gzip с помощью logrotate
.