Розуміння журналу доступу Apache


134

Що означає кожна з речей цього рядка з мого журналу доступу?

127.0.0.1 - - [05 / лют / 2012: 17: 11: 55 +0000] "GET / HTTP / 1.1" 200 140 "-" "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, як Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "

Відповіді:


237

Здається, ви використовуєте комбінований формат журналу .

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-agent} i \ ""

  • % h - віддалений хост (тобто клієнтський IP)
  • % l - особистість користувача, що визначається identd (зазвичай не використовується, оскільки не є надійною)
  • % u - ім'я користувача, визначене аутентифікацією HTTP
  • % t - час отримання запиту.
  • % r - рядок запиту від клієнта. ("GET / HTTP / 1.0")
  • %> s - код стану, надісланий із сервера клієнту (200, 404 тощо)
  • % b - розмір відповіді на клієнта (у байтах)
  • Referer - це заголовок Referer HTTP-запиту (містить URL-адресу сторінки, з якої цей запит був ініційований), якщо такий є, та "-"інше.
  • User-agent - це рядок ідентифікації браузера.

Повний (?) Список форматорів можна знайти тут . У цьому ж розділі документації також перелічені інші поширені формати журналу; читачі, журнали яких виглядають не так, як цей, можуть знайти шаблон, який використовується їх конфігурація Apache.


Мені цікаво, якою може бути цифра числа (19) на останньому, після користувача-агента.
ivanceras

2
@ivanceras 535.19- версія веб-файлу, що використовується, тому вона є частиною рядка агента користувача (а також розміщується всередині цитат, що містять агент користувача)
Йоахім Ісакссон

4
У мене є 4 додаткові поля після користувача-агента, як це: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 Що вони вказують?
мій рахунок_ram

9

Я також не знаю, що означає "-" після розділу 200 140 журналу

Це значення відповідає рефереру, описаному Йоахімом. Якщо ви бачите тире, це означає, що для початку не було значення реферера (наприклад, користувач пішов прямо до певного пункту призначення, наприклад, якщо він / вона ввів URL-адресу у своєму браузері)


7

І що означає " Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, як Gecko) Chrome / 18.0.1025.5 Safari / 535.19 "?

Це значення User-Agent, рядок ідентифікації браузера.

З цієї причини більшість веб-браузерів використовує рядкове значення User-Agent наступним чином:

Mozilla / [версія] ([інформація про систему та браузер]) [платформа] ([деталі платформи]) [розширення]. Наприклад, Safari на iPad використовував наступне:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 як Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, як і Gecko) Mobile / 7B405 Компоненти цього рядка такі:

Mozilla / 5.0: Раніше використовувався для вказівки сумісності з двигуном візуалізації Mozilla. (iPad; U; CPU OS 3_2_1, як Mac OS X; en-us): Детальна інформація про систему, в якій працює браузер. AppleWebKit / 531.21.10: платформа, яку використовує браузер. (KHTML, як Gecko): деталі платформи браузера. Мобільний / 7B405: Цей веб-переглядач використовується для вказівки конкретних удосконалень, доступних безпосередньо в браузері або через третіх сторін. Прикладом цього є Microsoft Live Meeting, який реєструє розширення, щоб служба Live Meeting знала, чи програмне забезпечення вже встановлене, а це означає, що воно може забезпечити спрощений досвід приєднання до зустрічей.

Це значення буде використане для визначення того, який браузер використовується кінцевим користувачем.

Зверніться


У моєму середовищі збалансованого навантаження, у якому є 4 обслуговуючі вузли, приховані за сервером балансиру навантаження apache. Останнім часом у мене виникають проблеми з недоступністю. Під час налагодження я знайшов журнали доступу на своєму балансирі завантаження зі статусом 504. що виглядає приблизно так. {Ip Address} - - [дата] "POST url http / 1.1" 504 247 "-" "-" Тепер я підозрюю, що один з моїх 4 вузлів сервера додатків дає таймаути частіше, ніж інші. Але ці журнали не дають поняття, на який сервер був перенаправлений запит, і це призвело до таймауту. Як я можу ввімкнути ip вузла, на який пересилається запит.
ПРОФЕСОР

Я запропоную наступні параметри a) Увімкніть і перегляньте журнали балансування навантаження. B) перевірка використання пам'яті, процесора, вводу-виводу для кожного Вашого VM та перевірити, чи всі вони однакові. в) Підраховуйте кількість запитів на кожен vm в даний день. Вони повинні бути приблизно однаковими. Якщо ні, Load Balancer може виявити, що сервер не відповідає pings, і тому не надсилає запити.
vsingh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.