Как получить уникальные IP-адреса из файла журнала веб-сервера

Часто администраторам сайтов необходимо найти уникальные IP-адреса, которые приводят трафик на их сайты. Обычно это делается для определения источников трафика высокой ценности, а также для обнаружения спама. В этой статье мы узнаем, как получить уникальный IP-адрес из файла журнала.

Как получить уникальный IP-адрес из файла журнала

В нашей статье мы будем получать уникальный IP-адрес из лог-файла сервера Apache. Вы можете использовать этот метод и для лог-файлов других серверов.

Вот пример записи журнала от Apache.

В большинстве файлов журнала первым значением в каждой записи журнала является IP-адрес, с которого был получен запрос. Вы можете использовать следующую команду tail для получения последней записи вашего файла журнала, которую вы можете использовать для изучения его формата.

Чтобы получить уникальный IP-адрес, мы используем комбинацию команд awk, sort и uniq. Допустим, ваш файл журнала apache находится по адресу /home/ubuntu/apache_log, тогда вот команда awk для извлечения первого значения (столбца) из каждой записи.

В приведенной выше команде awk, $1 очень важен, поскольку он определяет номер столбца IP-адреса в каждой строке входного файла. Например, если IP-адрес находится в 3-й колонке, а не в 1-й, то вам нужно заменить $1 на $3.

Каждый запрос, отправленный на ваш веб-сервер, регистрируется как отдельная запись, поэтому для каждого IP-адреса будет несколько записей. Это происходит потому, что каждый запрос (html, css, js, изображения и т.д.), отправленный с веб-страницы на клиентском браузере, регистрируется как отдельная запись.

Поэтому приведенный выше вывод команды awk будет содержать несколько записей для каждого IP-адреса. Мы будем использовать команду sort для сортировки IP-адресов. Для этого мы передадим вывод команды awk команде sort.

Наконец, мы используем команду uniq для получения уникального списка IP-адресов. Для этого мы передадим вывод команды sort в команду uniq.

Приведенная выше команда даст вам список уникальных IP-адресов в файле журнала вашего веб-сервера.

Список уникальный IP-адрес из файла журнала

Если вы хотите получить количество уникальных IP-адресов, посещающих ваш сайт, то вы можете передать вышеприведенный результат команде wc, как показано ниже.

количество уникальных IP-адресов

Если первый столбец журнала вашего сервера не содержит IP-адрес, то обновите приведенную выше команду awk соответствующим образом. Например, если IP-адрес находится в третьем столбце каждой записи, то обновите команду awk, как показано на рисунке.

Заключение

В этой статье мы рассмотрели простой способ получения уникального IP-адреса из файла журнала. Вы можете настроить его в соответствии с вашими требованиями, в зависимости от формата журнала, изменив команду awk

Понравилась статья? Поделиться с друзьями:
Добавить комментарий