daemon log что это

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как найти и читать логи в Linux

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

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

Как просматривать логи Linux

1. Сначала откройте терминал Linux как пользователь root. Это позволит получить root-права.

2. Используйте следующую команду для просмотра папки где находятся файлов логов:

3. Чтобы просмотреть логи, введите следующую команду:

Используйте следующий пример строковой команды для доступа к соответствующему файлу:

Эта команда отображает временную шкалу всей информации, относящейся к этой операции.

Обратите внимание, что файлы логов хранятся в виде обычного текста, поэтому их можно просматривать с помощью следующих стандартных команд:

Важные системные логи Linux

Логи могут многое рассказать о работе системы. Хорошее понимание каждого типа файла поможет различать соответствующие логи.

Большинство каталогов можно сгруппировать в одну из четырех категорий:

Системные логи

Файлы логов необходимы для работы Linux. Они содержат значительный объем информации о функциональности системы. Наиболее распространенные файлы логов:

Демон системных логов

Логирование осуществляется при помощи демона syslogd

Программы отправляют свои записи журнала в syslogd, который обращается к конфигурационному файлу /etc/syslogd.conf или /etc/syslog и при обнаружении совпадения записывает сообщение журнала в нужный файл журнала. Каждый файл состоит из селектора и поля ввода действия. Демон syslogd также может пересылать сообщения журнала. Это может быть полезно для отладки. Этот файл выглядит приерно так:

Логи приложений

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

Файлы логов, которые попадают в эту категорию, включают логи системы печати CUPS, лог Rootkit Hunter, логи HTTP-сервера Apache, логи SMB-сервера Samba и лог сервера X11.

Логи не в удобочитаемом формате

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

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

Графические интерфейсы для просмотра файлов логов Linux

Интерфейс предоставляет несколько функций для управления логами, включая отображение статистики лога. Это удобный графический интерфейс для мониторинга логов.

В качестве альтернативы можно использовать Xlogmaster, который может отслеживать значительное количество файлов логов.

Xlogmaster полезен для повышения безопасности. Он переводит все данные для выделения и скрытия строк и отображает эту информацию для выполнения действий, запрошенных пользователем.

Как настроить файлы логов в Ubuntu и CentOS

Начнем с примера CentOS. Чтобы просмотреть пользователей, которые в настоящее время вошли на сервер Linux, введите команду who от имени пользователя root:

Здесь также отображается история входа в систему пользователей. Для просмотра истории входа системного администратора введите следующую команду:

Чтобы просмотреть информацию о последнем входе в систему, введите:

Выполнить ротацию лога

Файлы логов, в конце которых добавлены нули, являются повернутыми файлами. Это означает, что имена файлов логов были автоматически изменены в системе.

Чтобы включить дополнительные функции для logrotate, начните с ввода следующей команды:

Он сжимает и изменяет размер желаемого файла логов.

Команды выполняют следующие действия:

Итоги

Тщательное понимание того, как просматривать и читать логи Linux, необходимо для устранения неполадок в системе Linux. Использование правильных команд и инструментов может упростить этот процесс.

Источник

Как посмотреть логи в Linux

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

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

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

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

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

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

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

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

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

Источник

Логи в Linux. Как найти и прочитать?

Обновл. 20 Май 2021 |

Процесс загрузки системы, работа приложений и служб, различные действия пользователей, сообщения ядра ОС и многое другое — все эти события регистрируются в специальных журналах операционной системы, так называемых log-файлах (или «логах»). Если в работе системы что-то пойдет не так, то эти файлы станут для вас полезным источником информации, с помощью которого вы сможете разобраться в причинах возникших проблем и самостоятельно их устранить.

Как посмотреть логи в Linux?

Большинство логов в Linux генерируются системными демонами syslogd или rsyslogd и хранятся в обычном текстовом файле ASCII в каталоге /var/log. Этот каталог содержит лог-файлы самой ОС, служб и различных приложений, запущенных в системе. Вот как этот каталог выглядит в типичной системе Debian Linux:

Читайте также:  чего не нужно делать при расставании

