Чим відрізняється syslog, rsyslog від syslog-ng?


61

Я трохи заплутався в syslog, rsyslog та syslog-ng.

Звідки я можу отримати вихідний код syslog()?

Чи є різниця між rsyslog і rsyslogd?


rsyslogd з буквою D - це демон
rsyslogd

3
Для повноти я додам одну різницю, яку я виявив, що може чи не впливати на вас. syslog-ng використовує fopen, тоді як rsyslog використовує fappend. Це має значення, якщо ви маєте chattr +aсвої файли syslog. Більшість людей цього не роблять, я просто мав особливий футляр для використання, і саме так я дізнався. Я просто змусив багато людей скупитися.
Аарон

Відповіді:


52

В основному всі вони однакові, тому що всі вони дозволяють вести реєстрацію даних із різних типів систем у центральному сховищі.

Але це три різні проекти, кожен проект намагається вдосконалити попередній з більшою надійністю та функціональністю.

SyslogПроект був першим проектом. Це почалося в 1980 році. Це основний проект для Syslogпротоколу. На даний момент Syslog - це дуже простий протокол. На початку він підтримує лише UDP для транспорту, так що він не гарантує доставку повідомлень.

Наступний прийшов syslog-ngу 1998 році. Він розширює базовий syslogпротокол з новими функціями, такими як:

  • фільтрація на основі вмісту
  • Вхід безпосередньо в базу даних
  • TCP для транспорту
  • Шифрування TLS

Наступний прийшов Rsyslogу 2004 році. Він розширює syslogпротокол новими функціями, такими як:

  • Підтримка протоколу RELP
  • Захищена підтримка роботи

Скажімо, сьогодні це три паралельних проекти, які розросталися окремо за версіями, але також зростали паралельно щодо того, що роблять сусіди.

Я особисто вважаю, що сьогодні syslog-ngце посилання в більшості випадків, оскільки це найбільш зрілий проект, який пропонує основні функції, які можуть знадобитися, крім простого та всебічного налаштування та налаштування.


1
Для запису, syslog OpenBSD може зробити TCP і TLS (і UDP)
Ніл МакГуйган

32

це 3 різні види менеджерів журналів: це дозволяє вашій системі збирати фільтр та передавати / зберігати журнали.

  • Syslog(Демон також названий sysklogd) є LM за замовчуванням у поширених дистрибутивах Linux. Легкий, але не дуже гнучкий, ви можете перенаправляти потоки журналу, відсортовані за об'єктом та серйозністю до файлів та по мережі (TCP, UDP).
  • rsyslogє "розширеною" версією, sysklogdде файл конфігурації залишається тим самим (ви можете скопіювати syslog.confфайл безпосередньо в rsyslog.confнього і він працює); але у вас є багато нових цікавих речей:

    • Ви можете прослуховувати з'єднання TCP / UDP / ... з обмеженнями (порти, вихідні IP-адреси)
    • Ви можете завантажити безліч модулів
    • Ви можете розрізнити фільтрацію журналу за програмою, джерелом, повідомленням, pid тощо (наприклад, кожне повідомлення, позначене повідомленням "з'єднання закрито" у файл закритий.log)
    • Ви можете відкинути повідомлення після одного або декількох правил. Відвідайте веб-сайт http://www.rsyslog.com, що дуже добре
  • Syslog-ng - це "Next-Gen". Я думаю, що це найкращий спосіб керування журналами: все є об'єктом (джерело, призначення, фільтр та саме правило переадресації), і синтаксис зрозумілий. Я сумніваюсь у функціональності, що rsyslogі syslog-ngвідрізняються.


8
Я заперечую, що і syslog-ng, і rsyslog - це "наступний ген", або, принаймні, новіша заміна старого syslog. Обидва порівнянні за ознаками, але синтаксис для обох дуже різний. syslog-ng має власний унікальний синтаксис, тоді як синтаксис rsyslog більше схожий на старший синтаксис syslog.
Стефан Ласєвський

9
І тоді є journalctl/journald
Mausy5043

9

Звідки я можу отримати вихідний код для syslog ()

Це забезпечується glibc або реалізаціями libc для інших ароматів Unix. Цей виклик в основному надсилає ваше повідомлення в розетку / dev / log домену syslog unix. Цей сокет зазвичай створюється системним реєстратором (наприклад, rsyslog, syslog-ng, nxlog тощо).


3

Усі вони демони syslog, де rsyslog та syslog-ng - це швидші та більш багаті на функціональні можливості заміни (здебільшого непідтримуваних) традиційних syslogd. syslog-ng почався з нуля (з іншим конфігураційним форматом), тоді як rsyslog спочатку був виделкою syslogd, підтримуючи і розширюючи свій синтаксис. В останні роки rsyslog також почав підтримувати новіший конфігураційний формат. На сьогоднішній день насправді важко порівнювати, не вникаючи в саму специфіку і починаючи полум'яні війни.

Загалом Syslog досить заплутаний, оскільки це може бути багато речей. У мене тут з'явилися розрізнення: https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.