Лог-файлы: что это такое и как правильно использовать и анализировать

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

Вебмастерам нужно получать информацию о том, как работает их сайт и сервер. Это можно узнать из log-файлов.

На виртуальном хостинге владельцы сайтов работают с логами web-сервера, доступ к которым предоставляет провайдер. На VPS/VDS и выделенных серверах можно работать с самыми разнообразными логами, которые записывают все работающие на сервере службы.

Информация, хранящаяся в лог-файлах, служит основой для диагностики работы различных системных служб, а также для разнообразной аналитики, например, о посещаемости сайта или о попытках взлома системы.

На платформе Windows также имеется служба журналирования событий, но там информация записывается не в текстовые файлы, а в журналы специального формата, доступ к информации которых возможен через службу Event Viewer.

Log-файлы и виртуальный хостинг

Провайдер хостинга обеспечивает доступ к лог-файлам web-сервера через панель управления.  Например, у провайдера Beget это выглядит так.

Лог-файлы: что это такое и как правильно использовать и анализировать

Также доступ к лог-файлам конкретного сайта можно получить через файл-менеджер (или по протоколу FTP).

У провайдера Beget в менеджере файлов их можно найти здесь.

Лог-файлы: что это такое и как правильно использовать и анализировать

При использовании популярной панели ISPmanager log-файлы доступны пользователю и располагаются в каталоге /log. Для каждого из сайтов присутствуют два лог-файла:

  • посещений (doman.name.access.log);
  • ошибок (domain.name.error.log).

Лог-файлы: что это такое и как правильно использовать и анализировать

Виды лог-файлов

Все программы и сервисы Linux ведут log-файлы.

Самые важные — это логи:

  • веб-сервера;
  • почтового сервера (maillog);
  • FTP-сервера;
  • сервера базы данных;
  • подсистемы авторизации  (auth.log)
  • логи самой системы (messages, syslog).

Log-файлы на сервере хранятся в специальном каталоге /var/log, внутри которого создаются отдельные файлы и папки для того или иного сервиса.

Различие в хранении log-файлов по версиям Linux

Дистрибутивы Linux имеют разный набор программного обеспечения и различные правила хранении log-файлов. В настоящее время наибольшее распространение получили два семейства дистрибутивов Linux:

  • системы, основанные на Debian (например, Ubuntu);
  • основанные на RedHat (Centos, Fedora).

Конкретная версия операционной системы для VPS/VDS выбирается у провайдера в личном кабинете пользователя перед заказом виртуального сервера.

Общие принципы для всех систем Linux одинаковы: log-файлы хранятся в папке /var/log. Разница проявляется лишь в наименовании отдельных файлов и каталогов для определенных подсистем, что зависит не только от версии Linux, но и от используемой панели управления хостингом.

Системные log-файлы

Опишем наиболее важные системные лог-файлы, хранящиеся в каталоге /var/log.

1. Общий системный журнал, в зависимости от версии Linux, записывается в файлы /var/log/syslog (Debian) или /var/log/messages (Redhat). В него пишется информация, начиная от старта системы:

  • сообщения от ядра Linux;
  • различных служб;
  • событиях;
  • и др.

2. Логи авторизации:  /var/log/auth.log (Debian) или /var/log/secure (Redhat). Сюда записывается информация об авторизации пользователей, включая неудачные попытки входа в систему.

3. /var/log/dmesg и /var/log/kern.log— сообщения ядра и драйверов устройств.

4. /var/log/boot.log — log загрузки операционной системы Linux.

5. /var/log/cron — отчет службы запуска по расписанию CRON.

Почти все log-файлы Linux представляют собой текстовые файлы, в которых каждая строчка содержит метку времени и описывает определенное событие. Исключение — это бинарный файл “wtmp”, в котором содержится информация о последних заходах пользователей на сервер.

Лог-файлы: что это такое и как правильно использовать и анализировать

Пример: содержимое каталога /var/log на Linux-системе. Видны текстовые .log-файлы системы, а также двоичный файл wtmp.

Логи web-сервера

Как правило, сайты на сервере работают под управлением web-сервера Apache или Nginx. Также их можно применять на сервере вместе, что позволит использовать сильные стороны каждой программы.

И Apache, и Nginx создают по два файла:  один — для записи посещений, второй — для хранения информации об ошибках.

Также к логам веб-сервера относятся лог-файлы интерпретатора PHP (php-fpm) и файлы ошибок PHP.

Логи web-сервера Apache

Web-сервер Apache создает два лог-файла:

  • журнал посещений (access.log или access_log);
  • журнал ошибок (error.log или error_log).

Для удобства эти файлы могут создаваться по отдельности для каждого сайта, размещенного на сервере. Тогда они имеют названия “domain.name_access.log” и “domain.name_error.log”.

На Linux-системах семейства Debian логи Apache хранятся в каталоге /var/log/apache2, для систем, основанных на RedHat в /var/log/httpd.

Лог-файлы: что это такое и как правильно использовать и анализировать

Пример лог-файла посещений Apache. Список файлов в каталоге показывается командой linux “ls -l”

Для чтения информации из log-файла можно использовать команду “cat имя-лог-файла” или “tail имя-log-файла”.

Лог-файлы: что это такое и как правильно использовать и анализировать

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

Логи web-сервера Nginx

Nginx также создает два лог-файла для посещений и ошибок. Они располагаются в каталоге /var/log/nginx. В случае совместной работы с Apache лог-файлы Nginx иногда объединяются в один файл с логами Apache, но это несколько неудобно, с точки зрения обнаружения ошибок.

Если Nginx настроен для обслуживания нескольких сайтов, то его лог-файлы записываются отдельно для каждого сайта.

В случае использования Nginx совместно с панелью управления Vesta, log-файлы для отдельных сайтов хранятся в папке /var/log/nginx/domains, а в папке конкретного пользователя в каталоге logs создаются псевдонимы для этих файлов.

Лог-файлы: что это такое и как правильно использовать и анализировать

Пример: вывод командой “ls *.log” списка log-файлов web-сервера nginx в папке /var/log/nginx/domains (на снимке экрана видно, что там хранятся файлы сразу нескольких сайтов)

Логи интерпретатора PHP

Если интерпретатор PHP работает отдельно в виде сервера PHP-FPM, то его логи хранятся на сервере также отдельно в каталоге /var/log/php-fpm. Если PHP используется как модуль Apache или через подсистему CGI, то его сообщения об ошибках записываются в лог Apache (error.log).

В PHP есть возможность записи ошибок для определенной страницы сайта в отдельный лог-файл (это делается через файл .htaccess). В таком случае файлы ошибок PHP располагаются в одном каталоге с конкретной страницей сайта и имеют вид “php_error.log” или просто “error.log”.

Ротация log-файлов

Для посещаемого сайта размеры лог-файлов могут достигать сотен мегабайт. Рано или поздно они начинают занимать много дискового пространства, поэтому на серверах Linux используется механизм ротации log-файлов.

Как это работает? 1. Данные о посетителях (или ошибках) сайта записываются в файл с обычным названием, например, access.log. 2. Раз в сутки (обычно в ночное время) этот файл автоматически переименовывается в “access.log.1” и сжимается архиватором Gzip. 3. Имя файла становится вида “access.log1.gz”.

4. Вместо этого файла web-сервер начинает записывать информацию в новый файл access.log.5. Еще через сутки архивный файл “access.log.1.gz” переименовывается в “access.log.2.gz”, и вместо него создается новый архив “access.log.1.gz” из текущего log-файла web-сервера и так далее.

Всего на сервере хранятся сжатые log-файлы за последний месяц.

Лог-файлы: что это такое и как правильно использовать и анализировать

Пример: на снимке экрана виден список log-файлов web-сервера. Среди них присутствуют как текущие файлы access.log и error.log за сегодняшний день, так и файлы за предыдущие дни access.log.1, error.log.1 и так далее.

То же происходит и с log-файлами других сервисов: почта, FTP, системные логи — все они проходят через ротацию.

