rsyslog est un logiciel de ligne de commande open source, un démon qui fournit une version améliorée et multithread de l'ancien utilitaire syslogd. En fait, il s'agit d'un remplacement de syslogd original, adapté à tous les systèmes d'exploitation GNU / Linux. Son nom est un acronyme de système de fusée rapide pour le traitement des journaux.
Caractéristiques en un coup d'oeil
Les principales caractéristiques comprennent une conception modulaire, la prise en charge de la mise en mémoire tampon sur disque, l'alerte par courrier électronique, la compression des messages, la prise en charge de tous les systèmes d'exploitation GNU / Linux et la prise en charge des architectures courantes. sécurité, haute performance, ainsi que la possibilité de convertir des fichiers texte au format syslog.
Parmi les autres fonctionnalités, citons le support multi-threading, la possibilité de filtrer n'importe quelle partie d'un message syslog et la prise en charge de syslog sur TCP (Transmission Control Protocol), TLS (Transport Layer Security), SSL (Secure Sockets Layer) ) et les protocoles RELP (Reliable Event Logging Protocol).
En outre, le programme prend en charge les serveurs de bases de données MySQL, Oracle et PostgreSQL, fournit un format de sortie entièrement configurable et convient aux chaînes de relais d'entreprise. Il est surnommé par ses développeurs comme un couteau suisse de l'exploitation forestière.
Rend plus d'un million de messages par seconde
Lorsqu'un traitement limité est en cours, le logiciel rsyslog est capable de fournir plus d'un million de messages par seconde aux destinations locales. Les destinations distantes sont également supportées et rsyslog est un excellent travail.
Premiers pas avec rsyslog
Pour utiliser l'application, vous devrez d'abord l'installer sur votre système GNU / Linux, soit en utilisant l'archive des sources universelles distribuée gratuitement sur Softoware, soit les paquets binaires pré-construits des dépôts logiciels par défaut de votre distribution.
Après l'installation, vous pouvez démarrer le démon rsyslog en lançant le & ldquo; rsyslogd & rdquo; commande (sans guillemets) dans un émulateur de terminal, suivi par l'une des options disponibles. Pour voir les options supportées, lancez le & ldquo; rsyslogd --help & rdquo; commande, sans guillemets.
Quoi de neuf dans cette version:
- nouveau fournisseur de signature pour Keyless Signature Infrastructure (KSI) ajouté
- : réactivez l'utilisation de & quot; make distcheck & quot;
- bugfix imfile: mode multi-lignes regex ignoré l'option escapeLF
- bugfix omkafka: correction de plusieurs problèmes de concurrence, la plupart liés à des sujets dynamiques.
- bugfix: execonlywhenpreviousausepended ne fonctionnait pas correctement. Cela a particulièrement causé des problèmes lorsqu'une action avec cet attribut a été configurée avec une file d'attente d'action.
- bugfix: atomicité de variable globale assurée. Cela pourrait entraîner des problèmes dans RainerScript, ainsi que probablement dans d'autres domaines où les variables globales sont utilisées dans rsyslog. Je ne l'aurais pas devancé, cela pourrait conduire à segfaults.
- bugfix imfile: segfault lors de l'utilisation de startmsg.regex en raison d'une ligne de journal vide
- bugfix: problème de construction sur Solaris
- bugfix: le système de construction strndup était utilisé même s'il n'était pas présent maintenant la fonction de compatibilité ajoutée. Cela est apparu sur les builds Solaris.
Système de construction
Moteur de base de
Quoi de neuf dans la version:
- omkafka: ajoute la prise en charge des sujets dynamiques et du partitionnement automatique. Merci à Tait Clarridge pour les correctifs.
- imtcp / imptcp: prise en charge du framing du syslog Cisco ASA TCP rompu
- omfwd: plus de messages d'erreur détaillés en cas d'erreur d'envoi UDP
- TLS syslog: permet d'activer la journalisation de débogage GnuTLS. Cela fournit de meilleurs diagnostics dans les cas difficiles à diagnostiquer, en particulier lorsque GnuTLS est très pointilleux sur les certificats.
- bugfix: $ AbortOnUncleanConfig n'a pas fonctionné
- améliore la sortie rsyslogd -v et le message d'erreur avec le numéro de version de méta-information est maintenant contenu dans le message d'erreur et construit la plate-forme dans la sortie de la version. Cela aide à se débarrasser de l'habituelle "quelle version & quot; question sur la liste de diffusion, les forums de support, etc ...
- bugfix imtcp: le cadrage compté par octet ne peut pas être désactivé
- bugfix: crée des problèmes sur Illuminos. Merci à Andrew Stormont pour le patch
- bugfix: taille de données invalide pour la propriété globale iMaxLine. Il a été défini comme int, mais dans le système de configuration, il a été déclaré en tant que type de taille, qui utilise int64_t. Avec les instructions de configuration héritées, cela pouvait entraîner une mauvaise saisie, ce qui signifiait généralement que l'autre variable de configuration était écrasée (en fonction de la disposition de la mémoire). clôture https://github.com/rsyslog/rsyslog/issues/205
- : les valeurs négatives du paramètre global maxMessageSize étaient autorisées
Correctif
Nouveautés dans la version 8.7.0:
- ajouter des métadonnées de message & quot; system & quot; à l'objet msg. cela permet de stocker des métadonnées à côté du message
- imfile: ajoute le support pour "filename" métadonnées. ceci est utile dans les cas où des caractères génériques sont utilisés
- imptcp: rend les noms des compteurs de statistiques cohérents avec ce que imudp, imtcp utilise
- a ajouté un nouveau module & quot; omkafka & quot; soutenir l'écriture à Apache Kafka
- omfwd: ajouter un nouveau & quot; udp.senddelay & quot; paramètre
- mmnormalize. Merci à Janmejay Singh pour le patch.
- RainerScript & quot; foreach & quot; itérateur et support de lecture de tableau. Merci à Janmejay Singh pour le patch.
- requiert maintenant liblognorm & gt; = 1.0.2
- ajoutez le support de systemd & gt; = 209 noms de bibliothèques
- BSD & quot; ntp & quot; installation (valeur 12) est maintenant également pris en charge dans le filtre. Merci à Douglas K. Rand d'Iteris, Inc. pour le patch. Note: ce correctif a été publié sous ASL 2.0 (voir conversation par e-mail).
- bugfix: global (localHostName = "xxx") n'a pas été respecté dans tous les modules
- bugfix: émet un message d'erreur correct sur config-file-not-found. clôture https://github.com/rsyslog/rsyslog/issues/173
- bugfix: empstats a émis un format JSON invalide (si JSON a été sélectionné)
- bugfix: (petite) fuite de mémoire dans le code Outchannel d'omfile. Merci à Koral Ilgun d'avoir signalé ce problème.
- bugfix: imuxsock n'a pas désactivé un code non supporté par la plateforme. Parmi les autres problèmes potentiels, ceci a causé un échec de construction sous Solaris. Notez que ce problème de construction vient de faire apparaître un problème plus large qui, jusqu'à présent, existait toujours mais n'était pas visible. ferme https://github.com/rsyslog/rsyslog/issues/185
Améliorations
Nouveautés dans la version 8.6.0:
- les options de ligne de commande rsyslogd de configuration-configuration sont obsolètes
- Pour la plupart d'entre eux, il y a maintenant des objets de configuration appropriés. Quelques-uns seront complètement abandonnés si personne ne les insiste. Infos supplémentaires sur
- http://blog.gerhards.net/2014/11/phasing-out-legacy-command-line-options.html
- plugins nouveaux et améliorés pour 0mq. Ce sont actuellement expérimental.
- Merci à Brian Knox qui a contribué aux modules et qui est leur auteur.
- les jeux de règles vides ont été autorisés. Ils ne soulèvent plus d'erreur de syntaxe.
- ajouter le paramètre -N3 pour activer la vérification de la configuration du fichier de configuration partiel
- Utiliser pour les fichiers d'inclusion de configuration. Désactive la vérification si une action existe à
- tous.
- L'option rsyslogd -e a finalement été supprimée
- Il est déprécié depuis de nombreuses années.
- améliorations de testbench
- Testbench est maintenant plus robuste et comporte des tests supplémentaires.
- testbench est maintenant désactivé par défaut
- Pour l'activer, utilisez -enable-testbench. Cela a été fait car le banc d'essai fait maintenant mieux de vérifier si les modules requis sont présents et cela conduirait à son tour à configurer des messages d'erreur là où ils ne l'étaient pas auparavant si nous laissions par défaut -enable-testbench. Ainsi nous l'avons éteint. Cela ne devrait pas être un problème pour ces quelques utilisateurs de testbench.
- ajouter de nouvelles fonctions RainerScript warp () et replace ()
- Merci à Singh Janmejay pour le patch.
- mmnormalize peut maintenant aussi travailler sur une variable
- Merci à Singh Janmejay pour le patch.
- nouvelles options de date de propriété pour l'ordinal du jour et le numéro de la semaine
- Merci à l'utilisateur de github pour le patch
- remove -enable-zlib configure l'option, nous l'exigeons toujours
- Il est difficile d'imaginer un système sans zlib, nous désactivons donc
- ferme https://github.com/rsyslog/rsyslog/issues/76
- légère restructuration de l'arborescence source: les modules contribués sont maintenant dans leur propre répertoire ./contrib. L'idée est de clarifier à l'utilisateur final quels plugins sont supportés par le projet rsyslog (ceux de ./plugins).
- bugfix: imudp fait rsyslog se bloquer à l'arrêt quand plus d'un thread est utilisé
- ferme https://github.com/rsyslog/rsyslog/issues/126 Correctif
- : tous les fichiers ne sont pas fermés lors du démarrage de l'arrière-plan automatique
- Cela peut arriver quand il n'est pas exécuté sous systemd. Certains fds de faible nombre n'étaient pas fermés dans ce cas.
- bugfix: faute de frappe dans le paramètre de configuration de la file d'attente rendu inutilisable
- Merci à Bojan Smojver pour le patch.
- correction de bogue: erreur de désactivation du tampon unitialized dans la génération du nom d'hôte
- Le cache DNS utilisait de la mémoire non initialisée, ce qui pouvait entraîner une génération de nom d'hôte non valide.
- Merci à Jarrod Sayers de nous avoir alerté et d'avoir fourni des analyses et des recommandations de correctifs.
- bugfix imuxsock: segfault possible quand SysSock.Use = "off"
- Merci à alexjfisher d'avoir signalé ce problème.
- ferme https://github.com/rsyslog/rsyslog/issues/140
- bugfix: RainerScript: les noms de jeux de règles invalides étaient acceptés lors de la définition de l'ensemble de règles, mais ne pouvaient bien sûr pas être utilisés lorsque, par ex. appeler un ensemble de règles.
- IMPORTANT: cela peut provoquer l'erreur de démarrage des configurations existantes, car des noms invalides peuvent également être utilisés, par ex. lors de l'attribution de jeux de règles.
- bugfix: certains points d'entrée du module n'étaient pas appelés pour tous les modules de callbacks comme endCnfLoad () étaient principalement appelés pour les modules d'entrée. Cela a été corrigé. Notez que ce correctif a un certain potentiel de régression.
- bugfix omlibdbi: la connexion a été supprimée dans le mauvais thread
- Cela pourrait avoir des conséquences selon le pilote utilisé. En général, cela ressemble plus à un problème cosmétique. Par exemple, avec MySQL, cela conduit à une petite mémoire mais aussi à un message ennuyeux à propos d'un thread qui n'est pas correctement détruit.
- imttcp a été supprimé car il s'agissait d'un module expérimental incomplet
- pmrfc3164sd car il s'agissait d'un module personnalisé que personne n'utilisait
- Nous avions l'habitude de garder ceci comme un échantillon à l'intérieur de l'arbre, mais celui qui veut le regarder peut vérifier les anciennes versions à l'intérieur de git
- omoracle a été supprimé car il était orphelin et n'a pas été construit / travaillé pendant plusieurs années et personne n'était intéressé à le réparer
Nouveautés dans la version 8.4.2:
- bugfix: le correctif pour CVE-2014-3634 ne gérait pas tous les cas. Ceci est corrigé maintenant. voir aussi: CVE-2014-3683
- a corrigé un problème de construction sur certaines plates-formes. Merci à Olaf pour le patch
- changement de comportement: & quot; msg & quot; de messages avec un PRI invalide défini sur "rawmsg". Lorsque le PRI est invalide, le reste de l'en-tête ne peut pas être valide. Donc nous passons tout cela à MSG et n'essayons pas de l'analyser. Notez que ceci n'est pas directement lié au problème de sécurité, mais plutôt parce que cela a plus de sens.
Nouveautés dans la version 7.6.0:
- Bugfix: les paramètres d'entrée imuxsock n'ont pas été acceptés en raison d'une erreur de copier-coller.
- Merci à Andy Goldstein pour le correctif.
- Ajout du paramètre système global ProcessInternalMessages
- Ceci permet d'injecter des messages d'état rsyslog dans * un autre * syslogd principal ou dans le journal.
- Nouvelle dépendance: liblogging-stdlog (pour la soumission à un enregistreur externe)
- Bugfix: les templates json sont mal créés
- Les chaînes manquent le caractère NUL final, ce qui peut évidemment conduire à toutes sortes de problèmes.
- Voir aussi: https://github.com/rsyslog/rsyslog/issues/27
- Merci à Alain pour l'analyse et le patch.
- ompgsql bugfix: mauvaise gestion du mode auto-backgrounding
- Si rsyslog a été défini sur auto-background lui-même (comportement de code par défaut, mais de nombreuses distributions l'éteignent maintenant pour de bonnes raisons), ompgsql n'a pas pu se connecter correctement. Cela pourrait même conduire à une erreur de segmentation. La raison principale était qu'un handle de session PG était maintenu ouvert sur une fourche, ce qui est explicitement interdit dans l'API PG.
- Merci à Alain pour l'analyse et le patch.
Quoi de neuf dans la version 7.4.9:
- a ajouté le paramètre système global ProcessInternalMessages
- Ceci permet d'injecter des messages d'état rsyslog dans * un autre * syslogd principal ou dans le journal.
- : les paramètres d'entrée imuxsock n'ont pas été acceptés en raison d'une erreur de copier-coller. Merci à Andy Goldstein pour le correctif.
- bugfix: le double-libre potentiel dans RainerScript permet une comparaison égale si l'opérande gauche est un objet JSON et l'opérande de droite est une non-chaîne qui ne convertit pas en un nombre (par exemple, il peut s'agir d'un autre JSON objet, probablement le seul cas qui pourrait arriver dans la pratique). Ceci est très peu susceptible d'être déclenché.
- : certaines comparaisons RainerScript Json (variable) / chaîne étaient erronées
Correction de bug
Correctif
Nouveautés dans la version 8.1.4:
- ajouter exec_template () Fonction RainerScript
- imrelp: prise en charge de TCP KEEPALIVE ajouté
- a ajouté la dépendance à librelp à 1.2.2 pour prendre en charge la nouvelle fonctionnalité KEEPALIVE
- Ajouter des directives pour spécifier numériquement les GID / UID
- Les directives déjà présentes (FileOwner, FileGroup, DirOwner, DirGroup) traduisent les noms en ID numériques, ce qui dépend des informations utilisateur disponibles au démarrage de rsyslog. Cela peut échouer si l'information est obtenue sur un réseau ou à partir d'un service tel que SSSD. Les nouvelles directives fournissent un moyen de spécifier les ID numériques directement et de contourner la recherche.
- Merci à Tomas Heinrich pour le patch.
- bugfix: le traitement de commitTransaction () n'a pas géré correctement les actions suspendues
- bugfix: omelasticsearch fail.es stats counter a été mal géré
Quoi de neuf dans la version 7.4.8:
- rsgtutil fournit de meilleurs messages d'erreur sur les blocs de signature inachevés
- correction: correction des caractères de contrôle dans les messages internes (erreur)
- Merci à Ahto Truu de nous avoir alertés.
- bugfix: immark a émis des messages sous kern. = info au lieu de syslog. = info
- Notez qu'il peut potentiellement casser les configurations existantes qui dépendent de l'envoi de l'immark sous forme de kern. = info. Malheureusement, nous ne pouvons pas laisser ceci non fixé car nous ne devrions jamais émettre de messages sous le kern facilit
Nouveautés dans la version 7.4.7:
- bugfix: limiter l'espace disque de la file d'attente ne fonctionnait pas correctement
- queue.maxdiskspace initialise réellement queue.maxfilesize
- des fichiers de file d'attente n'a pas été vérifiée par rapport à queue.maxdiskspace pour les files d'attente assistées par disque.
- bugfix: ratelimiter semblable au noyau linux ne fonctionnait pas correctement avec toutes les entrées (par exemple, cela ne fonctionnait pas avec imdup). La raison en était que la valeur PRI était utilisée, mais que cela nécessitait l'analyse du message, ce qui était fait trop tard.
- correction de bogue: les files d'attente de disque créaient des fichiers dans un répertoire de travail incorrect si le répertoire $ WorkDirectory était modifié plusieurs fois, toutes les files d'attente utilisaient uniquement le dernier ensemble de valeurs.
- bugfix: la directive legacy $ ActionQueueWorkerThreads n'a pas été honorée
- bugfix: segfault au démarrage lorsque certaines constructions de script sont utilisées
- par exemple & quot; sinon $ msg ... & quot;
- bugfix: imuxsock: Le paramètre de configuration UseSysTimeStamp ne fonctionnait pas correctement
- Merci à Tomas Heinrich de nous avoir alertés et d'avoir proposé une solution.
- bugfix: $ SystemLogUseSysTimeStamp / $ SystemLogUsePIDFromSystem ne fonctionnait pas
- Merci à Tomas Heinrich pour le patch.
- amélioration de la vérification des paramètres de configuration de la file d'attente au démarrage
- bugfix: l'appel à l'ensemble de règles avec la file d'attente asynchrone n'a pas utilisé la file d'attente
- se ferme: http://bugzilla.adiscon.com/show_bug.cgi?id=443
- bugfix: si imtcp est chargé et qu'aucun écouteur n'est configuré (ce qui est rare), rsyslog se bloque lors de l'arrêt.
La taille totale
Quoi de neuf dans la version 8.1.2:
- Le support de liblognorm1 ajouté - améliore les performances
- Support de jemalloc ajouté via -enable-jemalloc
- Les valeurs par défaut des files d'attente ont changé:
- est maintenant dynamique de 90% de la taille de la file d'attente
- low water makr est maintenant dynamiquement 70% de la taille de la file d'attente
- queue.discardMark est maintenant dynamiquement de 98% de la taille de la file d'attente
- queue.workerThreadMinimumMessage défini sur queue.size / num workers
- Pour les files d'attente avec très faible queue.maxSize (& lt; 100), & quot; urgence & quot; les valeurs par défaut seront utilisées.
- Notez que le système de construction est expérimental à ce stade.
- Bugfix: les files d'attente de disque ont créé des fichiers dans un mauvais répertoire de travail
- si le répertoire $ WorkDirectory a été modifié plusieurs fois, toutes les files d'attente utilisent uniquement le dernier ensemble de valeurs.
- Correction: la directive héritée $ ActionQueueWorkerThreads n'a pas été honorée
- Bugfix: mmrfc5424addhmac: & quot; clé & quot; paramètre n'a pas été correctement traité
La limite des hautes eaux
Commentaires non trouvées