Если вы попробуете просмотреть какой-нибудь лог-файл от имени обычного пользователя, то в 99% случаев система ответит вам сообщением о нехватке прав доступа. Поэтому я заранее переключился на пользователя root (команда su –) и все дальнейшие действия будут выполняться от его имени.

Теперь можно перейти к непосредственному изучению содержимого лог-файлов. И для начала, мы заглянем внутрь boot.log. Данный лог-файл содержит информацию обо всех этапах загрузки операционной системы:

root@debian:/var/log# tail boot.log

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

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

tail — вывод последних 10 строк;

head — вывод первых 10 строк;

cat — вывод содержимого всего лог-файла;

grep — поиск в лог-файле всех вхождений заданного выражения или фильтрация лог-файла по заданному выражению;

zcat — отображает всё содержимое сжатых лог-файлов (с расширением *.gz);

zmore — постраничный просмотр сжатых лог-файлов, без их распаковки;

zgrep — поиск внутри сжатого лог-файла.

Основные логи

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

Многие из этих лог-файлов располагаются в каталоге var/log. Наиболее распространенными логами являются:

/var/log/boot.log — журнал загрузки системы (в нем хранится вся информация, связанная с этапами загрузки ОС);

/var/log/kern.log — журнал ядра (в нем хранятся сообщения и предупреждения, поступающие непосредственно из ядра Linux);

/var/log/syslog или /var/log/messages — журналы, в которых хранится информация об общей активности в системе (включая сообщения этапа загрузки);

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

/var/log/debug — журнал отладки (в нем хранится подробная отладочная информация системы и приложений);

/var/log/daemon.log — журнал демонов (содержит информацию о событиях, связанных с различными запущенными в системе демонами/службами);

/var/log/maillog или /var/log/mail.log — журналы почтовых серверов (в них хранится информация, относящаяся к почтовым серверам и архивированию электронных писем);

/var/log/cron — журнал, в котором хранится информация о запланированных задачах (заданиях cron);

/var/log/faillog — информация о неудачных входах в систему. Журнал полезен для изучения потенциальных нарушений безопасности, таких как: взломы учетных записей, попытки перебора паролей и пр.;

/var/log/Xorg.x.log — журнал сообщений X-сервера.

В зависимости от выбранного дистрибутива, вы можете встретить следующие лог-файлы менеджеров пакетов:

/var/log/dpkg.log — журнал пакетов, установленных через утилиту dpkg в системах на основе Debian Linux.

/var/log/yum.log — журнал пакетов, установленных через утилиту yum в системах на основе Red Hat Linux.

/var/log/emerge.log — журнал пакетов (ebuild), установленных через утилиту emerge в Gentoo Linux.

Не все журналы разработаны в удобочитаемом виде. Некоторые из них предназначены только для чтения системными приложениями и представлены в бинарном формате данных:

/var/log/lastlog — журнал с информацией о последних входах пользователей. Для просмотра сообщений применяется команда lastlog :

Ротация лог-файлов

Если учесть, что информация в лог-файлы поступает регулярно и по любому поводу, то в скором времени они должны были бы стать просто гигантскими, занимая при этом огромную кучу места на диске. А работать с ними было бы просто невозможно. Но этого не происходит благодаря ротации лог-файлов.

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

Настройки ротации лог-файлов хранятся в соответствующем файле конфигурации /etc/logrotate.conf:

var/log/имя_журнала.log <
Missingok
Notifempty
Compress
Size 20k
Daily
Create 0600 root root
>

Разберем детально каждую строку вышеприведенного фрагмента:

Missingok — указывает команде logrotate не выводить ошибку, если лог-файл отсутствует.

Notifempty — если лог-файл пуст, то ротации не будет.

Compress — лог-файл необходимо сжать.

Size 20k — гарантирует, что лог-файл не превышает заданного размера, в противном случае производится его ротация.

Daily — ротация лог-файлов по ежедневному расписанию. Также можно задавать ежечасный ( Hourly ), еженедельный ( Weekly ), ежемесячный ( Monthly ) или ежегодный ( Yearly ) график.

Create 0600 root root — создает экземпляр лог-файла, владельцем и группой которого является root.

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

systemd и journald

