Настройка rsyslog в linux

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

Видео: LPIC 108.2 часть четвертая. Журналирование событий: rsyslog

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

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

На протяжении многих лет в операционной системе Linux используется сервис Syslog для управления логами. В современных версиях применяется его модификация — rsyslog.

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

Что такое Rsyslog?

Развитие rsyslog началось в 2004 году, в качестве форка используемого тогда сервиса Syslog. Программа очень быстро набрала популярность среди пользователей и сейчас она поставляется по умолчанию во многих дистрибутивах Linux.

Видео: Rsyslog, Logrotate, cisco

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

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

Вот основные возможности:

  • Многопоточность;
  • TCP, SSL, TLS, RELP;
  • Поддержка MySQL, PostgreSQL, Oracle;
  • Фильтрация журналов;
  • Полностью настраиваемый формат вывода.

Как происходит логирование?

Все программы Linux ведут лог путем отправки сообщений об ошибках или своем состоянии с помощью сокета syslog или просто записывая все сообщения в файл, который будет находиться в каталоге /var/log/.

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

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

  • KERN_EMERG — система неработоспособна;
  • KERN_ALERT — нужно немедленно принять меры;
  • KERN_CRIT — критическая ошибка;
  • KERN_ERR — обычная ошибка;
  • KERN_WARNING — предупреждение;
  • KERN_NOTICE — замечание;
  • KERN_INFO — информационное сообщение;
  • KERN_DEBUG — сообщения отладки.

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

Настройка Rsyslog в Linux

Все настройки Rsyslog находятся в файле /etc/rsyslog.conf и других конфигурационных файлах из /etc/rsyslog.d.

Вы можете посмотреть существуют ли у вас эти файлы выполнив:

Видео: [LINUX] #11 Rsyslog Server Log Analyzer e Mysql

rsyslog.conf rsyslog.d/

Основной конфигурационный файл — /etc/rsyslog.conf, в нем подключены все файлы из папки rsyslog.d с помощью директивы IncludeConfig в самом начале файла:

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support
#$ModLoad immark # provides —MARK— message capability

# provides UDP syslog reception

#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception

#$ModLoad imtcp
#$InputTCPServerRun 514

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

Существуют четыре типа модулей

  • Модули ввода — можно рассматривать, как способ сбора информации из различных источников, начинаются с im.
  • Модули вывода — позволяют отправлять сообщения в файлы или по сети, или в базу данных, имя начинается на om;
  • Модули фильтрации — позволяют фильтровать сообщения по разным параметрам, начинаются с fm;
  • Модули парсинга — предоставляют расширенные возможности для синтаксического анализа сообщения, начинаются с pm.

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

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

Например, вы можете попросить rsyslog выводить сообщения каждые 20 минут:

$ ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

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

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

$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

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

Вот набор правил по умолчанию:

auth,authpriv.* /var/log/auth.log
*.*-auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log

Каждое правило имеет свой синтаксис, сначала идет источник и приоритет, затем действие. Если источник и приоритет совпадают, сообщение отправляется в указанный файл. Например, мы можем отправить больше сообщений в лог системы linux /var/messages:

:syslogtag, isequal, «giomanager:» /var/log/giomanager.log
& stop

Кроме того, можно использовать более простой синтаксис, в виде выражения if.

Вот основной синтаксис:

if $поле сравнение `значение` then файл

Здесь используются те же самые компоненты, только выглядит немного проще. Например:

Видео: LPIC-1 Курс Linux для системного администратора: настройка Syslog (журналирование событий Linux)

*.info-mail.none;authpriv.none;cron.none @xx.xx.xx.xx:514

Здесь 514 — это порт, на котором слушает rsyslog. Настройка rsyslog на прием логов заключается в запуске сервиса с модулями imtcp и imudp.

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*