Как настроить сервер журналов с rsyslog в CentOS Linux

Как настроить сервер журналов с rsyslog в CentOS Linux

Рубрики:

Linux, RHEL

Метки:

linux, RHEL, rsyslog

Демон rsyslog — высокопроизводительная служба протоколирования для Unix-подобных ОС, включая Linux. Она является заменой устаревшего сервиса syslogd. Утилита rsyslog предоставляет расширенные возможности для ведения файлов журнала, включая:

  • функцию структурирования журнала;
  • фильтрацию;
  • пересылку сообщений по различным сетевым протоколам, таким как TCP / UDP, и много другое.

В этой статье мы покажем, как настроить базовые параметры демона rsyslog в дистрибутиве CentOS Linux.

Содержание:

  1. Установка инструмента rsyslog в CentOS
  2. Файл настроек rsyslog
  3. Настройка параметров rsyslog
    1. Пересылка сообщений по UDP и TCP
    2. Запись сообщений в файл журналов
    3. Фильтрация сообщений с приоритетом authpriv
    4. Структурирование директории файлов журналов
  4. Перезагрузка демона rsyslog и настройка брандмауэра
  5. Выводы

Установка инструмента rsyslog в CentOS Linux

Служба rsyslog предустановлена и работает по умолчанию в CentOS 7 Linux. Чтобы в этом убедиться, воспользуйтесь инструментом systemctl с опцией status. Например:

 

rsyslog status

Если служба не работает по умолчанию, выполните следующую команду для ее запуска:

 

Читайте также: 4 средства мониторинга и управления журналом Linux.

Если по каким-либо причинам утилита rsyslog отсутствует в Вашей ОС, воспользуйтесь менеджером управления пакетами yum для ее установки:

Файл настроек rsyslog

У демона rsyslog есть свой файл настроек/etc/rsyslog.conf. В нем содержатся различные параметры и шаблоны для управления системными сообщениями в Linux. Вы можете открыть этот документ в любом текстовом редакторе, например, в nano:

 

open rsyslog file

На скриншоте выше видно, что по умолчанию все строки в файле /etc/rsyslog.conf закомментированы.

Настройка параметров rsyslog

В качестве примера давайте немного отредактируем файл /etc/rsyslog.conf.

Пересылка сообщений по UDP и TCP

Утилита rsyslog работает через порт 514 и для передачи данных использует сетевой протокол UDP. Однако по умолчанию эта функция отключена, так как соответствующие параметры в файле /etc/rsyslog.conf закомментированы. Чтобы разрешить rsyslog получать сообщения через порт 514 и протокол UDP, достаточно раскомментировать следующие две строки в файле настроек:

 

Читайте также: Как очистить или удалить файлы журнала в Linux или UNIX.

Чтобы позволить демону rsyslog также использовать протокол TCP, дополнительно раскомментируйте:

 

udp tcp perception

Запись сообщений в файл журналов

Как мы сказали ранее, Вы также можете записывать в файл настроек /etc/rsyslog.conf шаблоны для управления журналами. Например, создадим шаблон для регистрации сообщений, поступающих от удаленных операционных систем:

 

remote logs

Давайте детальнее разберем использованные команды:

  1. $template RemoteLogs — строка, которая определяет шаблон с названием RemoteLogs.
  2. "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" — строка, которая указывает путь файлов журналов:
    • %HOSTNAME% — заполнитель, который будет заменен именем хоста, генерирующего сообщения журнала;
    • %PROGRAMNAME% — заполнитель для названия программы или устройства, сгенерировавшего сообщение журнала.
  3. . ?RemoteLogs & ~ — строка, которая указывает демону rsyslog применять шаблон RemoteLogs.

Важно: шаблоны обязательно нужно прописывать перед блоком GLOBAL DIRECTIVES.

Можно также установить директиву, предписывающую rsyslog создавать для каждого удаленного клиента отдельный файл c IP-адресом в названии, куда будут сохраняться все входящие сообщения без фильтрации источника (программы или устройства). Например:

 

template from ip

Разберем этот шаблон:

  1. $template FromIp — строка, которая определяет шаблон с названием FromIp.
  2. "/var/log/%FROMHOST-IP%.log" — строка, которая указывает путь файлов журналов:
    • %FROMHOST-IP% — заполнитель, который будет заменен IP-адресом удаленной ОС, отправившей сообщение журнала.
  3. . ?FromIp & ~ — строка, которая указывает демону rsyslog применять шаблон FromIp.

Читайте также: 27 полезных советов по iptables для администратора Linux.

Фильтрация сообщений с приоритетом authpriv

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

 

template auth

Разберем детальнее его составляющие:

  1. $template TmplAuth — строка, которая определяет шаблон с названием TmplAuth.
  2. "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" — строка, которая указывает путь к файлам журнала:
    • %HOSTNAME% — заполнитель, который будет заменен именем хоста, генерирующего сообщения журнала;
    • %PROGRAMNAME% — заполнитель названия программы или устройства, сгенерировавшего сообщение журнала.
  3. authpriv.* ?TmplAuth — строка, которая указывает rsyslog применять шаблон TmplAuth только к сообщениям с любым уровнем приоритета в категории authpriv.

Структурирование директории файлов журналов

Напоследок, установим шаблон, предписывающий записывать сообщения в файлы каталога /var/log/remote/msg/, разбитого на подкаталоги в соответствии с именем хоста операционной системы и названием программы-источника. Если в названии программы присутствуют косые черты, они заменяются подчеркиваниями, а журналы имеют расширение *.log. Например:

 

specify directory template

Чтобы научиться создавать более сложные шаблоны rsyslog, ознакомьтесь с man-страницой файла /etc/rsyslog.conf или документацией инструмента:

Перезагрузка демона rsyslog и настройка брандмауэра

Чтобы новые директивы rsyslog вступили в силу, сохраните внесенные изменения в /etc/rsyslog.conf и перезагрузите демон:

 

Чтобы убедиться, что rsyslog прослушивает порт 514, примените следующую команду:

 

netstat rsyslog

Читайте также: Как установить Splunk Log Analyzer на CentOS 7.

Если в Вашей ОС включен инструмент SELinux, его необходимо настроить так, чтобы позволить rsyslog принимать трафик в соответствии с типом сетевого сокета. Для этого выполните в терминале:

 

Так как сервис rsyslog использует порт 514, следует разрешить доступ к этому порту с помощью межсетевого экрана firewalld:

 

config firewalld

Выводы

Теперь Вы знаете, что такое демон rsyslog и какие задачи он выполняет. Мы также показали несколько примеров настройки параметров и создания шаблонов rsyslog для управления файлами журналов в дистрибутивах на базе RHEL / CentOS Linux.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, RHEL

Метки:

linux, RHEL, rsyslog

Больше похожих постов

Добавить комментарий

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики