Soutenir Vision du Web dans son partage de logiciels et de ressources libres

Ce mineur crée de la monnaie numérique Monero pour soutenir Vision du web.
Merci de désactiver votre bloqueur de publicité.
Aucune publicité ne sera affichée.
Le mineur utilise les ressources de votre machine pour créer gratuitement de la monnaie numérique.
Le montant des donations pour Vision du web est de 0.073098684737773 Monero.

Adiscon Rsyslog

De Wiki. Analyse, Communication, Développement, Hacking.
Aller à : navigation, rechercher
Naviguer sur le wiki : Accueil du wiki - Administrateur - Développeur - Intégrateur - Marketing - Multimédia - Objectifs - We make Hack
Naviguer sur le site : Accueil du site - Les annuaires - Les éditoriaux - Le forum - Les outils - Les projets
 
Consulter le sommaire de cette page en étant déconnecté du réseau : Télécharger le sommaire en PDF

Sommaire

Adiscon Rsyslog

Présentation

Rsyslog est un programme open source qui permet de transférer les messages de journalisation sur un réseau IP pour les systèmes UNIX et de type Unix.
Il implémente le protocole syslog de base, et l'étend avec un filtrage basé sur le contenu, des fonctionnalités de filtrage avancées, des options de configuration flexibles et ajoute des fonctionnalités tel que l’utilisation de TCP, SSL et RELP pour le transport. Rsyslog est un remplaçant direct de syslogd. Rsyslog offre de hautes performances, des fonctionnalités de sécurité et une conception modulaire. Rsyslog peut nous permettre de stocker les messages de journalisation dans une base de données MySQL, MariaDB, MongoDB ou PostgreSQL pouvat être configurée avec dbconfig-common pour une configuration facile via debconf. Les données des logs pourront être exploitées par un programme complémentaire, comme par exemple, l'interface Web de LogAnalyzer. La rotation des messages de journalisation est automatisée.
Site officiel de Rsyslog : https://www.rsyslog.com
Documentation Version 8 : https://www.rsyslog.com/doc/v8-stable/
Documentation générale : https://www.rsyslog.com/doc/master/index.html
Documentation de configuration : https://www.rsyslog.com/doc/v8-stable/configuration/index.html
Exemples de configuration : https://www.rsyslog.com/doc/v8-stable/configuration/examples.html
Exemples de configuration : http://wiki.rsyslog.com/index.php/Configuration_Samples
Unfortunately, we cannot provide a fixed link at the moment, because the wiki has been disabled for now.
We had to disable the wiki to accomodate the changes to european GDPR laws and the current wiki software could not be easily adjusted.

Historique du passage de Sysklogd vers Rsyslog

Le service rsyslogd a été intégré avec le paquet Rsyslog à partir de Debian Lenny (https://wiki.debian.org/DebianLenny) pour remplacer l'ancien syslog : sysklogd.
Les règles de journalisation existantes dans syslog.conf peuvent être simplement copiées dans /etc/rsyslog.conf ou dans le dossier /etc/rsyslog.conf.d.
Sysklogd qui était installé par défaut n’est pas mauvais mais le paquet n’a presque pas été entretenu ses dernières années.
Voir la note d'information partagée de Debian Lenny release notes : https://www.debian.org/releases/lenny/i386/release-notes/ch-whats-new#system-changes
Quelques arguments en faveur de Rsyslog dans les discussions suivantes :
* https://lists.debian.org/debian-devel/2008/01/thrd3.html#01002
* https://lists.debian.org/debian-release/2008/07/msg00117.html
* https://lists.debian.org/debian-devel/2008/01/msg01002.html

Installation

Installer Rsyslog permet notamment de stocker les logs de syslog dans une base de données.
Si aucune base de données n'est configurée, l'interface Web de LogAnalyzer pourra utiliser les données de logs fournies par syslog depuis le disque.
Si une base de données est configurée, l'interface Web de LogAnalyzer pourra utiliser les données de logs fournies par la base de données.
Prérequis : apache.
Vérifier si le paquet Rsyslog est déjà présent avec la commande :
dpkg -l rsyslog

Installer la version 8.39.0 de Rsyslog depuis les dépôts officiels pour Mint et Ubuntu

Ajouter un des deux référentiels :
Ajouter le référentiel PPA stable : sudo add-apt-repository ppa:adiscon/v8-stable
Ajouter le référentiel PPA en développement : sudo add-apt-repository ppa:adiscon/v8-devel
sudo apt update
sudo apt-get install rsyslog

Installer la version 8.39.0 de Rsyslog depuis les dépôts officiels pour Debian

Installer la clé PGP dans votre système apt : sudo apt-key adv --recv-keys --keyserver keys.gnupg.net AEF0CF8E
Dépôt Adiscon pour v8-stable sur Debian (7) Wheezy.
Éditer votre /etc/apt/sources.list et ajouter ces lignes à la fin :
deb http://debian.adiscon.com/v8-stable wheezy/
deb-src http://debian.adiscon.com/v8-stable wheezy/
sudo apt update
sudo apt-get install rsyslog

Installer la version 8.39.0 de Rsyslog depuis les dépôts officiels pour Alpine

cd /etc/apk/keys
wget http://alpine.adiscon.com/[email protected]5a55e598.rsa.pub
echo "http://alpine.adiscon.com/3.7/stable" >> /etc/apk/repositories
apk update
apk add rsyslog

Installer la version 8.39.0 de Rsyslog depuis les dépôts officiels pour RHEL et CentOS

cd /etc/yum.repos.d/
wget http://rpms.adiscon.com/v8-stable/rsyslog.repo
yum install rsyslog

Installer la version 8.39.0 de Rsyslog depuis les sources officielles

Code sources et support officiel sur Github : https://github.com/rsyslog/rsyslog/tree/master
Télécharger la source de Rsyslog 8.39.0 : https://www.rsyslog.com/downloads/download-v8-stable/
https://www.rsyslog.com/doc/v8-stable/installation/install_from_source.html

Installer la documentation de Rsyslog

Documentation installée, par défaut sur Debian, avec le service rsyslogd :
man rsyslogd
Installer la documentation complète de Rsyslog au format HTML :
sudo apt install rsyslog-doc
cat /usr/share/doc-base/rsyslog-doc
Document: rsyslog-doc
Title: Rsyslog Documentation
Author: Rainer Gerhards
Abstract: This documentation covers the configuration of rsyslog.
Section: System/Administration

Format: HTML
Index: /usr/share/doc/rsyslog-doc/html/manual.html
Files: /usr/share/doc/rsyslog-doc/html/*.html

Installer rsyslog-mysql pour configurer la base de données MySQL qui va stocker les logs de syslog

Les bases MySQL, MariaDB, MongoDB ou PostgreSQL sont correctement supportées.
sudo apt install rsyslog-mysql
La configuration de rsyslog-mysql se fait automatiquement avec dbconfig-common.
Une base MySQL nommée Syslog contenant deux tables SystemEvents et SystemEventsProperties est créée.
Un utilisateur [email protected] est ajouté, il possède le contrôle total sur la base de données Syslog.
La configuration de la connexion à la base de données MySQL est disponible depuis le fichier /etc/rsyslog.d/mysql.conf.

Configurer le fichier de connexion mysql.conf

Éditer mysql.conf, le fichier de configuration de MySQL.
Permet de se connecter à la base de données Syslog pour stocker les logs de syslog.
sudo nano /etc/rsyslog.d/mysql.conf
Faire les modifications suivantes pour une version de serveur sous Mint Tara 19 ou Ubuntu 18.04 Lts.
Remarque : Il semble important d’utiliser les espaces de tabulation entre les entrées de la configuration.
# Charger le module et enregistrer tous les messages de syslog en base de données :
module (load="ommysql")
*.* action(type="ommysql" server="localhost" db="Syslog" uid="rsyslog" pwd="Password_BDD")
# Cette commande filtre le niveau d'alertes des messages a enregistrer en base de données :
*.emerg >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.alert >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.crit >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.err >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.warning >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.notice >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.info >localhost,Syslog,Utilisateur_BDD,Password_BDD
*.debug >localhost,Syslog,Utilisateur_BDD,Password_BDD
#?# Syntaxe a vérifier pour un système Debian Strech 9 :
#?# $ModLoad ommysql
#?# *.* :ommysql:localhost,Syslog,Utilisateur_BDD,Password_BDD

Créer la base de données Syslog pour stocker les données de syslog avec Rsyslog et MySQL

Si le paquet rsyslog-mysql n'a pas été utilisé pour créer la base de données, la base de données peut être créée manuellement.

Première méthode

Créer la structure de base de données avec le script officiel pour stocker les messages de journalisation dans MySQL :
La définition du schéma de base de données donnée est disponible depuis le fichier createDB.sql depuis l’archive de Rsyslog 8.39.0.
Le chemin d'accès au fichier est ./rsyslog-8.39.0/plugins/ommysql/createDB.sql.
Lancer l'import de la base :
mysql -u rsyslog -D Syslog -p < ./rsyslog-8.39.0/plugins/ommysql/createDB.sql

Deuxième méthode

Se connecter à MySQL :
sudo bash
mysql -u root -p
Si besoin, renseigner le mot de passe de l'utilisateur pour la base de données. Continuer avec la touche entrée.
Créer la structure de base de données manuellement pour stocker les messages de journalisation dans MySQL :
CREATE DATABASE Syslog;

USE Syslog;

CREATE TABLE SystemEvents

(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
ReceivedAt datetime NULL,
DeviceReportedTime datetime NULL,
Facility smallint NULL,
Priority smallint NULL,
FromHost varchar(60) NULL,
Message text,
NTSeverity int NULL,
Importance int NULL,
EventSource varchar(60),
EventUser varchar(60) NULL,
EventCategory int NULL,
EventID int NULL,
EventBinaryData text NULL,
MaxAvailable int NULL,
CurrUsage int NULL,
MinUsage int NULL,
MaxUsage int NULL,
InfoUnitID int NULL ,
SysLogTag varchar(60),
EventLogType varchar(60),
GenericFileName VarChar(60),
SystemID int NULL
);

CREATE TABLE SystemEventsProperties

(
ID int unsigned not null auto_increment primary key,
SystemEventID int NULL ,
ParamName varchar(255) NULL ,
ParamValue text NULL
);

Créer un utilisateur rsyslog pour utiliser la base de données Syslog

Se connecter à MySQL en ligne de commande.
Le mot de passe est vide sur le système local, valider avec la touche entrée pour se connecter.
Il faudra sécuriser MySQL avec un mot de passe pour un système en production.
mysql -u root -p
Si l'utilisateur rsyslog n'existe pas encore, créer l'utilisateur rsyslog pour gérer la base de données.
CREATE USER 'rsyslog'@'localhost' IDENTIFIED BY 'Analyzer';
Donner les droits à l'utilisateur rsyslog.
GRANT ALL PRIVILEGES ON Syslog.* TO [email protected] IDENTIFIED BY 'Analyzer';
FLUSH PRIVILEGES;
exit;

Optimiser la base de données Syslog

La table MySQL SystemEvents peut se remplir rapidement et devenir très volumineuse.
Un script d’archivage placé dans une tâche Cron permettra d’éviter les mauvaises surprises.

Proposition script Cron 1

# L'archivage semble fonctionner correctement.
# Vérifier la suppression des données en base.
#!/bin/bash
# Archivage mensuel des logs de la base MySQL Syslog
RETENTION=180 # Durée de rétention des logs (en jours)
DESTDIR="/var/backups/syslog" # Répertoire de stockage des archives
ARCHIVE="syslog-$(date '+%Y-%m-%d-%Hh%M').gz"
# Paramètres MySQL
MYSQL_HOST="localhost"
MYSQL_DB="Syslog"
MYSQL_USER="rsyslog"
MYSQL_PASSWD="motdepasse"
# Archivage
sql="SELECT * FROM SystemEvents WHERE DATEDIFF(NOW(), DeviceReportedTime) > $RETENTION"
mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWD -e "$sql" -B -s $MYSQL_DB | gzip > $DESTDIR/$ARCHIVE
# Suppression des enregistrements MySQL
sql="DELETE FROM SystemEvents WHERE DATEDIFF(NOW(), DeviceReportedTime) > $RETENTION"
mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWD -e "$sql" -B -s $MYSQL_DB

Proposition script Cron 2

# Ce script efface les données de plus de deux jours qui sont stockées dans la base de données.
# Les informations texte des lignes echo ne se sont pas affichées dans le terminal lors de mes essais.
#!/bin/bash
# Purge des logs de la base MySQL Syslog
RETENTION=2 # Durée de rétention des logs (en jours)
# Initialisation variables
MYSQL_HOST="localhost"
MYSQL_DB="bddloganalyzer"
MYSQL_USER="Logs"
MYSQL_PASSWD="Analyzer"
TMP_LOG="/tmp/cron.log"

# Comptage des enregistrements à supprimer
sql="SELECT COUNT(*) FROM SystemEvents WHERE DATEDIFF(NOW(), DeviceReportedTime) > $RETENTION"
compteur='mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWD -e "$sql" -B -s $MYSQL_DB'
if [ "$compteur" = "0" ]; then
echo "(I) Il n'y a pas d'enregistrements plus vieux que $RETENTION jours" >> $TMP_LOG
else
echo "(I) Il y a $compteur enregistrements à supprimer" >> $TMP_LOG
# Suppression des enregistrements MySQL
sql="DELETE FROM SystemEvents WHERE DATEDIFF(NOW(), DeviceReportedTime) > $RETENTION"
mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWD -e "$sql" -B -s $MYSQL_DB
cr=$?
if [ $cr -gt 0 ]; then
  echo "(E) Erreur lors de la suppression des enregistrements. Code retour $cr" >> $TMP_LOG
else
  echo "(I) L'opération s'est déroulée correctement" >> $TMP_LOG
fi
fi

Utiliser InnoDB et des tables compressées

# Ce script n'a pas été testé.
# Pour utiliser InnoDB et des tables compressées :
ALTER TABLE SystemEvents
ENGINE=innodb DEFAULT CHARSET=latin1 row_format=COMPRESSED KEY_BLOCK_SIZE=4;

Indexer les champs qui serviront souvent dans les requêtes

# Ce script n'a pas été testé.
# Après quelques mois d’exploitation, les requêtes lancées depuis LogAnalyser peuvent devenir plus lentes, rendant l’outil pénible à utiliser.
# Avec la version du plugin MySQL de rsyslog (v 4.6.4) les index ne sont pas créés dans la table SystemEvents à l’installation.
# Quand les enregistrements se comptent en millions dans la table ce n'est plus adapté.
# La solution est d’indexer les champs qui serviront souvent dans les requêtes, par exemple, Facility, Priority, FromHost, SysLogTag et DeviceReportedTime.
ALTER TABLE `SystemEvents` ADD INDEX(`Facility`);
ALTER TABLE `SystemEvents` ADD INDEX(`Priority`);
ALTER TABLE `SystemEvents` ADD INDEX(`FromHost`);
ALTER TABLE `SystemEvents` ADD INDEX(`SysLogTag`);
ALTER TABLE `SystemEvents` ADD INDEX(`DeviceReportedTime`);

Vérifier que la table MySQL est bien alimentée avec les logs

# Créer une entrée de journal avec la commande suivante :
logger Fonctionne!
# Tester si il existe des enregistrements depuis le terminal avec la commande suivante :
mysql -u rsyslog -p -Bsr -e "SELECT Message FROM SystemEvents LIMIT 0,20" Syslog
# Tester si il existe des enregistrements depuis l'interface en ligne de commande de MySQL avec les commandes suivantes :
mysql -u root -p
# Saisir votre mot de passe utilisateur pour root ou appuyer directement sur entrée si le mot de passe est vide.
# Sélectionner la base de données Syslog sur laquelle la requête va être lancée.
mysql> use Syslog;
mysql> select * from SystemEvents limit 1;
# Cette commande fonctionne également et devrait être plus rapide en sélectionnant moins d'informations.
# mysql> select ReceivedAt,Message from SystemEvents;

Configurer l'écoute du réseau dans la configuration de Rsyslog

# Paramétrer le fichier de configuration de Rsyslog.
sudo nano /etc/rsyslog.conf
# Charger ce module semble indispensable pour réceptionner les données syslog en local depuis le Disque ou la base de données MySQL.
# La commande utilisée sous Mint Tara 19 ou Ubuntu 18.04 Lts :
module(load="imuxsock")
# Charger le module pour les anciennes systèmes :
# $ModLoad imuxsock
# Les informations de syslog peuvent être reçues via UDP ou TCP.
# Les instructions de configuration sont un peu différentes entre UDP et TCP.
# Dans la plupart des cas, UDP Syslog devrait être entièrement suffisant et performant.
# Si la mémoire tampon système pour UDP est saturée lors d'un enchaînement de messages volumineux, les messages seront perdus.
# Ce n'est pas le cas avec TCP syslog car l'expéditeur et le destinataire communiquent à propos de l'arrivée des paquets réseau.
# Certains périphériques, tels que les routeurs, ne peuvent pas envoyer TCP Syslog par conception. Dans ce cas, il faut tout de même utiliser UDP.
# TCP syslog est adapté pour les environnements dans lesquels les messages de journal ne doivent pas être perdus ou qui doivent assurer la conformité PCI, par exemple, les banques.
# Préférer l'utilisation du protocole RELP :
# Sur la (non) fiabilité de plain TCP syslog, utiliser le protocole RELP semblerait être encore plus pertinent.
# On the (un)reliability of plain TCP syslog : https://rainer.gerhards.net/2008/04/on-unreliability-of-plain-tcp-syslog.html
# Activer la réception des logs distants :
# Le syslog UDP est reçu sur le port 514 par défaut.
# Le syslog TCP nécessite un port différent car le service RPC utilise souvent ce port également.
# Syntaxe pour Debian. ( A vérifier ! )
# Fournit une réception UDP syslog :
## $ModLoad imudp
## $UDPServerRun 514
# Fournit une réception TCP syslog :
## $ModLoad imtcp
## $InputTCPServerRun 1514
# Syntaxe pour Ubuntu 16.04 LTS / Ubuntu 18.04 LTS et Mint Tara 19.
# Fournit une réception UDP syslog :
module(load="imudp")
input(type="imudp" port="514") 
# Fournit une réception TCP syslog :
module(load="imtcp")
input(type="imtcp" port="1514")
# Liste des sous réseaux autorisés à se connecter :
# $AllowedSender UDP, 127.0.0.1, 192.168.1.0/24
# $AllowedSender TCP, 127.0.0.1, 192.168.1.0/24
# Le serveur est maintenant configuré pour enregistrer les logs dans la base de données.
# Il écoute sur le port 514 et 1514 les messages entrant.

Exemple de configuration par défaut

#$DebugFile /home/looksaalpha/Bureau/debug.txt
#$DebugLevel 2

#  /etc/rsyslog.conf    Fichier de configuration pour Rsyslog.
$EscapeControlCharactersOnReceive off

#### MODULES ####
# $ModLoad imuxsock
module(load="imuxsock")

# UDP syslog reception
# module(load="imudp")
# input(type="imudp" port="1514")
# ou
# $Modload imudp
# $UDPServerRun 1514

# TCP syslog reception
# module(load="imtcp")
# input(type="imtcp" port="1514")
# ou
# $ModLoad imtcp
# $InputTCPServerRun 1514

# Support de connexion Kernel et activation des non-kernel klog messages
module(load="imklog" permitnonkernelfacility="on")

# Règles de connexion par défaut : /etc/rsyslog.d/50-default.conf
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          /var/log/syslog
syslog.*                        /var/log/rsyslog.log
cron.*                          /var/log/cron.log
kern.*                          /var/log/kern.log
#daemon.*                       /var/log/daemon.log
#lpr.*                          /var/log/lpr.log
#user.*                         /var/log/user.log
#mail.*                         /var/log/mail.log
#mail.info                      /var/log/mail.info
#mail.warn                      /var/log/mail.warn
#mail.err                       /var/log/mail.err
#news.crit                      /var/log/news/news.crit
#news.err                       /var/log/news/news.err
#news.notice                    /var/log/news/news.notice

# Propriétaires du fichier cron.log passé a syslog:logadmin

# Ajouter une ligne pour faire gérer d'autres logs par Rsyslog (Apache2, Mysql, ...) :
syslog.*                        /var/log/apache2/error.log

#### GLOBAL DIRECTIVES ####
# Semble être obsolète :
# $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Filtre les messages dupliqués :
$RepeatedMsgReduction on

$WorkDirectory /var/spool/rsyslog

# Include all config files in /etc/rsyslog.d/
# $IncludeConfig /etc/rsyslog.d/*.conf
$IncludeConfig /etc/rsyslog.d/mysql.conf

Redémarrer Rsyslog pour appliquer la nouvelle configuration

Redémarrer le démon Rsyslog pour appliquer la nouvelle configuration :
# Anciennes commandes :
sudo service rsyslog restart
sudo /etc/init.d/rsyslog restart
# Nouvelle commande :
sudo systemctl restart rsyslog

Erreurs rencontrées dans les logs de syslog

Résoudre une erreur action qui boucle plusieurs fois

Cette erreur s'affiche plusieurs fois : action 'action-1-builtin:omfile' resumed (module 'builtin:omfile') [v8.39.0 try http://www.rsyslog.com [More Information] /e/2359 ]
Des messages d'actions à répétition signifient souvent que la configuration n'est pas correcte. Par exemple, un module inutilisé est peut être chargé.
# Je vérifie que les fichiers de logs existent bien, et, ont les bons droits de lecture.
sudo touch cron.log
sudo chown root:root /var/log/cron.log
sudo chmod 666 /var/log/cron.log
# Les propriétaires pour le fichier auth.log sont modifiés de root:logadmin pour syslog:logadmin.
sudo chown syslog:logadmin auth.log
# Si les lignes qui s'affichent sont toujours présentes malgré les changements de droits précédents, tenter le changer de droits récursif du dossier /var/log/.
# Éviter cette commande de préférence, donner des droits chmod aussi élevés ne devrait pas être nécessaire.
sudo chmod 775 /var/log/
# Pour le moment, cette erreur boucle encore, notamment, au démarrage de la machine virtuelle.
# J'ai tout de même pu diminuer le nombre d'alertes en réduisant la configuration au minimum nécessaire.
Une issue Github a été ouverte : https://github.com/rsyslog/rsyslog/issues/3287

Résoudre la NOTICE Syslog : couldn't access control socket

AUTH - NOTICE - MyNameOS - gnome-keyring-daemon - Syslog - couldn't access control socket: /run/user/1000/keyring/control: Aucun fichier ...
Créer un fichier gnome-keyring-daemon.desktop dans le dossier ~/.config/autostart/
Ajouter le code suivant :
[Desktop Entry]
Type=Application
Exec=/usr/bin/gnome-keyring-daemon
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Gnome Keyring Daemon
Comment=Load gnome keyring daemon

Résoudre un daemon warning depuis une machine virtuelle VirtualBox Mint Tara 19

# Le message d'erreur :
Using degraded feature set (UDP) for DNS server 10.0.2.3.
# Consulter :
systemd-resolve --status
# Les dernières lignes affichent :
Link 2 (enp0s3)
     Current Scopes: DNS
      LLMNR setting: yes
MulticastDNS setting: no
     DNSSEC setting: no
   DNSSEC supported: no
        DNS Servers: 10.0.2.3
         DNS Domain: home
# Notes :
DNS Orange = 91.121.161.184 91.121.164.227 2001:41d0:1:e2b8::1 2001:41d0:1:e5e3::1
DNS Google = 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Modifier le nameserver : sudo nano resolv.conf
# Laisser ou commenter :
# nameserver 127.0.0.53
# Ajouter :
nameserver 10.0.2.3
nameserver 127.0.0.1
nameserver ::1
# Par défaut :
search home
Consulter les logs.
L'alerte ne semble plus être affichée et résolue de façon temporaire.
Le redémarrage de la machine fera disparaître cette configuration.
Le message d'erreur apparaît à nouveau.
Pour une configuration permanente, cliquer droit sur network-manager et modifier la configuration du réseau.
Ma connexion sur la machine virtuelle est considérée comme filaire. Ajouter le DNS secondaire 10.0.2.3.
Le message ne semble plus s'afficher une fois la machine allumée.
Le message d'erreur semble toujours s'afficher une fois par démarrage.

Centraliser les logs sur un serveur de logs avec Rsyslog

Complète la configuration proposée précédemment pour utiliser Rsyslog comme serveur de logs centralisé.
Créer un fichier modèle dans lequel nous créerons un nouveau format de journal personnalisé depuis /etc/rsyslog.d/tmpl.conf
Je n'ai pas testé cette possibilité.
Autoriser le port par défaut de Rsyslog UDP 514 sur votre pare-feu.
Autoriser le port modifié de Rsyslog TCP 1514 sur votre pare-feu.
Les commandes suivantes ouvriront ce port via UFW :
sudo ufw allow 514/udp
sudo ufw allow 1514/tcp
Redémarrer le service UFW pour prendre en compte les modifications :
sudo ufw reload
Recharger le service Rsyslog en utilisant la commande suivante :
systemctl restart rsyslog
Dans le cas ou le serveur de logs se trouve derrière un routeur :
Penser a activer les règles NAT adaptées aux ports sélectionnés dans la configuration.
Rediriger le trafic UDP 514->514 vers le serveur de logs.
Rediriger le trafic TCP 1514->1514 vers le serveur de logs.

Ajouter de nouveaux clients Rsyslog

Configurer les machines clients pour qu’elles puissent envoyer leurs logs à la machine qui aura le rôle de serveur de logs.
Fonctionne avec syslog ou syslog-ng, avec un paramétrage différent pour syslog-ng.
Cette fonctionnalité n'a pas été testée lors de la rédaction de ce tutoriel.
Étape 1 : Installer le paquet rsyslog sur chaque client :
apt-get install rsyslog
Étape 2 : Créer un répertoire de travail
mkdir /var/spool/rsyslog
Étape 3 : Ouvrir le fichier de configuration de Rsyslog.
nano /etc/rsyslog.conf
Modifier la configuration qui permet l'envoi des logs au serveur de logs :
Emplacement par défaut pour les fichiers de travail (spool).
$WorkDirectory /var/spool/rsyslog
Commencer la règle de transfert 1 :
$ActionQueueType LinkedList # Exécuter le traitement de façon asynchrone.
$ActionQueueFileName srvrfwd1 # Préfixe de nom unique pour les fichiers spool. Active également le mode disque.
$ActionQueueMaxDiskSpace 1g # Limite d'espace de 1 Go.
$ActionQueueSaveOnShutdown on # Enregistrer les données sur le disque si Rsyslog est arrêté.
$ActionResumeRetryCount -1 # Tentatives infinies en cas d'échec de connexion avec l'hôte.
# jouter les lignes suivantes dans la section RULES :
# Envoyer tous les messages sur le serveur de journalisation distant avec la commande suivante :
*.* @@Cible_IP_serveur_1_LogAnalayzer:514 # Ou 514 est le port d'écoute qui a été défini dans la configuration.
Commencer la règle de transfert 2 :
$ActionQueueType LinkedList # Exécuter le traitement de façon asynchrone.
$ActionQueueFileName srvrfwd2 # Préfixe de nom unique pour les fichiers spool. Active également le mode disque.
$ActionQueueMaxDiskSpace 1g # Limite d'espace de 1 Go.
$ActionQueueSaveOnShutdown on # Enregistrer les données sur le disque si Rsyslog est arrêté.
$ActionResumeRetryCount -1 # Tentatives infinies en cas d'échec de connexion avec l'hôte.
# jouter les lignes suivantes dans la section RULES :
# Envoyer tous les messages sur le serveur de journalisation distant avec la commande suivante :
*.* @@Cible_IP_serveur_1_LogAnalayzer:514 # Ou 514 est le port d'écoute qui a été défini dans la configuration.
Étape 4 : Redémarrer le service RSyslog
sudo /etc/init.d/rsyslog restart
Consigner le message en erreur standard (écran), ainsi que le journal système à l’aide de la commande suivante :
logger -s " Ceci est un client Rsyslog "
Aller sur le serveur Rsyslog sous le répertoire /var/log/client_logs.
Un nouveau dossier nommé avec le nom d’hôte de votre client Rsyslog devrait être disponible.
/var/log/client_logs/Client01/

Rsyslog et SSL

Le cryptage SSL pour l'échange entre Syslog et Rsyslog.
Encrypting Syslog Traffic with TLS (SSL) [short version] : https://www.rsyslog.com/doc/v8-stable/tutorials/tls.html
Encrypting Syslog Traffic with TLS (SSL) : https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_summary.html

Ajouter des plugins pour Rsyslog

apt-cache search rsyslog
rsyslog - démon fiable de journalisation système et noyau
gosa-plugin-rsyslog - greffon rsyslog pour GOsa²
rsyslog-gssapi - Authentification GSSAPI et prise en charge du chiffrement pour rsyslog
rsyslog-mysql - Module de sortie MySQL pour rsyslog
rsyslog-pgsql - Module de sortie PostgreSQL pour rsyslog
fusiondirectory-plugin-rsyslog - rsyslog plugin for FusionDirectory
librelp-dev - Reliable Event Logging Protocol (RELP) library - development files
librelp0 - Reliable Event Logging Protocol (RELP) library
rsyslog-doc - documentation for rsyslog
rsyslog-elasticsearch - Elasticsearch output plugin for rsyslog
rsyslog-gnutls - TLS protocol support for rsyslog
rsyslog-relp - RELP protocol support for rsyslog
uwsgi-core - fast, self-healing application container server (core)

Déboguer Rsyslogd et obtenir ses logs

Méthode DebugFile et DebugLevel

Ouvrir le fichier de configuration de Rsyslog :
sudo nano /etc/rsyslog.conf
# Ajouter les deux lignes suivantes :
$DebugFile /home/USER/Bureau/debug.txt
$DebugLevel 2
# <0|1|2> - Définir le niveau de débogage :
# 0 correspond au mode débogage désactivé.
# 1 au mode débogage à la demande activé mais le mode débogage désactivé.
# 2 correspond au mode débogage complet.
# Redémarrer Rsyslog :
sudo service rsyslog restart
Documentation : Rsyslog Debug Support : https://www.rsyslog.com/doc/v8-stable/troubleshooting/debug.html
Documentation : Debugging Rsyslogd : https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-debugging_rsyslog

Méthode trace

La méthode trace peut fonctionner, mais, la première méthode est plus adaptée.
Dans une première console, lancer la commande suivante :
sudo strace -p $(pgrep rsyslogd) -o fichier.trace
Ouvrir une deuxième console, et, redémarrer par exemple Rsyslog :
sudo /etc/init.d/rsyslog restart

Rotation des logs avec logrotate

Vérifier que le fichier de rotation des logs /etc/logrotate.d/rsyslog mentionne bien le fichier /var/log/auth.log sinon ce fichier n’arrêtera pas de grossir.

Ajouter une interface Web

Maintenant que Rsyslog est installé et correctement configuré, ajouter une interface Web pour visualiser les logs de façon graphique, comme par exemple, l'interface Web Adiscon LogAnalyzer.

Bibliographie

Rsyslog et Loganalyzer

Ok.png How to Setup LogAnalyzer with Rsyslog On Ubuntu 16.04 LTS / Ubuntu 18.04 LTS : http://yallalabs.com/linux/how-to-setup-loganalyzer-with-rsyslog-on-ubuntu-16-04-lts-ubuntu-18-04-lts/
Ok.png How to Setup A Centralized Log Server Using Rsyslog on Ubuntu 16.04 LTS : http://yallalabs.com/linux/how-to-setup-a-centralized-log-server-using-rsyslog-on-ubuntu-16-04-lts/
Ok.png Tutoriel | Consolidation des logs avec Rsylog, Mysql et Loganalyzer : https://journaldunadminlinux.fr/tutoriel-consolidation-des-logs-avec-rsylog-mysql-et-loganalyzer/
Ok.png Consolidation des logs avec rsyslog, MySQL et LogAnalyser : http://tavie.onsenfout.com/2011/07/05/consolidation-des-logs-avec-rsyslog-mysql-et-loganalyser/
Ok.png How to install Rsyslog with loganalyzer in Ubuntu : http://techies-world.com/how-to-install-rsyslog-with-loganalyzer-in-ubuntu/
Ok.png How to Setup LogAnalyzer with Rsyslog and MySQL : https://tecadmin.net/setup-loganalyzer-with-rsyslog-and-mysql/
Ok.png Optimisations LogAnalyser : http://tavie.onsenfout.com/2012/03/08/optimisations-loganalyser/
Ok.png Using the syslog receiver module : https://www.rsyslog.com/using-the-syslog-receiver-module/
Ok.png Ce contenu de recherche effectué par Visionduweb sur Rsyslog est partagé sur le wiki officiel de Debian : https://wiki.debian.org/Rsyslog -> https://wiki.debian.org/fr/Rsyslog
Ko.png https://www.youtube.com/watch?v=z1313LUe3xQ
Ko.png Rsyslog en russe : http://www.k-max.name/linux/rsyslog-na-debian-nastrojka-servera/
Ko.png Install a Centralized Log Server with Rsyslog in Debian 9 : https://www.howtoforge.com/tutorial/rsyslog-centralized-log-server-in-debian-9/
Ko.png rsyslogd - syslogd fiable et étendu : https://manpages.debian.org/stretch/rsyslog/rsyslogd.8.en.html

NAVIGATION

PARTICIPER ET PARTAGER

Vous êtes sur le wiki de Vision du Web.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Pour participer sur le wiki, créer un compte utilisateur en haut à droite.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Identifiez-vous pour poser vos questions sur la page de discussion de VisionDuWeb.
Améliorer le contenu des pages en faisant des propositions depuis l'onglet discussion.
Pour écrire en Markdown : Éditeur - Générateur de tableau 1 - Générateur de tableau 2.
Les informations du wiki ne doivent pas servir à nuire à autrui ou à un système informatique.
De nombreux outils gratuits sont listés et disponibles dans la boîte à outils de Vision du web.
D'autres pages du wiki peuvent correspondre à vos attentes. La liste de toutes les pages du wiki.

VALORISER LE WIKI

Valoriser le contenu partagé sur le wiki avec un don en monnaie numérique :
AEON - Bitcoins (BTC) - Bitcoins Cash - Bitcoins Gold - Bitcore (BTX) - Blackcoins - Bytecoins - Clams - Dash - Monero - Dogecoins - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.
Miroir PlanetHoster du 1er Novembre 2018.