Лог ошибок error_log

В Apache error log устанавливается директивой:

# Путь к файлу лога будет /var/log/httpd/error_log

Уровень логирования

Директива LogLevel позволяет указать уровень логирования:

Возможные уровни

Фатальные ошибки.
Необходимо немедленно исправить ситуацию.
Критические ошибки.
Обычные ошибки.
Предупреждения.
Уведомления.
Информация.
Подробные уведомления для отладки.

Пути по умолчанию

RHEL / Red Hat / CentOS / Fedora Linux
Debian / Ubuntu Linux Apache
FreeBSD

Apache access_log

Лог доступа устанавливается директивой:

# Путь к файлу лога будет /var/log/access_log

Формат

IP адрес клиента.
IP адрес сервера.
Размер ответа.
Размер ответа без HTTP заголовков (только тело).
Значение Куки Foobar .
Время обработки запроса в микросекундах.
Значение переменной окружения FOOBAR .
Название файла.
Удаленный хост.
Протокол запроса.
Значение заголовка Foobar: в запросе.
Количество keepalive запросов, обработанных в этом соединении.
Метод запроса.
Значение заметки Foobar из другого модуля.
Значение заголовка Foobar: в ответе.
Порт на сервере.
Порт canonical (сервера), local (текущий сервера) или remote (клиента).
ID дочернего процесса, который обслужил запрос.
Строка запроса (query string)
Первая строка запроса
Обработчик, который генерирует ответ.
Статус запроса.
Время получения запроса
Время получения запроса с форматом
Длительность обслуживания запроса в секундах
Удаленный авторизованный пользователь.
Путь запроса без GET параметров.
Значение ServerName.
Статус соединения после окончания запроса:
X Соединение оборвалось перед окончанием запроса.
+ Соединение осталось после отправки ответа (keepalive).
Соединение закрыто после отправки ответа.
Количество полученных байт включая HTTP заголовки. Нужен mod_logio. Количество отправленных байт.

Путь по умолчанию

RHEL / Red Hat / CentOS / Fedora Linux
Debian / Ubuntu Linux Apache
FreeBSD

Настраиваем Apache на максимальную производительность

Основы оптимизации работы Web сервера

Причины возникновения ошибки Ошибка 502 bad gateway в Nginx и методы исправления

Что означает эта ошибка, и как ее исправить

Причины и методы исправления ошибки Gateway Timeout, Nginx

Как исправить ошибку 405 Not Allowed в Nginx

Примеры ad-hoc запросов и технологии для их исполнения

Как эффективно использовать цикл foreach в PHP

Как работает сжатие gzip и как его включить

Эффективный механизм записи данных из Nginx’a прямо в Clickhouse минуя промежуточные узлы

Как и зачем используется заголовок Cache-control

Улучшение производительности Web сервера на Ubuntu

Ускорение PHP приложений на платформе YII в несколько раз

Уменьшение размера картинок при сохранении качества

Как проверить работу сайта под нагрузками

Fuzzy search на основе ElasticSearch

Небольшие советы для упрощения работы с Subversion

Простое развертывание приложений и сервисов при помощи Subversion

Главные возможности нового протокола HTTP/2

Что значит высокая нагрузка (highload) и что при этом делать?

Простой способ выбрать индексы для Mysql

Включение и работа с логом медленных запросов в Mysql

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

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

В этой статье мы рассмотрим основные части системы логирования в Linux, файлы логов, а также утилиты, с помощью которых можно посмотреть логи Linux.

Расположение логов по умолчанию

Большинство файлов логов Linux находятся в папке /var/log/ Вы можете список файлов логов для вашей системы с помощью команды ls:

-rw-r—r— 1 root root 52198 май 10 11:03 alternatives.log
drwxr-x— 2 root root 4096 ноя 14 15:07 apache2
drwxr-xr-x 2 root root 4096 апр 25 12:31 apparmor
drwx—— 2 root root 4096 май 5 10:15 audit
-rw-r—r— 1 root root 33100 май 10 10:33 boot.log

Ниже мы рассмотрим 20 различных файлов логов Linux, размещенных в каталоге /var/log/. Некоторых из этих логов встречаются только в определенных дистрибутивах, например, dpkg.log встречается только в системах, основанных на Debian.

/var/log/messages — содержит глобальные системные логи Linux, в том числе те, которые регистрируются при запуске системы. В этот лог записываются несколько типов сообщений: это почта, cron, различные сервисы, ядро, аутентификация и другие.

/var/log/dmesg — содержит сообщения, полученные от ядра. Регистрирует много сообщений еще на этапе загрузки, в них отображается информация об аппаратных устройствах, которые инициализируются в процессе загрузки. Можно сказать это еще один лог системы Linux. Количество сообщений в логе ограничено, и когда файл будет переполнен, с каждым новым сообщением старые будут перезаписаны. Вы также можете посмотреть сообщения из этого лога с помощью команды dmseg.

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

/var/log/boot.log — Содержит информацию, которая регистрируется при загрузке системы.

/var/log/daemon.log — Включает сообщения от различных фоновых демонов