Читайте также:  Что такое скрипт и для чего он нужен: что делают скрипты на сайте

Таким образом, ротация файлов помогает сохранять место на диске. Зная общий принцип, по которому именуются сжатые лог-файлы, системный администратор может найти нужную информацию за конкретный период времени.

Log-файлы почтовой системы

На сервере Linux могут быть установлены разнообразные программы для работы почтовой подсистемы. В последнее время большинство панелей управления хостингом (VestaCP, cPanel, ISPmanager) используют связку из почтовой программы Exim для отправки и приема писем (протокол SMTP) и другой почтовой программы Dovecot — для доступа пользователей к почтовым ящикам (протоколы IMAP/POP3).

В случае применения почтовой программы, Exim-логи хранятся в каталоге /var/log/exim (mainlog — для записей событий, panic.log — для сообщений об ошибках). Dovecot использует для записи информации основной лог-файл почтовой системы /var/log/maillog или /var/log/mail.log.

Лог-файлы: что это такое и как правильно использовать и анализировать

Пример: log-файлы сервера Exim в папке /var/log/exim. На снимке экрана — вывод списка файлов командой ls -l

Log-файлы FTP-сервера

Вариантов программного обеспечения для FTP Linux много, но принцип хранения log-файлов примерно одинаковый.  В папке /var/log создаются log-файлы FTP-сервера, например, vsftpd.

log или proftpd.log.

Также практически всеми FTP-серверами создается файл xferlog, в котором записывается информация о файлах, скачанных с сервера или закачанных на сервер по протоколу FTP.

Лог-файлы: что это такое и как правильно использовать и анализировать

Пример: log-файлы FTP-сервера vsftpd. На снимке экрана — вывод команды списка файлов, созданных FTP-сервером (vsftpd.log и xferlog)

Log-файлы сервера базы данных

Популярный сервер базы данных MySQL также ведет log-файл “mysqld.log”. Он располагается в папке /var/log/mysql или /var/log/mariadb, в зависимости от используемой версии MySQL.

Также сервер MySQL может создавать в этой папке файл отладки медленных запросов к базе данных. Обычно он называется “mysql_slow.log”.

Пример: содержимое файла медленных запросов MySQL. Вывод содержимого log-файла командой “tail mysql_slow.log”

Использование log-файлов для отладки работы web-сайтов

Web-сервер Apache (также и Nginx) создают файл, который может называться просто error.log (error_log). В случае большого количества web-сайтов на сервере он будет иметь вид domain.ru.error.log.

  • Если, например, конкретный web-сайт показывает в браузере ошибку 500, то можно зайти в этот файл и посмотреть, что именно происходит на сервере.
  • Пример: просмотр лог-файла ошибок web-сервера из панели провайдера Beget через файл-менеджер
  • После открытия log-файла пользователь видит, что в исходном коде скрипта PHP допущена ошибка, которую надо исправить.

При работе с лог-файлами web-сервера на виртуальном сервере необходимо знать, в каком каталоге находятся log-файлы для того или иного сайта. Это зависит от установленного на сервере программного обеспечения, в частности, — от конкретной панели управления.

Например, если пользователь применяет панель VestaCP на своем виртуальном сервере, то для просмотра лог-файлов для сайта mysite.ru ему необходимо в командной строке сервера зайти в каталог /home/admin/web/mysite.ru/logs.

Пример: содержимое рабочего каталога панели VestaCP. Виден каталог logs, в котором хранятся log-файлы

Там он обнаружит нужные log-файлы, конкретно — mysite.ru.error.log.

Последние строки лог-файла будут содержать сообщение об ошибке, например:

  • проблему с файлом .htaccess;
  • ошибку подключения к серверу базы данных;
  • ошибку языка PHP.

Пример: просмотр сообщения об ошибках в файлах error.log с помощью команды tail: В этом конкретном примере пользователь видит в записях log-файла, что происходит ошибка интерпретатора PHP при обращении к базе данных MySQL.

Использование log-файлов для аналитики

