Логи – это инструмент, при помощи которого можно отслеживать рабочий процесс сервера или сайта. Поэтому знать, как читать логи это полезное умение для выявления сбоев в работе ПО, быстрого и результативного реагирования на другие проблемы (выявление злонамеренных действий), эффективного анализа рабочий процесс, противодействия DDoS-атакам.

Содержание:

  1. Что такое логи и зачем они нужны?
  2. Классификация логов
  3. Типы логов и где их найти
  4. Какая информация хранится в логах и как ее интерпретировать
  5. Программы для анализа логов

Что такое логи и зачем они нужны

Логи (log) – это специальные текстовые файлы, в которых в хронологическом порядке фиксируется информация обо всех действиях программы или пользователей. Проще говоря, это журнал регистрации всех событий происходивших в системе:

  • ошибки сервера (сбои), возникающие при обращении к некоторым функциям сайта или задачам;
  • данные о доступе – запись о подключении (или попытке входа) каждого пользователя, откуда и как он попал на сайт;
  • прочие, записывающие информацию о работе компонентов сервера.

Классификация логов

Логи сервера

В зависимости от того, какая информация записывается, и для каких целей она используется, логи ошибок сервера можно классифицировать по разным критериям:

  • доступа (access_log) – для записи IP-адреса, времени запроса, типа запроса, кода ответа, объема переданных данных и других параметров, связанных с обращением пользователей к сайту;
  • ошибок (error_log) – показывают ошибки, возникающие на сервере при обработке запросов пользователей или при выполнении других задач;
  • FTP-авторизаций – для отображения информации об авторизации пользователей на FTP-сервере, который используется для загрузки и скачивания файлов с сайта;
  • загрузки системы – для записи информации о запуске и остановке сервера, а также о состоянии его компонентов: процессора, памяти, дисков и т.д.;
  • основные – с информацией о действиях, выполняемых на сервере администратором или другими пользователями (вход в систему, выполнение команд, изменение настроек и т.д.);
  • планировщика задач – для протоколирования задач, запланированных для автоматического выполнения на сервере в определенное время (резервное копирование, очистка, обновление и т.д.);
  • баз данных – для хранения подробностей о действиях, связанных с работой БД на сервере (подключение, запросы, ответы, транзакции, ошибки и т.д.);
  • хостинговой панели — для хранения данных о действиях, касающихся использования хостинговой панели, которая предоставляет интерфейс для управления сайтом и сервером;
  • веб-сервера – для анализа веб-сервера, оптимизации его производительности, настройки параметров и т.д.
  • почтового сервера – для записи информации о почтовых сообщениях, отправляемых и получаемых пользователями сайта.

Типы логов и где их найти

Месторасположение логов зависит от используемого ПО, настроек, прописанного админом пути. Чаще всего server logs сохраняются в var/log/. Однако, не все сервисы помещают файлы регистрации в эту директорию. В любом случае, можно уточнить такую информацию у веб-хостера.
У дистрибутивов Linux CentOS или Fedora логи серверной машины лежат в /var/log/. Там можно найти:

ошибки сервера файл лог
  • файл регистрации ошибок error.log;
  • данные о доступах log;
  • основной системный журнал syslog;
  • файл загрузки ОС dmesg;
  • журнал nginx.

Лог ошибок MySQL ($hostname.err) хранится в /var/lib/mysql/. Для Debian или Ubuntu местоположение логов аналогично, за исключением log file ошибок MySQL: /mysql/error.log. А также – логи веб сервера Apache сохраняются по пути /var/log/apache2.
У ОС Windows дружной метод структурирования log-файлов. События делятся на несколько уровней:

  • предупреждение – Warning;
  • подробности (System и EventData);
  • ошибка – Error;
  • сведения – Information;
  • критический – Critical.

Их можно отсортировать или отфильтровать и выбрать необходимое.

Запуск и отключение логов осуществляется с административной панели. Как правило, доступ через раздел «журнал» или «логи». При этом стоит учитывать, что файлы не сохраняются годами. Поэтому, при необходимости посмотреть log, это нужно сделать своевременно.

Нравится статья? А еще у нас есть множество услуг, которые могут быть вам полезны

Какая информация хранится в логах и как ее интерпретировать?

Для большинства пользователей содержимое log-файлов это бессмысленный набор символов. Как читать логи, чтобы понять, что в них зашифровано?
Строка access.log сервера содержит:

  • адрес ресурса;
  • IP-адрес пользователя;
  • дата и время посещения, часовой пояс;
  • GET/POST – запрос на получение или отправку данных;
  • к какой странице обращались;
  • протокол пользователя (как зашел на ресурс);
  • код отклика сервера;
  • число переданных байтов;
  • информация о посетителе (боте) – устройство, ОС, другие данные.

Как правило, такой информации достаточно, чтобы проанализировать ситуацию и сделать нужные выводы. Например, заблокировать бота, который создал чрезмерную нагрузку на сайт.
Файл ошибок (error.log) регистрирует моменты, когда что-то пошло не так. Из них можно узнать:

  • когда произошла ошибка (дата, время), ее тип и IP-адрес пользователя;
  • тип события;
  • где находится сам файл и строка с сообщением

Конечно, даже после расшифровки, данных логов еще нужно проанализировать. Для этого существует различное ПО, которое помогает отрабатывать данные из логов – Weblog Expert, WebAlyzer, Analog, Webtrends, Awstats, SpyLOG Flexolyzer и другие платные и бесплатные программы.

Программы для анализа логов

Чтобы лучше понимать и использовать информацию, нужно знать, где посмотреть логи сервера. Для этого существует 2 вида программ: статические и работающие в режиме реального времени. Статические программы для просмотра логов веб сервера анализируют уже записанные сведения и генерируют отчеты в виде графиков, таблиц, диаграмм и т.д. Такие программы позволяют получать общую картину о работе сайта и сервера за определенный период времени. Примерами статических программ являются WebLog Expert и Web Log Explorer.

Программы, работающие в режиме реального времени, анализируют логи, поступающие на сервер онлайн. Они отображают результаты анализа в виде интерактивных дашбордов, графиков, счетчиков и т.д. Такие программы позволяют наблюдать за текущей работой сайта и сервера и оперативно реагировать на возникающие ситуации. В качестве примера онлайн программ можно привести GoAccess и Logstash.