/var/log/kern.log — Тоже содержит сообщения от ядра, полезны при устранении ошибок пользовательских модулей, встроенных в ядро.

/var/log/lastlog — Отображает информацию о последней сессии всех пользователей. Это нетекстовый файл, для его просмотра необходимо использовать команду lastlog.

/var/log/maillog /var/log/mail.log — журналы сервера электронной почты, запущенного в системе.

/var/log/user.log — Информация из всех журналов на уровне пользователей.

/var/log/Xorg.x.log — Лог сообщений Х сервера.

/var/log/alternatives.log — Информация о работе программы update-alternatives. Это символические ссылки на команды или библиотеки по умолчанию.

/var/log/btmp — лог файл Linux содержит информацию о неудачных попытках входа. Для просмотра файла удобно использовать команду last -f /var/log/btmp

/var/log/cups — Все сообщения, связанные с печатью и принтерами.

/var/log/anaconda.log — все сообщения, зарегистрированные при установке сохраняются в этом файле

/var/log/yum.log — регистрирует всю информацию об установке пакетов с помощью Yum.

/var/log/cron — Всякий раз когда демон Cron запускает выполнения программы, он записывает отчет и сообщения самой программы в этом файле.

/var/log/secure — содержит информацию, относящуюся к аутентификации и авторизации. Например, SSHd регистрирует здесь все, в том числе неудачные попытки входа в систему.

/var/log/wtmp или /var/log/utmp — системные логи Linux, содержат журнал входов пользователей в систему. С помощью команды wtmp вы можете узнать кто и когда вошел в систему.

/var/log/faillog — лог системы linux, содержит неудачные попытки входа в систему. Используйте команду faillog, чтобы отобразить содержимое этого файла.

/var/log/mysqld.log — файлы логов Linux от сервера баз данных MySQL.

/var/log/httpd/ или /var/log/apache2 — лог файлы linux11 веб-сервера Apache. Логи доступа находятся в файле access_log, а ошибок в error_log

/var/log/lighttpd/ — логи linux веб-сервера lighttpd

/var/log/conman/ — файлы логов клиента ConMan,

/var/log/mail/ — в этом каталоге содержатся дополнительные логи почтового сервера

/var/log/prelink/ — Программа Prelink связывает библиотеки и исполняемые файлы, чтобы ускорить процесс их загрузки. /var/log/prelink/prelink.log содержит информацию о .so файлах, которые были изменены программой.

/var/log/audit/— Содержит информацию, созданную демоном аудита auditd.

/var/log/setroubleshoot/ — SE Linux использует демон setroubleshootd (SE Trouble Shoot Daemon) для уведомления о проблемах с безопасностью. В этом журнале находятся сообщения этой программы.

/var/log/samba/ — содержит информацию и журналы файлового сервера Samba, который используется для подключения к общим папкам Windows.

/var/log/sa/ — Содержит .cap файлы, собранные пакетом Sysstat.

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

Просмотр логов в Linux

Чтобы посмотреть логи на Linux удобно использовать несколько утилит командной строки Linux. Это может быть любой текстовый редактор, или специальная утилита. Скорее всего, вам понадобятся права суперпользователя для того чтобы посмотреть логи в Linux. Вот команды, которые чаще всего используются для этих целей:

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

Смотрим лог /var/log/messages, с возможностью прокрутки:

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

tail -f /var/log/messages

Открываем лог файл dmesg:

Первые строки dmesg:

Выводим только ошибки из /var/log/messages:

grep -i error /var/log/messages

Кроме того, посмотреть логи на linux можно и с помощью графических утилит. Программа System Log Viewer может быть использована для удобного просмотра и отслеживания системных журналов на ноутбуке или персональном компьютере с Linux.

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

Выводы

В каталоге /var/log вы можете найти всю необходимую информацию о работе Linux. Из сегодняшней статьи вы достаточно узнали, чтобы знать где искать, и что искать. Теперь просмотр логов в Linux не вызовет у вас проблем. Если остались вопросы, задавайте в комментариях!

Логи на shared-хостинге:

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

Собственный сервер:

Как правило логи веб-сервера и всех остальных сервисов лежат в папке /var/log, но может быть масса нюансов. Например, когда логи конкретного сайта находятся в других папках.

Если у вас сервер — посмотрите файл конфигурации httpd.conf (обычно находится в папке /etc/httpd/conf). В строках начинающихся с CustomLog (лог доступа) и ErrorLog (лог ошибок) указан полный путь к файлу с логами апача.

Логи на сервере с панелью ISPManager:

Если у вас сервер с панелью ISPManager — все ещё проще. Просто войдите в панель, откройте раздел «Домены» — «WWW-домены«, выберите сайт по которому нужно найти логи и кликните кнопку «Конфиг«.

После этого как и в предыдущем пункте достаточно посмотреть что указано в строках CustomLog (лог доступа) и ErrorLog (лог ошибок).

Стандартный путь, обычно:

Часто задаваемые вопросы

Конфигурационный файл апача обычно имеет вот такое месторасположение: