Зараз ми поговоримо про логах всім відомого веб-сервера Apache, точніше розберемося докладніше які типи логів бувають, розглянемо їх рівні логування та виведення повідомлень. На перший погляд, здається, що лог сервера Apache являє собою файл, у який пишеться все послідовно, і це ніяк не структуроване, однак це далеко не зовсім так, як ми зараз переконаємося.

Традиційно Apache створює два основних типи лог-файлів, це error_log і access_log. Як можна зрозуміти з назви самих файлів у файл error_log будуть журналироваться повідомлення про помилки, а в файл access_log – запити на веб-сервер. Налаштовуються лог файли в конфігураційному файлі сервера Apache, шлях до файлу error_log задається директивою:

LogLevel notice
ErrorLog /var/log/httpd/error_log

Варто відзначити, що повідомлення про помилки в свою чергу поділяються на рівні, і задається директивою LogLevel.

Існують наступні рівні помилок:
emerg — фатальні помилки;
alert — необхідно негайно виправити ситуацію;
crit — критичні помилки;
error — звичайні помилки;
warn — попередження;
notice — повідомлення;
info — інформація;
debug — докладні повідомлення для налагодження.

В залежності від операційної системи шляху за замовчуванням до файлу ErrorLog можуть відрізнятися, деякі з них:
RHEL / Red Hat / CentOS / Fedora Linux

/var/log/httpd/error_log

Debian / Ubuntu Linux Apache

/var/log/apache2/error.log

FreeBSD

/var/log/httpd-error.log

Другий тип файлу лода – лог доступу access_log, встановлюється директивою CustomLog:

LogFormat “%h %l %u %t \”%r\” %>s %b” common
CustomLog /var/log/common access_log

Тут так само можна налаштувати формат виводу повідомлень в лог, за це відповідає директива LogFormat.
Розглянемо значення, які можуть виводитися в лог файл access_log:

%a # IP адреса клієнта
%A # IP адреса сервера
%B # Розмір відповіді
%b # Розмір відповіді без HTTP заголовків (тільки тіло)
%{Foobar}C # Значення Куки Foobar
%D # Час обробки запиту в мікросекундах
%{FOOBAR}e # Значення змінної оточення FOOBAR
%f # Назва файлу
%h # Віддалений хост
%H # Протокол запиту
%{Foobar}i # Значення заголовка Foobar: у запиті
%k # Кількість keepalive запитів, оброблених в цьому з’єднанні
%m # Метод запиту
%{Foobar}n # Значення нотатки Foobar з іншого модуля
%{Foobar}o # Значення заголовка Foobar: у відповіді
%p # Порт на сервері
%{date}p # Порт canonical (сервера), local (поточний сервера) або remote (клієнта)
%P # ID дочірнього процесу, який обслужив запит
%q # Рядок запиту (query string)
%r # Перший рядок запиту
%R # Обробник, який генерує відповідь
%s # Статус запиту
%t # Час отримання запиту
%{date}t # Час отримання запиту з форматом
%T # Тривалість обслуговування запиту в секундах
%u # Віддалений авторизований користувач
%U # Шлях запиту без GET параметрів
%v # Значення ServerName
%X # Статус з’єднання після закінчення запиту:
# “X” – з’єднання обірвалося перед закінченням запиту.
# “+” – з’єднання залишилося після відправлення відповіді (keepalive).
# “- “з’єднання закрито після відправлення відповіді.
%I # Кількість отриманих байт включаючи HTTP заголовки. Потрібен mod_logio.
%O # Кількість відправлених байт.

Таким чином, формат виводу лода access_log може бути зручно налаштований під ваші вимоги.
Шляхи за замовчуванням до файлу access_log залежать від операційної системи, і можуть бути наступні:

RHEL / Red Hat / CentOS / Fedora Linux

/var/log/httpd/access_log

Debian / Ubuntu Linux

/var/log/apache2/access.log

FreeBSD

/var/log/httpd-access.log

Варто звернути увагу, що чим більше даних буде виводитися в лог, тим швидше буде переповнюватися лог, а це значить вам варто врахувати так само налаштування ротації логів Apache, щоб не було проблем з читанням при спробі відкриття великого файлу лода. На цьому поки все, сподіваюся матеріал виявився вам корисний. Якщо вам сподобався пост, ви можете допомогти проекту, поділившись ним в соц. мережах з друзями. Спасибі!

Додав: htmaker, 06.08.2017 р.
(2 голосів, середній: 5,00 з 5)

Завантаження…

Діліться з друзями:

См. також:


Ротація логів в Linux
Рубрика: Apache, Linux

Denwer в локальній мережі
Рубрика: Apache, Інструменти

HTTP авторизація
Рубрика: Apache, Інф. безпека

Перегляд списку завантажених модулів Apache
Рубрика: Apache, Linux

httpd вантажить процесор, що робити?
Рубрика: Apache

Тестування сайту під навантаженням
Рубрика: Apache, Інструменти

Як створити SSL сертифікат на Apache для CentOS 6?
Рубрика: Apache, Linux

Заборона на пряме скачування файлів
Рубрика: Apache

Як зробити перенаправлення з допомогою .htaccess?
Рубрика: Apache