Le rsyslog.Guide complet du fichier de conf pour Linux

Le rsyslog.Guide complet du fichier de conf pour Linux
Syslog est un outil basé sur Unix que Linux utilise pour gérer les fichiers journaux locaux. Maintenant, les nouveaux systèmes Linux utilisent un démon appelé RSYSLOG qui est en fait un outil amélioré.

Le fichier RSYSLOG peut être utilisé pour configurer un serveur de journalisation central ainsi que pour configurer les systèmes clients individuels pour envoyer leurs fichiers journaux au serveur de journalisation.

RSYSLOG peut être installé sur les distributions Red Hat et Ubuntu. Le référentiel Adiscon Ubuntu fournit les dernières versions de Rsyslog sur Ubuntu. De même, le référentiel Adiscon RPM fournit les dernières versions de RSYSLOG pour Red Hat / Centos.

Pour utiliser un système comme serveur de journalisation, installez le service RSYSLOG sur ce système. Installez également le service RSYSLOG sur les systèmes qui enverront des journaux à ce serveur.

Avec le démon rsyslog, nous pouvons envoyer des journaux aux serveurs distants. Il est relativement simple de configurer RSYSLOG. Les fichiers journaux sont centralisés, ce qui facilite l'archivage et le dépannage des processus.

Pourquoi les fichiers journaux sont-ils importants?

Les fichiers journaux sont essentiellement une partie indispensable d'une configuration de serveur. Ces fichiers sont utilisés dans:

  1. Dépannage
  2. Audit du système
  3. Analyse de performance

Les fichiers journaux sont une source clé pour collecter des informations critiques sur un système et divers processus qui s'y exécutaient. Ces informations sont utilisées pour les travaux d'audit et de dépannage.

Que couvrirons-nous?

Dans ce tutoriel, vous en apprendrez sur le service RSYSLOG sur Linux.

Choisir la partition pour / var / log

Le / etc / rsyslog.Conf contient une liste de fichiers journaux gérés par le démon Rsyslogd. Le répertoire / var / log / contient la plupart des fichiers journaux. Des applications comme Samba, HTTPD et d'autres stockent également leurs journaux dans un sous-répertoire à l'intérieur du / var / journal.

C'est une bonne pratique de monter le répertoire / var / log sur une partition distincte. Cela aide à éviter une situation où les journaux locaux occupent l'espace partagé par le système de fichiers racine. Il s'agit d'une étape extrêmement importante dans la configuration des serveurs qui reçoivent trop de fichiers journaux de plusieurs systèmes distants.

Le service de journalisation RSYSLOG

L'application RSYSLOG aide à centraliser la collection de journaux sur votre infrastructure. Cette application fonctionne en parallèle avec le soi-disant systemd-Journald. Bien que le service RSYSLOG soit toujours utilisé sur Red Hat Systems, il est maintenant remplacé par ce nouveau système de journalisation, le SystemD-Journald.

Le Systemd-Journald a été introduit avec Systemd dans Rhel 7 et continue d'être utilisé avec RHEL 8 et 9. Le service RSYSLOG offre une compatibilité vers l'arrière sur les systèmes RHEL plus récents.

Le rsyslog.Fichier de configuration Conf

Laissez maintenant gérer le RSYSLOG réel.Fichier de confort situé à / etc / rsyslog.confli. Ce fichier est en arrière compatible avec le syslog.Fichier confi du sysklogd.

Les règles spécifiées dans ce fichier régissent comment le RSYSLOGD traite des messages. De manière générale, on peut catégoriser les messages en fonction de leur source, de son sujet (installation) et de leur urgence (priorité). Une fois classé, une action peut être attribuée et effectuée lorsqu'un message qualifie la condition définie.

Ce fichier a trois spécifications majeures: les directives mondiales, les modules et les règles. La section des règles comprend les composants du filtre et de l'action.

Exemple d'extrait de fichier sur RHEL 8:

$ cat / etc / rsyslog.confli
# Fichier de configuration RSYSLOG
#### MODULES ####
module (charte = "imuxsock" # prend en charge la journalisation du système local (e.g. via la commande Logger)
# Les messages locaux sont récupérés via Imjournal maintenant.
module (chargy = "imjournal" # donne accès au journal systemd
#### Directives mondiales ####
# Où placer les fichiers auxiliaires
global (workDirectory = "/ var / lib / rsyslog")
# Utilisez le format horodatage par défaut
module (losh = "inégalé: omfile" template = "RSYSLOG_TRADITIONALFILEFORMAT")
# Inclure tous les fichiers de configuration dans / etc / rsyslog.d/
inclure (file = "/ etc / rsyslog.d/*.conf "mode =" facultatif ")
#### RÈGLES ####
# Enregistrer tous les messages du noyau à la console.

Directives mondiales

Les directives globales sont utilisées pour configurer le démon Rsyslogd. Généralement, ils spécifient une valeur pour une variable prédéfinie particulière qui a un impact sur la fonctionnalité de RSYSLOGD ou une règle.

Section module

L'ajout d'extensions dans RSYSLOG est simple en raison de son architecture modulaire. Lorsque vous ouvrez le fichier, il y a une ligne:

module (charge = "imuxsock") # prend en charge la journalisation du système local

Le but de cette ligne est de demander à la RSYSLOG de charger le module «ImuxSock» pour recevoir des messages via / dev / log.

Ensuite, il y a un bloc pour la réception UDP Syslog:

#Module (losh = "iMudp")
#input (type = "iMUDP" port = "514")

Bien que ces lignes qui commencent par «#» sont des commentaires et sont simplement ignorées. Mais ils expliquent comment configurer le serveur RSYSLOG pour recevoir les messages sur un réseau UDP.

Comme d'habitude, la première ligne charge le module appelé «IMUDP». La deuxième ligne spécifie le port UDP 514 comme le port sur lequel le module doit écouter les messages de journalisation. Lorsque vous souhaitez utiliser cette fonctionnalité, commentez simplement les lignes.

Section des règles

Au bas du fichier de configuration, il y a un bloc qui contient les lignes suivantes:

# Inclure tous les fichiers de configuration dans / etc / rsyslog.d/
$ IncludeConfig / etc / rsyslog.d/*.confli

D'autres fichiers peuvent être ajoutés dans une configuration RSYSLOG, ce qui facilite la gestion des fichiers en particulier tout en supervisant un grand réseau de systèmes. Cette directive demande à RsysLogd de charger tous les fichiers à l'intérieur du / etc / rsyslog.d.

Sélecteurs et actions

Pour envoyer un message de journal quelque part, nous devons définir une règle qui correspond au message. Par exemple, considérez la ligne suivante de / etc / syslog.D / 50-Default.confli:

*.= débogage / var / log / débogage

Ici, la première partie, "*.= débogage ", est un sélecteur. La partie suivante, «/ Var / log / débogage», est le chemin vers l'emplacement où RsysLogd met les messages filtrés.

La partie des filtres d'une règle choisit une partie des messages syslog. La partie d'action décide quelle action doit être effectuée avec ces messages.

RSYSLOG a différentes façons de filtrer les messages syslog en fonction des propriétés choisies. Les méthodes de filtrage peuvent être classées en fonction de: Facilité / Priorité, propriété et expressions.

La partie des actions, comme mentionné précédemment, spécifie ce qu'il faut faire avec les messages précédemment filtrés. Les actions peuvent stocker les messages syslog dans les fichiers journaux, transférer les messages syslog sur un réseau, etc.

Obtenir la documentation RSYSLOG

Une documentation complète de la demande RSYSLOG peut être vue en ligne à https: // www.rsyslog.com / doc /. Cependant, un package de documentation local appelé Rsyslog-doc peut également être installé sur votre système.

Pour installer ce package sur RHEL 8, vous devez faire installer un référentiel AppStream et un accès administratif sur votre système. Une fois ces exigences satisfaites, exécutez simplement la commande suivante pour installer ce package:

$ yum install rsyslog-doc

Pour vérifier si le package est installé correctement, exécutez la commande suivante:

$ firefox / usr / share / doc / rsyslog / html / index.html &

Modification du Rsyslog.Confli Déposer

Avant de modifier ce fichier, prenez une sauvegarde afin que nous puissions restaurer à un point sûr si quelque chose ne va pas.

Configurons ce fichier pour UDP. Nous ouvrons maintenant ce fichier et décommentions les lignes correspondant à UDP:

# fournit une réception UDP Syslog
module (losh = "iMudp")
entrée (type = "iMUDP" port = "514")

De même, pour configurer ce fichier pour la réception TCP, décommentez les lignes correspondant à TCP:

# Fournit la réception TCP Syslog
module (charge = "imtcp")
entrée (type = "imtcp" port = "514"

Conclusion

Ce tutoriel présente un aperçu du service RSYSLOG à Linux. Vous pouvez également vous référer aux pages principales à explorer sur les informations détaillées sur ce service.