Ulog файл что это такое

Обновлено: 04.07.2024

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

Текстовый файл может быть без расширения. Находится обычно в папке 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 группы в логах!

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


Это ты пытаешься загрузить match ulog (а такого нет), а ULOG --- это target.

>похоже не хочет регистр видить

какой еще регистр. иди учить матчасть, что такое правило в iptables.

>Вообщем тут статья появилась о том как считать трафик через ULOG, для этого нужно что бы в ядре была включена поддержка ULOG для iptalbes'а. Собсно патчи нужные стоят, ulogd я тоже поставил.

Какие патчи стоят? ULOG стандартно входит в ядро. Только нужно его скомпилить или как модуль или в ядро (ядро Линукса).

Какая версия ядра? какой дистрибутив? iptables сам компилил?

То что я делал это от безисходности, это во-первых. Дальше, дистриб джентушный с ядром 2.6.10 и патчем QNET(часть patch-o-matic, там вроде есть то что нужно), iptables собран emerge'ем.

По поводу -m, я где то видел что так грузит модули iptables'а, те что в /lib/iptables.

Мне интересно, чье же больное сознание положило модули в /lib/iptables. Это библиотеки iptables. А модули-то в /lib/modules/kernel-version всю жизнь лежали. Да и iptables-tutorial хотя бы прочитал на досуге.


Статья средняя, в комметрарии написана правда, что на больших скоростях возникают потери, не знаю как в 2.6.x ядрах, в 2.4.x с этими демонами потери возникают достаточно просто, (даже на Xeon 2.4, 100 Мбит). Лично мне пришлось демона переписывать в 3х поточную программу c приоритетом реального времени. Но в целом ulog-acctd более-менее тянет.

>По поводу -m, я где то видел что так грузит модули iptables'а, те что в /lib/iptables

Так действительно грузят модули, но те, которые реализуют match правила (условие, типа -m limit), а не те, которые реализуют target (цель -j ULOG).

>iptables: No chain/target/match by that name

говорит, что в ядре нет поддержки цели ULOG. проверь еще раз конфигурацию ядра.

Действие ULOG предоставляет возможность журналирования пакетов в пользовательское пространство. Оно заменяет традиционное действие LOG, базирующееся на системном журнале. При использовании этого действия, пакет, через сокеты netlink, передается специальному демону который может выполнять очень детальное журналирование в различных форматах (обычный текстовый файл, база данных MySQL и пр.) и к тому же поддерживает возможность добавления надстроек (плагинов) для формирования различных выходных форматов и обработки сетевых протоколов. Пользовательскую часть ULOGD вы можете получить на домашней странице ULOGD project page.

Таблица 6-25. Действие ULOG

(Ключ – Пример – Описание)

Ключ: –ulog-nlgroup

Пример: iptables -A INPUT -p TCP –dport 22 -j ULOG –ulog-nlgroup 2

Описание: Ключ –ulog-nlgroup сообщает ULOG в какую группу netlink должен быть передан пакет. Всего существует 32 группы (от 1 до 32). Если вы желаете передать пакет в 5-ю группу, то можно просто указать –ulog-nlgroup 5. По-умолчанию используется 1-я группа.

Ключ: –ulog-prefix

Пример: iptables -A INPUT -p TCP –dport 22 -j ULOG –ulog-prefix "SSH connection attempt: "

Описание: Ключ –ulog-prefix имеет тот же смысл, что и аналогичная опция в действии LOG. Длина строки префикса не должна превышать 32 символа.

Ключ: –ulog-cprange

Пример: iptables -A INPUT -p TCP –dport 22 -j ULOG –ulog-cprange 100

Описание: Ключ –ulog-cprange определяет, какую долю пакета, в байтах, надо передавать демону ULOG. Если указать число 100, как показано в примере, то демону будет передано только 100 байт из пакета, это означает, что демону будет передан заголовок пакета и некоторая часть области данных пакета. Если указать 0, то будет передан весь пакет, независимо от его размера. Значение по-умолчанию равно 0.

Ключ: –ulog-qthreshold

Пример: iptables -A INPUT -p TCP –dport 22 -j ULOG –ulog-qthreshold 10

Описание: Ключ –ulog-qthreshold устанавливает величину буфера в области ядра. Например, если задать величину буфера равной 10, как в примере, то ядро будет накапливать журналируемые пакеты во внутреннем буфере и передавать в пользовательское пространство группами по 10 пакетов. По-умолчанию размер буфера равен 1 из-за сохранения обратной совместимости с ранними версиями ulogd, которые не могли принимать группы пакетов.

6.5.14. Действие TTL

6.5.14. Действие TTL Действие TTL используется для изменения содержимого поля Time To Live в IP заголовке. Один из вариантов применения этого действия – это устанавливать значение поля Time To Live ВО ВСЕХ исходящих пакетах в одно и то же значение. Для чего это?! Есть некоторые провайдеры,

Действие

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

Действие

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

Действие

Действие Параметр изменяет номер сигнала, используемый для обозначения конфликтов

Действие

Действие Параметр устанавливает начальный размер памяти, выделенной для таблицы событий

Действие

Действие Этот параметр устанавливает число страниц из любой базы данных, которое может одновременно находиться в кеше. Если вы увеличиваете это значение. InterBase поместит больше страниц из каждой базы данных в кеш. По умолчанию SuperServer помещает в кеш 2048 страниц из каждой

Действие

Действие Устанавливает приоритет для SuperServer на Windows/NT/2000. Значение 2 этого параметра устанавливает высокий приоритет (HIGH_PRIORITY_CLASS) серверному процессу InterBase - ibserver.exe. Все остальные значения будут устанавливать серверному процессу InterBase значения нормального приоритета

Действие

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

Действие

Действие Этот параметр устанавливает ограничения размера рабочей физической памяти (working size), доступно SuperServer на платформе Windows/NT/2000. Параметр измеряется в однокилобайтовых блоках. По умолчанию оба параметра имеют значение 0, что означает "нет

Действие

Действие Устанавливает состояние блокировки 1 - "Истина", включает сортировку блокировок; 0 - "Ложь", и выключает режим сортировки блокировок. По умолчанию сортировка блокировок

Действие

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

Действие

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

Действие

Действие Для архитектуры SuperServer этот параметр не производит никакого действия В архитекторе Classic только один клиент одновременно может обращаться к таблице блокировок Доступ к таблице блокировок определяется мьютексом Запрос мьютекса может быть либо условным, когда

Действие

Действие Устанавливает время ожидания (тайм-аут) соединения. По умолчанию— 180

Действие

Действие Этот параметр определяет, насколько часто будут посылаться фиктивные запросы для проверки тоо, что клиент все еще работaei I lo умолчанию эю 60

Действие

Действие Этот параметр может быть использован в ibconfig несколько раз, для того чтобы назначить местоположение для библиотек пользовательских функций (UDF). Если этот параметр отсутствует, то InterBase проверяет каталоги 1NTERBASE/UDF и.ж $INTERBASE/intl. Этот параметр доступен только для

Термины Редактор: Дмитрий Сокол 20394 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

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

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