systemd — это подсистема инициализации и управления службами в Linux, фактически вытеснившая в 2010-е годы традиционную подсистему init. В связке с ней работает и journald — демон сбора логов, являющийся частью systemd. Он собирает логи со всей системы и хранит их в бинарном виде в каталоге /var/log/journal. Для того чтобы их просмотреть, создана специальная утилита journalctl. Рассмотрим несколько примеров её применения.

Чтобы просмотреть последние 10 строк логов всех запусков системы, достаточно выполнить следующую команду:

Также можно просмотреть информацию по выбранной службе, например, по NetworkManager:

Или же вывести сообщения ядра ОС:

Для получения своих, каких-то более конкретных результатов, допускается комбинировать опции и параметры команды journalctl :

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

С помощью параметра blame можно увидеть, сколько времени понадобилось для загрузки каждой конкретной службы (при этом сверху отобразятся самые медленные):

Приоритет сообщений в лог-файлах

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

emerg — наивысший приоритет, что-то сломалось, повод паниковать;

alert — тревога, стоит волноваться;

crit — критическое событие, стоит насторожиться;

err — ошибка;

warning — предупреждение;

notice — уведомление, можно не заморачиваться;

info — информационное сообщение, принять к сведению и забыть;

debug — отладочная информация.

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

# grep ‘err’ /var/log/syslog

Или же для journalctl:

Заключение

Конечно, на данном уроке были рассмотрены только самые основные моменты данной темы. Но в то же время объема представленной информации вполне хватит обычному пользователю, чтобы свободно работать с логами в Linux. Увидимся!

Читайте также:  geox обувь что за бренд

Поделиться в социальных сетях:

Источник

Лог файлы Linux по порядку

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

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

Основные лог файлы

Все файлы журналов, можно отнести к одной из следующих категорий:

Для каждого дистрибутива будет отдельный журнал менеджера пакетов.

И немного бинарных журналов учета пользовательских сессий.

И другие журналы

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

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

/.xsession-errors — Вывод stderr графических приложений X11.

/.xfce4-session.verbose-log — Сообщения рабочего стола XFCE4.

Чем просматривать — lnav

Недавно я обнаружил еще одну годную и многообещающую, но слегка еще сыроватую, утилиту — lnav, в расшифровке Log File Navigator.

Установка пакета как обычно одной командой.

Навигатор журналов lnav понимает ряд форматов файлов.

Что в данном случае означает понимание форматов файлов? Фокус в том, что lnav больше чем утилита для просмотра текстовых файлов. Программа умеет кое что еще. Можно открывать несколько файлов сразу и переключаться между ними.

Программа умеет напрямую открывать архивный файл.

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

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

Источник

Чтение и настройка логов Linux в Ubuntu и Centos

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

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

Данное руководство рассматривает различные части механизма журналирования Linux.

Примечание: Команды данного руководства были протестированы на простых установках CentOS 6.4, Ubuntu 12 и Debian 7.

Стандартные логи

По умолчанию журналы в Linux хранятся в /var/log.

В системе CentOS это выглядит так:

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

В каталоге /var/log находится несколько общих журналов:

Файлы wtmp и utmp отслеживают пользователей, вошедших и покинувших систему. Содержимое данных журналов нельзя читать с помощью простой команды «cat», для этого есть специальные команды, с которыми теперь нужно ознакомиться.

Чтобы узнать, кто в текущий момент находится на сервере Linux, нужно использовать команду «who». Она извлекает информацию из /var/run/utmp (в CentOS и Debian) или из /run/utmp (в Ubuntu).

Это пример ее работы в CentOS:

]# who
root tty1 2013-12-09 10:44
root pts/0 2013-12-09 10:29 (10.0.2.2)
sysadmin pts/1 2013-12-09 10:31 (10.0.2.2)
joeblog pts/2 2013-12-09 10:39 (10.0.2.2)

Команда «sysadmin» выводит историю входа пользователей:

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

Чтобы узнать время последней перезагрузки системы, используйте следующую команду:

Результат имеет примерно такой вид:

Чтобы узнать время последнего входа в систему, используйте lastlog:

Результат на CentOS выглядит примерно так:

Username Port From Latest
root tty1 Mon Dec 9 10:44:30 +1100 2013
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**
halt **Never logged in**
mail **Never logged in**
uucp **Never logged in**
operator **Never logged in**
games **Never logged in**
gopher **Never logged in**
ftp **Never logged in**
nobody **Never logged in**
vcsa **Never logged in**
saslauth **Never logged in**
postfix **Never logged in**
sshd **Never logged in**
sysadmin pts/1 10.0.2.2 Mon Dec 9 10:31:50 +1100 2013
dbus **Never logged in**
joeblog pts/2 10.0.2.2 Mon Dec 9 10:39:24 +1100 2013

Для просмотра содержимого текстовых журналов можно использовать команды «cat», «head» или «tail».

В приведенном ниже примере просматриваются последние 10 строк журнала /var/log/messages на Debian:

$ sudo tail /var/log/messages

Демон rsyslog

Центром механизма журналирования является демон rsyslog. Данный сервис отвечает за прослушивание зарегистрированных сообщений различных частей системы Linux и маршрутизацию сообщения к соответствующему журналу в каталоге /var/log. Он также может передавать зарегистрированные сообщения другому серверу Linux.

Конфигурационный файл rsyslog

Демон rsyslog получает конфигурации из файла «rsyslog.conf», который находится в каталоге /etc.

В основном, файл rsyslog.conf говорит демону, где хранить сообщения. Данная информация имеет вид серии строк, состоящих из двух частей.

Этот файл можно найти в rsyslog.d/50-default.conf в Ubuntu.

Под двумя частями строк подразумеваются селектор и действие (selector и action). Они разделяются пробельным символом.

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

Сам селектор также разделен на 2 части символом точки (.). Часть перед символом точки называется объектом (источник сообщения), а часть за символом называется приоритетом (степень важности сообщения).

Комбинация объекта-приоритета и действия говорит rsyslog, что делать, если сообщение соответствует указанным параметрам.

Вот отрывок из файла rsyslog.conf на CentOS:

Чтобы понять, что все это значит, нужно рассмотреть типы объектов, которые распознает Linux:

Ниже приведен список приоритетов по возрастанию:

Изучите следующую строку из файла:

Она говорит rsyslog сохранять все сообщения, приходящие от демона cron, в файле /var/log/cron. Звездочка (*) поле точки значит, что зарегистрированы будут сообщения всех приоритетов. Аналогичным образом, если объект был определен звездочкой, это объединяет все источники.

Объекты и приоритеты могут быть связаны в несколькими способами.

Читайте также:  itu t что это

Вид по умолчанию, когда после точки указан только один приоритет, значит, что будут охвачены все сообщения с таким или высшим уровнем приоритета. Таким образом, данное указание регистрирует все сообщения, приходящие от почтовой подсистемы с приоритетом «warn» и выше в специальном файле в /var/log:

Такие параметры будут регистрировать все сообщения с таким же или высшим, чем warn, приоритетом и пропускать все остальное. То есть, сообщения с приоритетом err, crit, alert и emerg также будут внесены в файл.

Знак равности (=) после точки указывает регистрировать только сообщения с указанным приоритетом. То есть, если нужно регистрировать только сообщения от почтовой подсистемы с приоритетом info, указание будет таким:

Опять же, если нужно регистрировать все сообщения почтовой подсистемы, кроме сообщений с приоритетом info, строка будет выглядеть так:

В первом случае файл mail.info содержал бы все сообщения с приоритетом ниже info. Во втором случае он содержал бы все сообщения с приоритетом выше info.

Несколько объектов в одной строке нужно разделить запятой.

Несколько селекторов в одной строке также разделяются запятой.

Отмеченное звездочкой действие объединяет всех пользователей.

К примеру, об этом говорит запись в файле rsyslog.conf на CentOS:

# Everybody gets emergency messages
*.emerg *

По возможности проверьте, что говорит rsyslog.conf на других системах Linux. Вот отрывок из Debian:

Как можно видеть, Debian сохраняет сообщения безопасности/авторизации всех уровней в /var/log/auth.log, в то время как CentOS делает это в /var/log/secure.

