rsyslog è un software da riga di comando open source, un demone che fornisce una versione avanzata e multi-threaded della vecchia utility syslogd. In realtà, è un rimpiazzo sostitutivo del syslogd originale, adatto a tutti i sistemi operativi GNU / Linux. Il suo nome è un acronimo dal sistema Rocket-Fast per l'elaborazione dei log.
Caratteristiche a colpo d'occhio
Le caratteristiche principali includono un design modulare, supporto per il buffering su disco on-demand, allarmi via e-mail, compressione dei messaggi on-the-wire, supporto per tutti i sistemi operativi GNU / Linux, supporto per architetture mainstream, state-of-the-art sicurezza, alte prestazioni, nonché la possibilità di convertire file di testo nel formato syslog.
Tra le altre funzionalità possiamo citare il supporto multi-threading, la possibilità di filtrare qualsiasi parte di un messaggio syslog e il supporto per syslog su TCP (Transmission Control Protocol), TLS (Transport Layer Security), SSL (Secure Sockets Layer ) e protocolli RELP (Reliable Event Logging Protocol).
Inoltre, il programma supporta i server di database MySQL, Oracle e PostgreSQL, fornisce un formato di output completamente configurabile ed è adatto per catene di rilancio di classe enterprise. È soprannominato dai suoi sviluppatori come un coltellino svizzero di disboscamento.
Fornisce oltre un milione di messaggi al secondo
Quando è in vigore un'elaborazione limitata, il software rsyslog è in grado di fornire oltre un milione di messaggi al secondo a destinazioni locali. Anche le destinazioni remote sono supportate e rsyslog è un ottimo lavoro.
Iniziare con rsyslog
Per usare l'applicazione, devi prima installarla sul tuo sistema GNU / Linux, usando l'archivio universale delle fonti distribuito gratuitamente su Softoware oi pacchetti binari predefiniti dai repository software di default della tua distribuzione.
Dopo l'installazione, puoi avviare il demone rsyslog eseguendo il & ldquo; rsyslogd & rdquo; comando (senza virgolette) in un emulatore di terminale, seguito da una delle opzioni disponibili. Per visualizzare le opzioni supportate, esegui & ldquo; rsyslogd --help & rdquo; comando, senza virgolette.
Novità in questa versione:
- aggiunto il nuovo fornitore di firme per l'infrastruttura di firma senza chiave (KSI)
- build system: riattivare l'uso di & quot; make distcheck & quot;
- bugfix imfile: regex modalità multilinea ignorato opzione escapeLF
- bugfix omkafka: risolti diversi problemi di concorrenza, molti dei quali relativi a argomenti dinamici.
- bugfix: execonlywhenpreviousissuspended non ha funzionato correttamente. Ciò ha causato problemi in particolare quando un'azione con questo attributo è stata configurata con una coda azione.
- motore core bugfix: atomicità variabile globale garantita. Questo potrebbe portare a problemi in RainerScript, così come probabilmente in altre aree in cui le variabili globali sono usate all'interno di rsyslog. Non escluderei che potrebbe portare a segfaults.
- bugfix imfile: segfault quando si utilizza startmsg.regex a causa della linea di log vuota li>
- bugfix: problema di build su Solaris
- bugfix: build system strndup è stato utilizzato anche se non presente ora ha aggiunto la funzione di compatibilità. Questo è venuto su build Solaris.
Novità della versione nella versione:
- omkafka: aggiungi supporto per argomenti dinamici e partizionamento automatico. Grazie a Tait Clarridge per le patch.
- imtcp / imptcp: supporto per framing syslog TCP Cisco ASA rotto
- omfwd: più messaggi di errore dettagliati in caso di errore di invio UDP
- TLS syslog: abilita la funzionalità per attivare la registrazione di debug di GnuTLS. Ciò fornisce una migliore diagnostica nei casi difficili da diagnosticare, specialmente quando GnuTLS è particolarmente esigente nei confronti dei certificati.
- bugfix: $ AbortOnUncleanConfig non ha funzionato
- migliorare l'output di rsyslogd -v e il messaggio di errore con il numero di versione delle informazioni meta è ora contenuto nel messaggio di errore e nella piattaforma di generazione dell'output di versione. Questo aiuta a sbarazzarsi della solita & quot; quale versione & quot; domanda su mailing list, forum di supporto, ecc ...
- bugfix imtcp: l'inquadratura conteggiata con ottetto non può essere disattivata li>
- bugfix: crea problemi su Illuminos. Grazie a Andrew Stormont per la patch
- bugfix: dimensione dei dati non valida per la proprietà globale di iMaxLine. È stato definito come int, ma all'interno del sistema di configurazione è stato dichiarato come tipo di dimensione, che utilizza int64_t. Con le istruzioni di configurazione legacy, questo potrebbe portare a una disadattazione, che in genere significava che l'altra variabile di configurazione era stata sovrascritta (a seconda del layout di memoria). chiude https://github.com/rsyslog/rsyslog/issues/205
- bugfix: i valori negativi per il parametro globale maxMessageSize erano consentiti
Novità della versione nella versione 8.7.0:
- aggiungi metadati del messaggio & quot; sistema & quot; a msg oggetto. questo consente di memorizzare metadati accanto al messaggio
- imfile: aggiungi il supporto per & quot; nomefile & quot; metadati. questo è utile nei casi in cui vengono utilizzati i caratteri jolly
- imptcp: crea nomi di contatori statistici coerenti con ciò che imudp, imtcp usa
- aggiunto nuovo modulo & quot; omkafka & quot; per supportare la scrittura su Apache Kafka
- omfwd: aggiungi nuovo & quot; udp.senddelay & quot; parametro
- mmormalizzare i miglioramenti. Grazie a Janmejay Singh per la patch.
- RainerScript & quot; foreach & quot; supporto per la lettura di iteratori e array. Grazie a Janmejay Singh per la patch.
- ora richiede liblognorm & gt; = 1.0.2
- aggiungi il supporto per i nomi di libreria systemd & gt; = 209
- BSD & quot; ntp & quot; funzione (valore 12) è ora supportata anche nel filtro. Grazie a Douglas K. Rand di Iteris, Inc. per la patch. Nota: questa patch è stata rilasciata sotto ASL 2.0 (vedi email-conversation).
- bugfix: globale (localHostName = & quot; xxx & quot;) non è stato rispettato in tutti i moduli
- bugfix: emette il messaggio di errore corretto su config-file-not-found. chiude https://github.com/rsyslog/rsyslog/issues/173
- bugfix: impstats ha emesso il formato JSON non valido (se è stato selezionato JSON)
- bugfix: (piccola) perdita di memoria nel codice outchannel di omfile. Grazie a Koral Ilgun per aver segnalato questo problema.
- bugfix: imuxsock non ha disattivato alcun codice non supportato dalla piattaforma. Tra i potenziali altri problemi, questo ha causato un errore di build in Solaris. Si noti che questo problema di build ha fatto apparire un problema più ampio che finora è sempre esistito ma non era visibile. chiude https://github.com/rsyslog/rsyslog/issues/185
Novità nella versione 8.6.0:
- opzioni di configurazione della riga di comando rsyslogd deprecate
- Per la maggior parte di questi, ora ci sono gli oggetti di configurazione corretti. Alcuni saranno completamente abbandonati se nessuno insiste su di loro. Ulteriori informazioni su
- http://blog.gerhards.net/2014/11/phasing-out-legacy-command-line-options.html
- plugin nuovi e migliorati per 0mq. Questi sono attualmente sperimentali.
- Grazie a Brian Knox che ha contribuito ai moduli ed è il loro autore.
- set di regole vuoti sono stati permessi. Non generano più un errore di sintassi.
- aggiungi il parametro -N3 per abilitare il controllo di configurazione del file di configurazione parziale
- Utilizzabile per i file di inclusione della configurazione. Disabilita il controllo se esiste un'azione a
- tutti.
- rsyslogd -e è stata finalmente rimossa
- È deprecato da molti anni.
- miglioramenti del testbench
- Testbench è ora più robusto e ha test aggiuntivi.
- testbench ora è disabilitato di default
- Per abilitarlo, usa -enable-testbench. Questo è stato fatto poiché il banco di prova ora verifica meglio se sono presenti i moduli richiesti e questo a sua volta porterebbe a configurare i messaggi di errore laddove prima non lo erano se avremmo lasciato -enable-testbench attivo per impostazione predefinita. Così l'abbiamo spento. Questo non dovrebbe essere un problema per quei pochi utenti di testbench.
- aggiungi nuove funzioni di RainerScript warp () e replace ()
- Grazie a Singh Janmejay per la patch.
- mmnormalize ora può funzionare anche su una variabile
- Grazie a Singh Janmejay per la patch.
- nuove opzioni di data di proprietà per il giorno ordinale e il numero della settimana
- Grazie a github utente arrjay per la patch
- rimuovi l'opzione -enable-zlib configure, la richiediamo sempre
- È difficile immaginare un sistema senza zlib, quindi disattiviamo
- chiude https://github.com/rsyslog/rsyslog/issues/76
- lieve ristrutturazione dell'albero sorgente: i moduli contribuiti sono ora nella loro directory ./contrib. L'idea è di rendere più chiaro all'utente finale quali plugin sono supportati dal progetto rsyslog (quelli in ./plugins).
- bugfix: imudp fa sì che rsyslog si blocchi durante l'arresto quando più di 1 thread è usato
- chiude https://github.com/rsyslog/rsyslog/issues/126
- bugfix: non tutti i file sono chiusi all'avvio di auto-background
- Questo potrebbe accadere quando non è in esecuzione sotto systemd. Alcuni file con numero basso non sono stati chiusi in quel caso.
- bugfix: l'errore di digitazione nel parametro di configurazione della coda ha reso il parametro inutilizzabile
- Grazie a Bojan Smojver per la patch.
- bugfix: errore unitario del buffer in un errore nella generazione del nome host
- La cache DNS utilizzava la memoria non inizializzata, che poteva portare alla generazione di un nome host non valido.
- Grazie a Jarrod Sayers per averci avvisato e avallato analisi e raccomandazioni sulle patch.
- bugfix imuxsock: possibile segfault quando SysSock.Use = & quot; off & quot;
- Grazie a alexjfisher per aver segnalato questo problema.
- chiude https://github.com/rsyslog/rsyslog/issues/140
- bugfix: RainerScript: i nomi delle regole delle regole non validi sono stati accettati durante la definizione delle regole, ma ovviamente non potrebbero essere utilizzati quando ad es. chiamare un set di regole.
- IMPORTANTE: questo potrebbe causare errori nelle configurazioni esistenti all'avvio, poiché potrebbero anche essere utilizzati nomi non validi, ad es. quando si assegnano i set di regole.
- bugfix: alcuni punti di ingresso del modulo non sono stati chiamati per tutti i moduli come callbacks endCnfLoad () venivano principalmente chiamati per moduli di input. Questo è stato corretto. Nota che questo bugfix ha alcune potenzialità di regressione.
- bugfix omlibdbi: la connessione è stata rimossa nella discussione sbagliata li>
- Ciò potrebbe avere conseguenze a seconda del driver utilizzato. In generale, sembra più un problema estetico. Ad esempio, con MySQL porta a una memoria piccola ma anche un messaggio fastidioso su un thread non correttamente rimosso.
- imttcp è stato rimosso perché era un modulo sperimentale incompleto
- pmrfc3164sd perché era un modulo personalizzato non usato nessuno
- Lo abbiamo tenuto come esempio all'interno dell'albero, ma chiunque lo voglia può controllare nelle versioni precedenti di git
- omoracle è stato rimosso perché era orfano e non era stato creato / lavorato per alcuni anni e nessuno era interessato a risolverlo
L'opzione
Novità della versione nella versione 8.4.2:
- bugfix: la correzione per CVE-2014-3634 non ha gestito tutti i casi. Questo è corretto ora. vedi anche: CVE-2014-3683
- risolto un problema di build su alcune piattaforme. Grazie a Olaf per la patch
- modifica del comportamento: & quot; msg & quot; di messaggi con PRI non valido impostato su & quot; rawmsg & quot ;. Quando il PRI non è valido, il resto dell'intestazione non può essere valido. Quindi passiamo tutto a MSG e non proviamo a analizzarlo. Nota che questo non è direttamente correlato al problema di sicurezza, ma piuttosto fatto perché ha più senso.
Novità nella versione 7.6.0:
- Bugfix: i parametri di input di imuxsock non sono stati accettati a causa di errori di copia e incolla.
- Grazie a Andy Goldstein per la correzione.
- Aggiunto il parametro di sistema globale ProcessInternalMessages
- Ciò consente di inserire i messaggi di stato rsyslog in * un altro * syslogd principale o nel journal.
- Nuova dipendenza: liblogging-stdlog (per l'invio al logger esterno)
- Bugfix: i modelli json sono creati in modo improprio
- Le stringhe perdono il carattere NUL terminante, che ovviamente può portare a tutti i tipi di problemi.
- Vedi anche: https://github.com/rsyslog/rsyslog/issues/27
- Grazie ad Alain per l'analisi e la patch.
- bugfix di ompgsql: gestione errata della modalità auto-background
- Se rsyslog è stato impostato come auto-background (comportamento del codice predefinito, ma molte distribuzioni ora lo disattivano per una buona ragione), ompgsql non è stato in grado di connettersi correttamente. Questo potrebbe persino portare a un segfault. Il motivo principale era che un handle di sessione PG veniva tenuto aperto su un fork, cosa che è esplicitamente proibita nell'API di PG.
- Grazie ad Alain per l'analisi e la patch.
Novità nella versione 7.4.9:
- aggiunto il parametro di sistema globale ProcessInternalMessages
- Ciò consente di inserire i messaggi di stato rsyslog in * un altro * syslogd principale o nel journal.
- bugfix: i parametri di input di imuxsock non sono stati accettati a causa dell'errore di copia e incolla. Grazie a Andy Goldstein per la correzione.
- bugfix: potenziale double-free nel confronto uguale di RainerScript accade se l'operando di sinistra è un oggetto JSON e l'operando di destra è una non stringa che non converte in un numero (ad esempio, può essere un altro JSON oggetto, probabilmente l'unico caso che potrebbe accadere nella pratica). È molto improbabile che venga attivato.
- bugfix: alcuni confronti di RainerScript Json (variabile) / stringa erano sbagliati
Novità nella versione 8.1.4:
- aggiungi exec_template () funzione RainerScript
- imrelp: supporto per TCP KEEPALIVE aggiunto
- dipendenza da librerie con urto alla 1.2.2 per supportare la nuova funzione KEEPALIVE
- Aggiungi le direttive per specificare numericamente GID / UID
- I già presenti direttive (Fileowner, gruppo di file, DirOwner, DirGroup) tradurre i nomi agli ID numerici, che dipende dalle informazioni utente ne sia a disposizione durante l'avvio di rsyslog. Questo può fallire se le informazioni vengono ottenute su una rete o da un servizio come SSSD. Le nuove direttive forniscono un modo per specificare gli ID numerici direttamente e ignorare la ricerca.
- Grazie a Tomas Heinrich per la patch.
- bugfix: l'operazione commitTransaction () non ha gestito correttamente le azioni sospese
- bugfix: il contatore delle statistiche di fail.es di omelasticsearch è stato erroneamente gestito
Novità nella versione 7.4.8:
- rsgtutil fornisce migliori messaggi di errore sui blocchi di firma incompleti
- bugfix: protezione dai caratteri di controllo nei messaggi interni (di errore)
- Grazie ad Ahto Truu per averci segnalato.
- bugfix: immark ha emesso messaggi con kern. = info invece di syslog. = info
- Si noti che il suo può potenzialmente interrompere le configurazioni esistenti che si basano sull'invio di immark come kern. = info. Sfortunatamente, non possiamo lasciare questo non fissato perché non dovremmo mai emettere messaggi sotto la funzione kern
Novità nella versione 7.4.7:
- bugfix: la limitazione dello spazio su disco della coda non funzionava correttamente
- queue.maxdiskspace effettivamente inizializza queue.maxfilesize
- la dimensione totale dei file della coda non è stata verificata rispetto a queue.maxdiskspace per le code con supporto del disco.
- bugfix: il ratelimiter kernel-like di Linux non funzionava correttamente con tutti gli input (ad esempio, non funzionava con imdup). Il motivo era che veniva usato il valore PRI, ma era necessario parsing del messaggio, che era stato fatto troppo tardi.
- bugfix: le code di dischi hanno creato file nella directory di lavoro errata se $ WorkDirectory è stato modificato più volte, tutte le code hanno utilizzato solo l'ultimo set di valori.
- bugfix: direttiva precedente $ ActionQueueWorkerThreads non è stato onorato
- bugfix: segfault all'avvio quando vengono utilizzati determinati costrutti di script
- es. & quot; se non $ msg ... & quot;
- bugfix: imuxsock: il parametro di configurazione UseSysTimeStamp non ha funzionato correttamente
- Grazie a Tomas Heinrich per averci avvisato e aver fornito un suggerimento per la soluzione.
- bugfix: $ SystemLogUseSysTimeStamp / $ SystemLogUsePIDFromSystem non ha funzionato
- Grazie a Tomas Heinrich per la patch.
- miglioramento del controllo dei parametri di configurazione della coda all'avvio
- bugfix: la chiamata al set di regole con la coda asincrona non ha usato la coda
- chiude: http://bugzilla.adiscon.com/show_bug.cgi?id=443
- bugfix: se imtcp è caricato e nessun ascoltatore è configurato (cosa non comune), rsyslog si blocca durante l'arresto.
Novità nella versione 8.1.2:
- Supporto per liblognorm1 aggiunto - risultati in miglioramenti delle prestazioni
- Supporto per jemalloc aggiunto tramite -enable-jemalloc
- I valori predefiniti della coda sono cambiati:
- l'high water mark ora è dinamicamente al 90% della dimensione della coda
- makr low water ora è dinamico al 70% delle dimensioni della coda
- queue.discardMark ora è dinamicamente al 98% delle dimensioni della coda
- queue.workerThreadMinimumMessage impostato su queue.size / num worker
- per le code con coda molto bassa.maxSize (& lt; 100), & quot; emergenza & quot; verranno utilizzati i valori predefiniti.
- Nota che il sistema di build è sperimentale in questa fase.
- Bugfix: le code del disco hanno creato file nella directory di lavoro errata li>
- se $ WorkDirectory è stata modificata più volte, tutte le code hanno utilizzato solo l'ultimo set di valori.
- Bugfix: direttiva precedente $ ActionQueueWorkerThreads non è stato rispettato
- Bugfix: mmrfc5424addhmac: & quot; chiave & quot; il parametro non è stato elaborato correttamente
I commenti non trovato