Лог файлы что это

Обновлено: 06.07.2024

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

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

Содержание

Виды логов

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

Расположение

Месторасположение журналов зависит от программного обеспечения, реализации настроек по умолчанию или пути, заданного администратором. То есть, в зависимости от того, что вы используете (возможно, это виртуальный хостинг, доступный VPS-план или аренда серверов в Европе или США), доступность и расположение логов будут значительно отличаться. Как правило, большая часть логов сервера хранится по пути /var/log/, но некоторые сервисы могут хранить логи в других каталогах. Для удобства всегда можно задать подходящий путь в конфигурационных файлах нужного программного обеспечения. Например, на сервере можно настроить демон syslog/rsyslog, который будет упорядочивать поступающие в него записи о работе сервисов и сохранять их в заданные пользователем файлы логов.

Рассмотрим расположение основных логов для наиболее распространенных дистрибутивов Linux. По умолчанию журналы в Linux хранятся в /var/log.

CentOS / Fedora

Логи nginx сохраняются по пути /var/log/nginx. Журнал ошибок MySQL — /var/lib/mysql/$hostname.err, где вместо $hostname указан хостнейм (имя) сервера.

Основной файл лога — /var/log/syslog.

Лог загрузки системы — /var/log/dmesg.

Debian / Ubuntu

По умолчанию логи Apache будут сохраняться по пути /var/log/apache2.

Логи nginx — /var/log/nginx.

Журнал ошибок MySQL — /var/log/mysql/error.log.

Основной файл лога — /var/log/syslog.

Лог загрузки системы — /var/log/dmesg.

Вам нужно купить Wildcard SSL-сертификат? У нас вы найдете лучшие предложения от Центров сертификации Comodo, GeoTrust и Symantec.

Термины Редактор: Дмитрий Сокол 20265 22 мин Аудио

Лог-файлы (файлы регистрации, журнальные файлы) на 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). В него пишется информация, начиная от старта системы:

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

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 создает два лог-файла:

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


Пример лог-файла посещений 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 есть возможность записи ошибок для определенной страницы сайта в отдельный лог-файл (это делается через файл .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).


Пример: 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-сайт показывает в браузере ошибку 500, то можно зайти в этот файл и посмотреть, что именно происходит на сервере.


Пример: просмотр лог-файла ошибок web-сервера из панели провайдера Beget через файл-менеджер


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


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

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


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

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


Пример: аналитика посещений web-сайта с использованием системы AWStats

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

Логи сервера это текстовые файлы, которые генерирует сервер для протоколирования доступа к нему.

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

Где найти и как выглядят логи

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

Так выглядит папка с логами на хостинге hostland через фтп проводник:

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

Если затруднились найти, то почитайте справку или обратитесь в техподдержку.

Вот это, например, строки из одного такого файла

Не очень показательно тут. На самом деле одна запись занимает одну строку. Записи разделены в файле построчно. Новая запись - новая строка.

Как читать лог сервера

Разбиваем строку на части:

1. 109.173.59.49 - IP адрес с которого был запрос

2. [03/Apr/2015:12:56:18 +0300] - дата и время запроса

3. GET или POST - тип запроса, иногда можно встретить определение "метод запроса"

4. /sites/all/modules/fivestar/widgets/default/star.jpg - объект запроса

6,7. 200 434 - коды ответа сервера . В данном случае запрос прошел (код 200 ОК), но запрашиваемая страница недоступна (код 434 запрашиваемый адрес недоступен)

9. "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16" - данные о постетителе , с какой системы пришел запрос

В целом это какая страница запрашивалась, с какой странице пришел запрос и что в ответ выдал сервер. А что в каком порядке утверждать не возьмусь без справочника. Главное, что общая картина понятна.

В целом иерархия такая: сайт - страница - объект на странице - объект на объекте.

Коды лога сервера

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

2хх - всё хорошо и ответ получен

3хх - ответ получен, но будет перенаправление

4хх - ответ получен, но в результате объект недоступен. Сайт доступен, но материала нет.

5хх - ошибка сервера. Тут проблемы глобальные. Или база данных рухнула или сервер полетел.

Деление лог файлов по типам

Хорошим тоном считается деление файлов по типам. Типов может быть множество. В основном встречаем два:

- файл с нормальными ответами.

Выше привел файл с нормальными ответами. Вот лога ошибок у меня нет. Точнее есть, но он пустой. Нет ошибок в работе сервера.

Методы POST и GET в лог файлах

Эти методы часто встречаются в лог файлах. Кроме них еще есть и другие.

МетодыOPTIONS · GET · HEAD · POST ·PUT · DELETE · TRACE ·CONNECT · PATCH

Метод указывает на тип операции с ресурсом. За подробностями можно снова сходить в википкдию и прочитать про методы доступа. На а тут кратенько.

GET - получить содержимое.

POST - метод обработки данных с возможностью отправки. Используется для диалога с пользователем (ввод пароля, комментария, адреса..).

Про остальные - в вики читайте.

Используете материал на своем ресурсе - ставьте ссылку на оригинал!

Спасибо! И пусть не будет ошибок 5 группы в логах!

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

Сервер хостинга — довольно самостоятельная система. Если все настроено правильно, его программы могут месяцами работать без вмешательства человека. При этом на сервере постоянно происходит множество событий:

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

Для контроля и анализа всего этого и ведутся логи.

Что такое logs server или логи сервера? Это текстовые файлы, в которых протоколируется информация о всех событиях на сервере. Log server переводится как «журнал сервера». Запись информации проводится автоматически.

В статье мы рассмотрим, какие виды логов бывают, как устроены логи, как их найти и прочитать и т. д.

Виды логов

Существует несколько типов логов сервера:

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

Каждое ПО часто ведет свои собственные логи. Так, на сервере хостинга отдельно протоколируются события:

  • операционной системы сервера;
  • главных компонентов системы (работа DNS, Firewall);
  • базы данных (SQL-сервера);
  • FTP-сервера;
  • веб-сервера;
  • панели управления хостингом (хронология использования ресурсов хостинга, авторизации);
  • доменной почты (почтовые логи) и других программ.

Где можно найти логи сервера

Посмотреть логи сервера можно:

  • непосредственно в каталоге на жёстком диске, где они лежат. Доступ ко всем логам есть только на виртуальном или выделенном сервере. Если у вас виртуальный хостинг, доступ будет только к тем логам, которые находятся непосредственно в вашем каталоге;
  • из панели хостинга;
  • на FTP-сервере;
  • запросив логи у техподдержки хостинг-провайдера.

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

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

  • папка с логами называется logs или log;
  • файл с логами содержит в названии log (access_log, error_log).

Зачем нужно смотреть логи?

Часто о логах никто не вспоминает, пока не появляются проблемы: сайт тормозит, сайт взломали. Правильнее смотреть логи сервера регулярно. Тем более, многие хостеры хранят некоторые виды логов непродолжительное время: 2 недели, месяц, 3 месяца.

Просматривая логи, можно увидеть:

  • попытки взлома сайта, внедрения вредоносного ПО;
  • рост нагрузки на сервер с определенных IP-адресов;
  • превышение допустимой нагрузки на сервер и другие предвестники проблем.

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

Как читать логи

Логи в панели управления хостингом представлены в удобном виде в виде таблиц. Например, лог FTP-сервера на хостинге содержит колонки:

  • дата;
  • IP, с которого подключались;
  • логин пользователя;
  • действия пользователя.

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

Для удобного чтения можно скачать логи и просмотреть их через специальные программы: Analog, Weblog Expert и другие.

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

Как проверить логи, если у вас VPS-сервер

Пользователям, арендующим VPS-сервер, для доступа к логам можно:

  • подключиться к серверу по SSH;
  • по очереди ввести команды cd logs, ls —all;
  • вы увидите список лог-файлов в папке logs — открывайте нужный и смотрите.

Как проверить логи на хостинге

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

В ISPmanager

В Менеджере файлов зайдите в папку logs, найдите и скачайте нужный файл. Просматривайте логи на своем ПК или ноуте.

В CPanel

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

В Plesk

Здесь, чтобы зайти в папку logs и загрузить на свой ПК логи, вам нужно войти на вкладку «Файлы».

Читайте также: