Налаштування 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. Далі, все що потрібно для того щоб отримати логи з певною машини, відфільтрувати їх із загального потоку за допомогою фільтрів:

Поділися в соціальних мережах:

Схожі
Налаштування файлу php.iniНалаштування файлу php.ini
Помилка відмовлено в доступі linuxПомилка відмовлено в доступі linux
Чому лінус торвальдс не любить debianЧому лінус торвальдс не любить debian
Незмінні файли в linuxНезмінні файли в linux
Налаштування logrotateНалаштування logrotate
Автозавантаження в linux mint 17Автозавантаження в linux mint 17
Процес завантаження linuxПроцес завантаження linux
Помилка apt-get command not foundПомилка apt-get command not found
Як подивитися логи в linuxЯк подивитися логи в linux
Оновлення драйверів ubuntuОновлення драйверів ubuntu
» » Налаштування rsyslog в linux