GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra syslog, rsyslog e syslog-ng?

Soluzione 1:

Fondamentalmente, sono tutti uguali, nel modo in cui tutti consentono la registrazione di dati da diversi tipi di sistemi in un repository centrale.

Ma sono tre progetti diversi, ogni progetto cerca di migliorare il precedente con più affidabilità e funzionalità.

Il Syslog progetto è stato il primo vero progetto. È iniziato nel 1980. È il progetto radice di Syslog protocollo. Al momento Syslog è un protocollo molto semplice. All'inizio supporta solo UDP per il trasporto, quindi non garantisce la consegna dei messaggi.

Poi è arrivato syslog-ng nel 1998. Estende il syslog di base protocollo con nuove funzionalità come:

  • filtro basato sui contenuti
  • Accesso diretto a un database
  • TCP per il trasporto
  • Crittografia TLS

Poi è arrivato Rsyslog nel 2004. Estende syslog protocollo con nuove funzionalità come:

  • Supporto del protocollo RELP
  • Supporto operativo bufferizzato

Diciamo che oggi sono tre progetti concorrenti che sono cresciuti separatamente sulle versioni, ma sono cresciuti anche in parallelo rispetto a quello che facevano i vicini.

Personalmente penso che oggi syslog-ng è il riferimento nella maggior parte dei casi, in quanto è il progetto più maturo che offre le funzionalità principali di cui potresti aver bisogno, oltre a un'impostazione e una configurazione semplici e complete.

Soluzione 2:

si tratta di 3 diversi tipi di gestori di log:consente al sistema di raccogliere filtri e trasmettere/archiviare log.

  • Syslog (demone chiamato anche sysklogd ) è il LM predefinito nelle comuni distribuzioni Linux. Leggero ma poco flessibile, puoi reindirizzare il flusso di log ordinato per facilità e gravità su file e su rete (TCP, UDP).
  • rsyslog è una versione "avanzata" di sysklogd dove il file di configurazione rimane lo stesso (puoi copiare un syslog.conf file direttamente in rsyslog.conf e funziona); ma ci sono un sacco di nuove fantastiche cose in arrivo :

    • Puoi ascoltare connessioni TCP/UDP/..., con restrizioni (porte, IP sorgente)
    • Puoi caricare molti moduli
    • Puoi discriminare il filtraggio del log per programma, sorgente, messaggio, pid ecc. (ad esempio, ogni messaggio contrassegnato con il messaggio "connessione chiusa" al file closed.log)
    • Puoi scartare il messaggio dopo una o più regoleVisita http://www.rsyslog.com che è davvero molto buono
  • Syslog-ng è "Next-Gen". Penso che sia il modo migliore per gestire i log:tutto è oggetto (sorgente, destinazione, filtro e la stessa regola di inoltro) e la sintassi è chiara. Dubito in termini di funzionalità che rsyslog e syslog-ng sono diversi.

Soluzione 3:

Da dove posso ottenere il codice sorgente per syslog()

Questo è fornito da glibc o dalle implementazioni di libc su altri tipi di Unix. Questa chiamata fondamentalmente invia il tuo messaggio al socket di dominio unix di syslog /dev/log. Questo socket viene normalmente creato dal logger di sistema (ad es. rsyslog, syslog-ng, nxlog, ecc.).

Soluzione 4:

Sono tutti demoni syslog, dove rsyslog e syslog-ng sono sostituzioni più veloci e ricche di funzionalità per il tradizionale syslogd (per lo più non mantenuto). syslog-ng è partito da zero (con un diverso formato di configurazione) mentre rsyslog era originariamente un fork di syslogd, supportandone ed estendendone la sintassi. Negli ultimi anni, rsyslog ha iniziato a supportare anche un nuovo formato di configurazione. Ormai è davvero difficile confrontare i due senza entrare nello specifico e iniziare le guerre di fuoco.

Syslog in generale è piuttosto confuso in quanto può essere più cose. Ho provato a disambiguare qui:https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/


Linux
  1. Qual è la differenza tra insmod e modprobe

  2. Qual è la differenza tra mutex e sezione critica?

  3. Qual è la differenza tra fsck ed e2fsck?

  4. Qual è la differenza tra ls e l?

  5. Qual è la differenza tra `su -` e `su --login`?

Qual è la differenza tra InnoDB e MyISAM?

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Login e Non-Login Shell

Qual è la differenza tra il comando apt e apt-get?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?