Конфигурации для rsyslog могут исходить также от других пользовательских файлов. Эти файлы пользовательских конфигураций, как правило, расположены в разных каталогах в /etc/rsyslog.d. Файл rsyslog.conf включает эти каталоги, используя директиву «$IncludeConfig».

Так это выглядит в Ubuntu:

# Default logging rules can be found in /etc/rsyslog.d/50-default.conf
.
.
$IncludeConfig /etc/rsyslog.d/*.conf
Содержимое каталога /etc/rsyslog.d выглядит так:
-rw-r—r— 1 root root 311 Mar 17 2012 20-ufw.conf
-rw-r—r— 1 root root 252 Apr 11 2012 21-cloudinit.conf
-rw-r—r— 1 root root 1655 Mar 30 2012 50-default.conf

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

Будучи частью сетевой операционной системы, демон rsyslog может не только хранить зарегистрированные сообщения локально, но и передавать их на другие серверы Linux, а также действовать как репозиторий для других систем. Демон прослушивает сообщения через UDP-порт 514. В приведенном ниже примере он пересылает критические сообщения ядра на сервер под названием «texas»:

Создание и тестирование сообщений

Теперь попробуйте сами создать сообщение.

Для этого нужно будет сделать следующее:

В следующем примере внесены две строки в файл rsyslog.conf на CentOS. Как видите, обе они исходят от объекта local4 и имеют разные приоритеты.

]# vi /etc/rsyslog.conf
.
.
# New lines added for testing log message generation
local4.crit /var/log/local4crit.log
local4.=info /var/log/local4info.log

Затем нужно перезапустить сервис, чтобы обновить данные файла:

]# /etc/init.d/rsyslog restart
Shutting down system logger: [ OK ] Starting system logger: [ OK ] [root@TestLinux

Теперь нужно вызвать приложение logger, чтобы создать сообщение:

Каталог /var/log показывает два новых сообщения:

.
.
-rw——- 1 root root 0 Dec 9 11:21 local4crit.log
-rw——- 1 root root 72 Dec 9 11:22 local4info.log

Размер local4info.log не равен нулю, а это значит, что сообщение было записано:

]# cat /var/log/local4info.log
Dec 9 11:22:32 TestLinux root: This is a info message from local 4

Ротация лог-файлов

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

Linux использует понятие «ротации» журналов вместо их очистки или удаления. При ротации создается новый каталог, а старый переименуется и при необходимости сжимается. Таким образом, журналы имеют несколько старых версий. Эти файлы будут возвращаться в течение определенного периода времени в виде так называемых backlog-ов. Как только будет получено определенное количество backlog-ов, новая ротация удалит самый старый журнал.

Ротация выполняется при помощи утилиты «logrotate».

Конфигурационный файл logrotate

Как и rsyslog, logrotate зависит от конфигурационного файла по имени logrotate.conf, который находится в /etc.

Вот что находится в данном файле на Debian:

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

Файлы wtmp и btmp являются исключениями. wtmp отслеживает вход в систему, а btmp содержит информацию о неудавшихся попытках входа. Эти журнальные файлы ротируются каждый месяц, и ошибки не возвращаются, если можно найти один из предыдущих файлов wtmp или btmp.

Пользовательские конфигурации ротации журналов содержатся в каталоге «etc/logrotate.d». также они включены в logrotate.conf с помощью директивы include. К примеру, Debian показывает такое содержание данного каталога:

Содержание rsyslog показывает, как вернуть логи в исходное состояние:

$ cat /etc/logrotate.d/rsyslog
/var/log/syslog
<
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
>
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
<
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
>

Как видите, файл «syslog» будет повторно инициализирован каждый день. Другие журнальные файлы ротируются каждую неделю.

Также стоит упомянуть директив postrotate. Она указывает действие, которое происходит после того, как ротация журналов завершена.

Тестирование ротации

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

Чтобы продемонстрировать, как это работает, ниже приведен неполный список журнальных файлов в каталоге /var/log на CentOS:

Неполное содержимое файла logrotate.conf выглядит так:

]# cat /etc/logrotate.conf
# see «man logrotate» for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
.
.

Затем запустите команду logrotate:

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

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

Заключение

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

Источник

Сказочный портал