Лог-файлы сервера
Server logs
Лог-файлы сервера — файлы с записями событий, которые серверная программа сохраняет по заданным правилам. В зависимости от настроек они содержат сведения о запросах, ответах и ошибках и помогают выяснить, что происходило при работе сервера.
Это определение опирается на документацию Apache: она описывает запись событий от получения запроса до завершения соединения, включая ошибки. Документация NGINX отдельно связывает запись запросов с выбранным форматом журнала. [1, 2]
Кратко
- Журнал доступа показывает обращения, журнал ошибок — диагностические сообщения. [1]
- Состав полей и условия записи влияют на выводы анализа. [2]
- Имя поискового робота в запросе ещё не подтверждает его происхождение. [4, 5]
- Доля ошибочных ответов имеет смысл только вместе с периодом, выборкой и знаменателем.
Происхождение и история термина
История веб-журналов связана с поиском общего способа записывать и разбирать обращения. В проекте W3C Extended Log File Format 1996 года Филлип Халлам-Бейкер и Брайан Белендорф описали ограничение распространённого Common Log Format: фиксированный набор сведений об обмене между клиентом и сервером. Авторы предложили расширяемый формат с заголовком, перечисляющим записанные поля. [7]
Это был рабочий проект, а не утверждённая рекомендация W3C. Он показывает развитие самой практики: от одинакового набора полей к выбору данных под задачу анализа, в том числе с учётом конфиденциальности. Современное руководство NGINX также предусматривает настройку формата, однако это самостоятельная реализация, а не доказательство прямого наследования проекта. [2, 7]
Суть и механизм
Клиент — например, браузер или поисковый робот — отправляет запрос серверу. Сервер обрабатывает его и формирует ответ. HTTP — протокол, то есть правила такого обмена; метод GET означает запрос на получение представления ресурса, например содержимого страницы. [8] Журнал сохраняет выбранные сведения об этом обмене, а не экран посетителя. [1]
Учебный пример: в журнале есть фрагмент "GET /news/old.html HTTP/1.1" 404. Здесь /news/old.html — запрошенный путь, HTTP/1.1 — версия протокола, а 404 — код ответа. По RFC 9110 он означает, что сервер не нашёл текущего представления ресурса либо не желает раскрывать его наличие. Один этот код не показывает, временная ситуация или постоянная. [8]
В учебной ситуации новость должна открываться по указанному адресу. Поэтому запись становится поводом проверить ссылку и доступность материала. Если новость намеренно удалили, тот же ответ требует другого объяснения. Лог даёт наблюдение, а причину устанавливают дополнительной проверкой: нельзя заключить по одной строке, что редактор случайно удалил страницу.
При разборе важна конфигурация. NGINX позволяет пропускать запросы по условию и накапливать записи в буфере — промежуточной области памяти — перед записью в файл. [2] Поэтому выгрузка может охватывать только часть обращений, а последняя строка файла не обязательно соответствует последнему завершённому запросу.
Виды и классификации
В документации Apache выделены два основных для этой задачи журнала: access log, или журнал доступа, с записями обработанных запросов, и error log, или журнал ошибок, с диагностической информацией. Формат и подробность сообщений настраиваются. [1] Это различение конкретного руководства, а не обязательная схема для любой серверной программы.
Для анализа редакция предлагает дополнительно различать журналы по охвату: за полный выбранный период или только его часть; со всеми нужными обращениями или с фильтром. Например, файл только с ответами 404 помогает найти проблемные адреса, но сам по себе не позволяет узнать долю таких ответов среди всех обращений. Для знаменателя потребуются записи остальных запросов.
Как применяется на практике
В техническом SEO — работе над доступностью сайта для поисковых систем — логи помогают исследовать обход: обращения роботов к страницам и другим ресурсам. Учебный пример: редакция перенесла архив и хочет проверить, запрашивал ли робот старые адреса. Аналитик выбирает период после переноса, отбирает обращения к архиву и группирует ответы по адресам. Полученная таблица отвечает на вопрос об обращениях, а не о присутствии новостей в поисковой выдаче. Яндекс прямо отмечает, что некоторые его роботы скачивают документы для целей, отличных от индексации. [5]
Для отбора нельзя полагаться только на User-Agent — поле запроса с заявленным именем клиентской программы: его можно подделать. [5] Google и Яндекс описывают проверку через DNS — систему соответствия доменных имён и сетевых IP-адресов. Сначала по адресу получают имя, проверяют его принадлежность поисковику, затем по имени снова получают адрес и сравнивают с исходным. Google также публикует диапазоны адресов для автоматической проверки. [4, 5]
В учебном архиве это означает два отдельных шага: сначала выделить предполагаемого робота, затем подтвердить его происхождение. Подпись таблицы должна сохранять различие между «заявил имя робота» и «прошёл проверку». Иначе обращения посторонней программы могут изменить вывод о поведении поисковой системы.
Как измерить или проверить
Учебный пример: за сутки в полном журнале выбранного сервера найдено 1000 подтверждённых запросов одного робота к архиву. Среди них 80 ответов имеют код 404. Доля таких ответов рассчитывается как число запросов с выбранным кодом, делённое на все запросы той же группы:
Доля ответов 404 = 80 / 1000 × 100% = 8%.
Знаменатель включает и успешные, и неуспешные обращения; период, робот и раздел одинаковы для обеих частей расчёта. Результат означает, что восемь из каждых ста учтённых запросов получили 404. Это не доля удалённых страниц: робот мог многократно обратиться к одному адресу. Если запросов в выбранной группе вообще нет, доля не определена, а не равна нулю.
Для сравнения допустим ещё один учебный день: 40 ответов 404 при 500 запросах. Доля снова равна 8%, хотя число ответов уменьшилось вдвое. Поэтому полезно показывать и количество, и долю. Если же во второй день включён фильтр, сохраняющий только 404, расчёт 40 / 40 характеризует отфильтрованный файл и не сопоставим с первым днём.
Отчёт Crawl Stats в Google Search Console — статистика сканирования сайта — имеет собственные правила. Он считает повторные запросы отдельно, учитывает отдельные обращения в цепочке серверных перенаправлений, а также некоторые несостоявшиеся загрузки. Google предупреждает и о возможном неполном учёте запросов. [3] Поэтому расхождение с локальной выгрузкой сначала проверяют по составу событий и охвату доменов, а не объявляют ошибкой измерения.
Ошибки, ограничения и спорные вопросы
Строка журнала не равна человеку. В Apache записанный IP-адрес может принадлежать прокси — промежуточному серверу, через который идёт обращение. [1] В учебном примере два сотрудника используют один такой сервер: одинаковый адрес в журнале не позволяет уверенно объединить их действия в одного посетителя.
Другой частый просчёт — считать отсутствие строки доказательством отсутствия события. Сначала нужно исключить отключённую запись, фильтр и задержку буфера. [2] В отчёте редакция рекомендует сохранять период с часовым поясом, описание полей и правила отбора. Эти сведения позволяют другому специалисту повторить расчёт и понять, сравниваются ли одинаковые группы запросов.
Правовой аспект
Для российского сайта важно установить, содержит ли выгрузка сведения, относящиеся к определённому или определяемому человеку: это критерий персональных данных по пункту 1 статьи 3 закона № 152-ФЗ. Запись, хранение и передача входят в обработку по пункту 3 той же статьи. При наличии таких данных требуется применимое основание из статьи 6, например согласие или предусмотренная законом необходимость обработки; техническая цель сама по себе его не заменяет. [6]
Здесь использована редакция закона от 26.07.2026, действующая на дату проверки. Передачу конкретной выгрузки следует оценивать с юристом по её составу и условиям обработки. Из определения лог-файла нельзя вывести универсальное разрешение передавать его внешнему аналитическому сервису.
Частые вопросы
Можно ли искать запросы только в error log?
Нет: журнал ошибок предназначен для диагностики, а обращения исследуют по журналу доступа с подходящей настройкой. [1]
Слово Googlebot подтверждает визит Google?
Нет. Заявленное имя проверяют дополнительными способами, описанными Google. [4]
Отсутствие адреса в примерах Crawl Stats означает, что его не запрашивали?
Нет. Google предупреждает, что список примеров не исчерпывающий. [3]
Восемь процентов ответов 404 — это восемь процентов страниц?
Нет. В приведённом расчёте считаются запросы, включая повторные; для доли страниц понадобятся другой числитель и другой знаменатель.
Связанные термины
Источники
- Apache Software Foundation. (n.d.). Log files: Apache HTTP Server 2.4. https://httpd.apache.org/docs/2.4/logs.html (дата обращения: 30.10.2026). ↑ а б в г д е
- NGINX. (n.d.). Module ngx_http_log_module. https://nginx.org/en/docs/http/ngx_http_log_module.html (дата обращения: 30.10.2026). ↑ а б в г д
- Google. (n.d.). Crawl Stats report. Search Console Help. https://support.google.com/webmasters/answer/9679690?hl=en (дата обращения: 30.10.2026). ↑ а б
- Google. (n.d.). Verify requests from Google crawlers and fetchers. Google Crawling Infrastructure. https://developers.google.com/crawling/docs/crawlers-fetchers/verify-google-requests (дата обращения: 30.10.2026). ↑ а б в
- Яндекс. Как проверить, что робот принадлежит Яндексу // Вебмастер : справка. — URL: https://yandex.ru/support/webmaster/ru/robot-workings/check-yandex-robots (дата обращения: 30.10.2026). ↑ а б в г
- О персональных данных : Федеральный закон от 27.07.2006 № 152-ФЗ : ред. от 26.07.2026 : ст. 3, п. 1, 3; ст. 6, ч. 1, п. 1–2 // КонсультантПлюс. — URL: https://www.consultant.ru/document/cons_doc_LAW_61801/ ; https://www.consultant.ru/document/cons_doc_LAW_61801/4f41fe599ce341751e4e34dc50a4b676674c1416/ ; https://www.consultant.ru/document/cons_doc_LAW_61801/315f051396c88f1e4f827ba3f2ae313d999a1873/ (дата обращения: 30.10.2026). ↑
- Hallam-Baker, P. M., & Behlendorf, B. (1996). Extended log file format (W3C Working Draft WD-logfile-960323). World Wide Web Consortium. https://www.w3.org/TR/WD-logfile.html (дата обращения: 30.10.2026). Исторический рабочий проект. ↑ а б
- Fielding, R., Nottingham, M., & Reschke, J. (Eds.). (2022). HTTP semantics (RFC 9110, STD 97; §§ 9.3.1, 15.5.5). Internet Engineering Task Force. https://www.rfc-editor.org/rfc/rfc9110.html (дата обращения: 30.10.2026). ↑ а б
Служебный блок
- Версия
- 2.0
- Факты проверены
- Подготовка
- Редакция Медиатрона
- Публикация
- утверждена владельцем издания 4 ноября 2026 г.
Редакция Медиатрона. Факты сверены с первоисточниками на дату проверки, публикация утверждена владельцем издания.
Нашли ошибку? info@mediatrone.ru