Любому владельцу сайта нужно знать аудиторию своих посетителей. Эта информация содержится в лог-файлах посещений web-сервера (access.log). Для удобной обработки информации провайдеры хостинга, а также панели управления предлагают такие системы: Webalizer и AWStats.

  1. Пример: аналитика посещений web-сайта с использованием системы AWStats
  2. Также на основе лог-файлов можно получить представление о распределении нагрузки на сайт по времени суток, следить за ошибками ненайденных страниц, вести мониторинг безопасности.

Где посмотреть и как читать логи с ошибками сервера

13 апр в 2020 Лог-файлы: что это такое и как правильно использовать и анализировать Администрирование #VDS #Логи #Серверы

Блоги, форумы, посадочные страницы и другие интернет-ресурсы представляют собой совокупность графического, текстового, аудио- и видео-контента, размещенного на веб-страницах в виде кода. Чтобы обеспечить к ним доступ пользователей через интернет, файлы размещают на серверах. Это аппаратное обеспечение (персональный компьютер или рабочая станция), на жестком диске которого и хранится код. Ключевые функции выполняются без участия человека, что актуально для всех типов оборудования, включая виртуальный выделенный сервер. Но это не означает, что контроль не осуществляется. Большинство событий, которые происходят при участии оборудования, пользователей и софта, включая ошибки, логи сервера фиксируют и сохраняют. Из этой статьи вы узнаете, что они собой представляют, зачем нужны, и как их читать.

Лог-файлы: что это такое и как правильно использовать и анализировать

Что такое логи

Это текстовые файлы, которые хранятся на жестком диске сервера. Создаются и заполняются в автоматическом режиме, в хронологическом порядке. В них записываются:

  • системная информация о переданных пользователю данных;
  • сообщения о сбоях и ошибках;
  • протоколирующие данные о посетителях платформы.

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

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

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

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

Записи в системные журналы выполняет установленный софт.

Лог-файлы: что это такое и как правильно использовать и анализировать

Зачем нужны логи

Анализ логов сервера — неотъемлемая часть работы системного администратора или веб-разработчика. Обрабатывая их, специалисты получают массу полезных сведений. Используются в следующих целях:

  • поиск ошибок и сбоев в работе системы;
  • выявление вредоносной активности;
  • сбор статистики посещения веб-ресурса.

После изучения информации можно получить точную статистику в виде сводных цифр, информацию о юзерах, выявить поведенческие закономерности пользовательских групп.

Где посмотреть логи

Расположение определяется хостинг-провайдером или настройками установленного софта. На виртуальном хостинге доступ к лог-файлам предоставляется из панели управления хостингом.

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

По умолчанию он называется access.log, но настройки позволяют переименовать файл. Это актуально для Nginx, Apache, прокси-разновидностей squid, других типов. Для просмотра их надо скачать и открыть в текстовом редакторе.

В качестве альтернативы можно использовать Grep и схожие утилиты. Они позволяют открыть и отфильтровать логи прямо на сервере.

Читайте также:  Файл .htaccess: настройка, редирект, где находится, примеры использования

Лог-файлы: что это такое и как правильно использовать и анализировать

Как читать логи. Пример

Существует довольно много форматов записи, combined — один из наиболее распространенных. В нем строчка кода может выглядеть так:

%h %l %u %t «%r» %>s %b «%{Referer}i» «%{User-Agent}i»

Директивы имеют следующее значение:

  • %h — IP-адрес, с которого был сделан запрос;
  • %l — длинное имя удаленного хоста;
  • %u — удаленный пользователь, если запрос был сделан аутентифицированным юзером;
  • %t — время запроса к серверу и его часовой пояс;
  • %r — тип и содержимое запроса;
  • %s — код состояния HTTP;
  • %b — количество байт информации, отданных сервером;
  • %{Referer} — URL-источник запроса;
  • %{User-Agent} — HTTP-заголовок.

Еще один пример чтения логов можно посмотреть в статье «Как читать логи сервера».

