GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi syslog, rsyslog a syslog-ng?

Řešení 1:

V zásadě jsou všechny stejné, protože všechny umožňují logování dat z různých typů systémů do centrálního úložiště.

Jsou to ale tři různé projekty, z nichž každý se snaží vylepšit předchozí s větší spolehlivostí a funkčností.

Syslog projekt byl úplně první projekt. Začalo to v roce 1980. Je to kořenový projekt Syslog protokol. V současné době je Syslog velmi jednoduchý protokol. Zpočátku podporuje pouze UDP pro přenos, takže nezaručuje doručení zpráv.

Další bylo syslog-ng v roce 1998. Rozšiřuje základní syslog protokol s novými funkcemi jako:

  • filtrování podle obsahu
  • Přímé přihlášení do databáze
  • TCP pro přepravu
  • Šifrování TLS

Další bylo Rsyslog v roce 2004. Rozšiřuje syslog protokol s novými funkcemi jako:

  • Podpora protokolu RELP
  • Podpora provozu s vyrovnávací pamětí

Řekněme, že dnes jsou to tři souběžné projekty, které vyrostly odděleně na verzích, ale také paralelně rostly s ohledem na to, co dělali sousedé.

Osobně si myslím, že dnes syslog-ng je ve většině případů referenční, protože jde o nejvyspělejší projekt nabízející hlavní funkce, které můžete potřebovat, kromě snadného a komplexního nastavení a konfigurace.

Řešení 2:

toto jsou 3 různé druhy správců protokolů:umožňuje vašemu systému shromažďovat filtry a přenášet/ukládat protokoly.

  • Syslog (démon také pojmenovaný sysklogd ) je výchozí LM v běžných distribucích Linuxu. Lehký, ale ne příliš flexibilní, můžete přesměrovat tok protokolů seřazený podle zařízení a závažnosti do souborů a přes síť (TCP, UDP).
  • rsyslog je "pokročilá" verze sysklogd kde konfigurační soubor zůstává stejný (můžete zkopírovat syslog.conf soubor přímo do rsyslog.conf a funguje to); ale přichází s ním spousta nových skvělých věcí:

    • Můžete poslouchat připojení TCP/UDP/... s omezeními (porty, zdrojové IP adresy)
    • Můžete načíst mnoho modulů
    • Filtrování protokolu můžete rozlišit podle programu, zdroje, zprávy, pid atd. (například každá zpráva označená zprávou "připojení uzavřeno" k souboru closed.log)
    • Zprávu můžete zahodit po jednom nebo více pravidlechNavštivte stránku http://www.rsyslog.com, což je opravdu velmi dobré
  • Syslog-ng je "Next-Gen". Myslím, že je to nejlepší způsob, jak spravovat protokoly:vše je objekt (zdroj, cíl, filtr a samotné pravidlo předávání) a syntaxe je jasná. Pochybuji o funkčnosti, že rsyslog a syslog-ng jsou různé.

Řešení 3:

Kde mohu získat zdrojový kód pro syslog()

To zajišťuje glibc nebo implementace libc na jiných variantách Unixu. Toto volání v podstatě odešle vaši zprávu do soketu syslog unixové domény /dev/log. Tento soket je normálně vytvořen systémovým loggerem (např. rsyslog, syslog-ng, nxlog atd.).

Řešení 4:

Všechno jsou to démoni syslog, kde rsyslog a syslog-ng jsou rychlejší a bohatší náhrady za (většinou neudržovaný) tradiční syslogd. syslog-ng začal od nuly (s jiným konfiguračním formátem), zatímco rsyslog byl původně fork syslogd, který podporoval a rozšiřoval jeho syntaxi. V posledních letech začal rsyslog podporovat také novější formát konfigurace. V tuto chvíli je opravdu těžké srovnávat tyto dva, aniž bychom se dostali do velmi specifik a nezačali plamenné války.

Syslog je obecně docela matoucí, protože může být více věcí. Pokusil jsem se vyjasnit zde:https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/


Linux
  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  3. Jaký je rozdíl mezi Git Switch a Checkout?

  1. Jaký je rozdíl mezi Redhat a centOS?

  2. Jaký je rozdíl mezi mutexem a kritickou sekcí?

  3. Jaký je rozdíl mezi `su -` a `su --login`?

  1. Jaký je rozdíl mezi insmod a modprobe

  2. Jaký je rozdíl mezi strtok_r a strtok_s v C?

  3. Jaký je rozdíl mezi fsck a e2fsck?