Опытные веб-мастера для сбора и чтения лог-файлов используют программы-анализаторы. Они позволяют читать логи серверабез значительных временных затрат. Вот некоторые из наиболее востребованных:

  • Analog. Один из самых популярных анализаторов, что во многом объясняется высокой скоростью обработки данных и экономным расходованием системных ресурсов. Хорошо справляется с объемными записями, совместим с любыми ОС.
  • Weblog Expert. Программа доступна в трех вариациях: Lite (бесплатная версия), Professional и Standard (платные релизы). Версии отличаются функциональными возможностями, но каждая позволяет анализировать лог-файлы и создает отчеты в PDF и HTML.
  • SpyLOG Flexolyzer. Простой аналитический инструмент, позволяющий получать отчеты с высокой степенью детализации. Интегрируется c системой статистики SpyLOG, позволяет решать задачи любой сложности.

Логи сервера с ошибками error.log

Это журнал с информацией об ошибках на сайте. В нем можно посмотреть, какие страницы отсутствуют, откуда пришел пользователь с конкретным запросом, имеются ли «битые» ссылки, другие недочеты, включая те, которые не удалось классифицировать. Используется для выявления багов и погрешностей в коде.

Каждая ошибка в логе сервера error.log отображается с новой строки. Идентифицировав и устранив ее, программист сможет наладить работу сайта. Используя журнал, можно выявить и слабые места веб-платформы. Это простой и удобный инструмент анализа, которым должен уметь пользоваться каждый веб-мастер, системный администратор и программист.

Администрирование #VDS #Логи #Серверы

Решение проблем с открытием некоторых сайтов в Windows 7 10 лучших программ для стриминга Лучшие сервисы для распознавания шрифта с картинки Лог-файлы: что это такое и как правильно использовать и анализировать Лог-файлы: что это такое и как правильно использовать и анализировать Критическая уязвимость в GitLab позволяет выполнять код без аутентификации Лог-файлы: что это такое и как правильно использовать и анализировать Лог-файлы: что это такое и как правильно использовать и анализировать Подкаст «Релиз в пятницу»: как сервисы обманом заставляют покупать больше Лог-файлы: что это такое и как правильно использовать и анализировать

Логи сервера: что это, зачем нужны, как включить, посмотреть, проанализировать

Лог-файлы: что это такое и как правильно использовать и анализировать

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

Зачем нужны логи?

Есть несколько видов логов:

  1. Логи доступа.
    Показывают, какой пользователь, в какую дату и время, по какой ссылке перешел
    на ресурс и каков был получен ответ. Данные записи помогают найти уязвимое
    место, если ресурс взломают.
  2. Логи
    ошибок.
    Показывают ошибки, выдаваемые при функционировании сайта либо в
    процессе обращения к его некоторым функциям. Здесь есть возможность отыскать и ликвидировать
    баг, приводящий к ошибке.
  3. Другие
    логи.
    Фиксируют события в различных серверских компонентах: логи почты
    сервера и т.п.

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

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

Как включить журнал записей?

В большинстве случаев хостер отключает функцию записи логов на хостинге, чтобы сохранить больше места на диске. На примере админки хостинга Beget.com рассмотрим, как активировать запись логов:

  1. Заходим в панель администратора и находим вкладку Журналы — логи доступа.
  2. В соответствующем поле выбираем домен ресурса и кликаем на ползунки Журнал доступа, Журнал ошибок, чтобы он перешел в положение ВКЛ.

Лог-файлы: что это такое и как правильно использовать и анализировать

Здесь же вы видите путь, где располагаются ваши логи

Если у вашего хостинга в админ панели нет функции включить запись самостоятельно, то для получения логов потребуется обратиться в техподдержку хостинга и запросить их, так как они могут быть просто отключены.

Как посмотреть логи сервера?

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

Логи хранятся в файле access.log в системной папке любого сервера, будь то Nginx, Apache или любой другой. Лог-файлы открываются через текстовые редакторы. Любая строчка здесь соответствует не больше, чем одному обращению.

Отыскать логи можно и через панель управления хостинга, а именно в разделах Логи или Журналы.

Анализ логов сервера

Рассмотрим строку, взятую с записи одного из логов сервера:

site.ru 85.91.97.104 — — [11/Feb/2019:05:31:09 +0200] «GET /page/3/ HTTP/1.0» 200 70214 «-» «Ahrefs Bot (http://www.ahrefs.com/bot; bot@ahrefs.com)»

И рассмотрим значение всех символов, которые здесь есть:

  • site.ru – адрес рассматриваемого ресурса
  • 85.91.97.104 – IP-адрес пользователя, посетившего сайт, после которого идет дата и время перехода на страницу и часовой пояс
  • GET – запрос, означающий получение данных. Может быть еще запрос POST, то есть, отправка данных, к примеру, авторизация на сайте
  • page/3 – обращение сделано к 3-й странице
  • HTTP/1.0 – протокол пользователя, посредством которого он зашел на ресурс
  • 200 – код ответа, отправленного сервером посетителю
  • 70214 – число байт, переданных пользователю
  • Ahrefs Bot (http://www.ahrefs.com/bot; bot@ahrefs.com) – данные о пользователе или боте, с какого устройства он зашел, какую ОС использует и т.п. В нашем случае это бот парсера ahrefs.

Это один из множества логов, и чтобы прочитать их все вручную, нужно потратить невероятное количество сил и времени. Но на помощь вебмастерам приходят специальные анализаторы данных, трудно читаемых человеком. Они анализируют данные, а затем структурируют их. К часто используемым программам можно отнести:

  • WebAlyzer;
  • Webtrends;
  • Awstats.

И это далеко не все программные обеспечения, которые можно найти в сети. Они есть и в платном, и в бесплатном доступе.

На некоторых хостингах их можно установить при включении логов. Например в ранее нами рассматриваемом хостинге Beget.com когда мы включаем логи, нам предлагается установить Awstats.

Лог-файлы: что это такое и как правильно использовать и анализировать

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

Лог ошибок error.log

Это файл, где тоже протоколируются логи, но они относятся не
к пользователям, а к ошибкам, возникающим на сервере. Аналогично файлу access.log, в error.

Читайте также:  Что такое PuTTY: правильная настройка, примеры использовния

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

Рассмотрим пример:

[Sat Sep 1 15:33:40.719615 2019] [:error] [pid 10706] [client 66.249.66.61:60699]
PHP Notice: Undefined variable: moduleclass_sfx in
/var/data/www/site.ru/modules/contacts/default.php on line 14

  • Первая строка: дата и время/тип записи error (ошибка), а также IP адрес пользователя.
  • Вторая: событие PHP Notice – уведомление, расшифровка Undefined variable – неизвестная переменная.
  • Третья: путь к файлу с уведомлением и строка.

Здесь мы наблюдаем ошибку в модуле контактов, в файле default.php в строке 14.

Заключение

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

Логирование: что это и в чем его польза

Если в работе сервера, компьютера или программного обеспечения возникла неизвестная ошибка, в первую очередь смотрят логи.

Лог — текстовый файл с информацией о действиях программного обеспечения или пользователей, который хранится на компьютере или сервере.

Это хронология событий и их источников, ошибок и причин, по которым они произошли. Читать и анализировать логи можно с помощью специального ПО.

Лог-файлы: что это такое и как правильно использовать и анализироватьТак выглядит файл с логами

Логирование: что это и где применяется

Логированием называют запись логов. Оно позволяет ответить на вопросы, что происходило, когда и при каких обстоятельствах. Без логов сложно понять, из-за чего появляется ошибка, если она возникает периодически и только при определенных условиях. Чтобы облегчить задачу администраторам и программистам, в лог записывается информация не только об ошибках, но и о причинах их возникновения.

После перехода в продакшен, работу приложения нужно постоянно мониторить, чтобы предотвращать и быстро реагировать на потенциальные ЧП. Анализ логов — один из базовых инструментов в работе ИТ-специалистов.

Он помогает обнаружить источники многих проблем, выявить конфликты в конфигурационных файлах, отследить события, связанные с ИБ. А главное, благодаря логам найденные ошибки можно быстро исправить.

Поэтому логирование так важно при отладке программ, поиске источников проблем с прикладным программным обеспечением и базами данных.

Логи должны записываться во время работы каждого ИТ-компонента.

Вот несколько типичных случаев, в которых применяются логи:

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

Типы логов

Существуют разные уровни и разные подробности логирования. Когда ошибку сложно воспроизвести, используют максимально подробные логи; если это не требуется, собирают только ключевую информацию. Для работы с логами и поиском информации в огромных текстовых данных используют специализированные инструменты.

Для удобной работы с логами их делят на типы. Это помогает быстрее находить нужные и выбирать правильные инструменты для работы с ними. Например, выделяют:

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

Также логи можно типизировать по степени их важности:

  • Fatal/critical error — то, что нужно срочно исправить.
  • Not critical error — ошибки, которые не влияют на пользователя.
  • Warning — предупреждения, то, на что нужно обратить внимание.
  • Initial information — информация о вызовах API сервиса, запросах в БД, вызовах других сервисов.

Где ITGLOBAL.COM использует логирование

Специалисты ITGLOBAL.COM настраивают автоматический сбор, хранение и обработку логов в облачном хранилище. Облако позволяет воспроизвести события на целевой системе даже при ее полном отказе.

Поясним на примере. Допустим, файловая система одной из виртуальных машин повредилась и все данные на сервере были уничтожены. Инженеры получают уведомление об этом инциденте от системы мониторинга и восстанавливают работоспособность сервера через бэкапы.

После этого они анализируют логи, которые сохранились благодаря удаленной системе хранения.

Они похожи на черный ящик самолета, так как с их помощью специалисты восстанавливают последовательность событий при инциденте, делают выводы и вырабатывают решения, которые предотвратят появление таких инцидентов в будущем.

Также инженеры ITGLOBAL.COM используют логи для анализа действий пользователей. Они в любой момент могут восстановить, кто и когда совершал определенные действия внутри системы.

Для этого специалисты используют инструменты, которые автоматически контролируют базовые события, касающиеся безопасности. Например, если в субботу ночью появится учетная запись с правами суперпользователя, система сразу зарегистрирует это событие и пришлет уведомление.

Инженеры уточнят легитимность новой записи, чтобы предотвратить попытку несанкционированного доступа.

Инструменты

Сбор, хранение и анализ логов выполняется с помощью специальных инструментов. Расскажем, какие из них используют специалисты ITGLOBAL.COM.

Elasticsearch, Logstash и Kibana

Логи всех информационных систем, подключенных к услуге Managed IT, хранятся в распределенном хранилище на базе решения ELK (Elasticsearch, Logstash и Kibana).

Механизм сбора логов выглядит так: Logstash собирает логи и переносит их в хранилище, Elasticsearch помогает найти нужные строки в этих логах, а Kibana визуализирует их.

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

  • Logstash — приложение для работы с большими объемами данных, собирает информацию из разных источников и переводит ее в удобный формат.
  • Elasticsearch — система для поиска информации. Помогает быстро найти нужные строки в файлах хранения.
  • Kibana — плагин визуализации данных и аналитики в Elasticsearch. Помогает обрабатывать информацию, находить в ней закономерности и слабые места.

Лог-файлы: что это такое и как правильно использовать и анализироватьKibana преобразует данные в наглядные графики

Wazuh

Решение с открытым кодом для поиска логов, коррелирующих с моделями угроз информационной безопасности. С его помощью специалисты ITGLOBAL.COM мониторят целостность ИТ-систем и оперативно реагируют на инциденты.

Wazuh помогает:

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

Почему логирование нужно каждой компании

Логирование — еще один способ эффективно контролировать состояние инфраструктуры. В ITGLOBAL.COM оно входит в пакет услуг Managed IT. Вместе с сервисами мониторинга логирование существенно экономит время инженеров при расследовании тех или иных инцидентов. А главное, с помощью анализа логов можно предотвратить инциденты в будущем.

Компании, которые используют логирование в рамках услуги Managed IT, уменьшают общее количество инцидентов и получают принципиально другой уровень контроля над инфраструктурой.

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

Ссылка на основную публикацию