Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
syslog-ng [Le 06/05/2010, 15:43]
93.20.177.114
syslog-ng [Le 11/09/2022, 11:33] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 +{{tag>​Xenial serveur }}
 ====== Serveur SYSLOG : Syslog-ng ====== ====== Serveur SYSLOG : Syslog-ng ======
  
-Linux et de multiples équipements réseaux effectuent une journalisation des évènements ​qui s'​opèrent sur leur système. Ces journaux sont stockés localement et basés sur le protocole ​syslog.+Linux et de multiples équipements réseaux effectuent une journalisation des événements ​qui s'​opèrent sur leur système. Ces journaux sont stockés localement et basés sur le protocole ​Syslog.
  
-L'​intérêt d'un serveur ​syslog ​est donc de permettre une centralisation de ces journaux d'​événements,​ permettant de repérer plus rapidement et efficacement les défaillances de machines présentes sur un réseau.+L'​intérêt d'un serveur ​Syslog-ng ​est donc de permettre une centralisation de ces journaux d'​événements,​ permettant de repérer plus rapidement et efficacement les défaillances de machines présentes sur un réseau.
  
 Avant même d'​aller plus loin, je vous invite à lire l'​excellent article [[http://​okki666.free.fr/​docmaster/​articles/​linux068.htm|"​Syslog,​ maîtrisez l'​historique"​]] de Vincent Renardias, paru dans le numéro 19 de Linux Magazine. Avant même d'​aller plus loin, je vous invite à lire l'​excellent article [[http://​okki666.free.fr/​docmaster/​articles/​linux068.htm|"​Syslog,​ maîtrisez l'​historique"​]] de Vincent Renardias, paru dans le numéro 19 de Linux Magazine.
  
 C'est une excellente base et une approche simple de la journalisation sous Linux qui va suivre... C'est une excellente base et une approche simple de la journalisation sous Linux qui va suivre...
 +Syslog-ng est une solution de journalisation sous systèmes Unix et Linux depuis les années 1980.
  
 +Nous nous intéresserons ici à [[wpfr>​syslog-ng|syslog-ng]],​ un remplaçant de [[wpfr>​syslog|syslog]]. Il permet notamment de dissocier les logs entrants sur d'​autres critères que le '​facility'​ comme par exemple : le nom ou l'​adresse IP de la machine qui émet le log.
  
 +Son installation n'est pas très complexe, mais nécessite un peu de rigueur.
  
  
 ===== Pré-requis ===== ===== Pré-requis =====
  
-Pour la suite des opérations,​ des pré-requis sont nécessaires :  
   * Disposer des [[:​sudo|droits d'​administration]] ;   * Disposer des [[:​sudo|droits d'​administration]] ;
   * Disposer d'une connexion à Internet configurée et activée ;   * Disposer d'une connexion à Internet configurée et activée ;
-  * Avoir activé l'​accès au [[:​depots|dépôt APT]] '​universe';​ 
   * Un [[:​lamp|serveur LAMP]] (Linux Apache Mysql Php) fonctionnel si vous décidez d'​installer php-syslog-ng.   * Un [[:​lamp|serveur LAMP]] (Linux Apache Mysql Php) fonctionnel si vous décidez d'​installer php-syslog-ng.
  
  
-=== Qu'​est-ce que Syslog-NG ? === 
  
 +=====Installation=====
  
-Nous nous intéresserons ici à [[http://​www.balabit.com/​network-security/​syslog-ng/​|syslog-ng]]un remplaçant ​de syslogIl permet notamment de dissocier les logs entrants sur d'​autres critères que le '​facility'​ comme par exemple : le nom ou l'​adresse IP de la machine qui émet le log.+ **Ne pas laisser les droits de modification ​à n'​importe quel utilisateur !!** 
 +. 
 +L'​installation de syslog-ng ​supprimera les paquets klogd et sysklogdrespectivement en charge ​de la journalisation des événements liés au noyau et au reste du systèmeIdem pour le paquet ubuntu-minimal.
  
-Son installation n'est pas très complexemais nécessite un peu de rigeur.+  * [[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] suivants: **[[apt>​syslog-ng,syslog-ng-core|syslog-ng syslog-ng-core]]**
  
 +  * [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] ** /​etc/​default/​syslog-ng ** \\
 +  et remplacez ​
 + <​file>​
 +#​CONSOLE_LOG_LEVEL=0 par
 + ​CONSOLE_LOG_LEVEL=1
 +</​file>​
  
- +FIXME Pouvez-vous expliquer pourquoi ​la valeur ​par défaut ne convient pas?
- +
-==== 1. Installer Syslog-NG sur une Lucid Lynx ou Karmic Koala ou Ubuntu Dapper ==== +
- +
- +
-Vous devez au préalable activer le dépot universe ; l'​installation de syslog-ng supprimera les paquets klogd et sysklogd, respectivement en charge de la journalisation des évènements liés au noyau et au reste du système. Idem pour le paquet ubuntu-minimal. +
- +
-<​code>​sudo apt-get install syslog-ng</​code>​ +
- +
-Editez ensuite le fichier /​etc/​default/​syslog-ng et remplacer #​CONSOLE_LOG_LEVEL=0 ​par CONSOLE_LOG_LEVEL=1+
  
 Après avoir effectué ces changements,​ redémarrez syslog-ng avec la commande : Après avoir effectué ces changements,​ redémarrez syslog-ng avec la commande :
Ligne 61: Ligne 62:
  
 <​note>​Pour ma part: J'ai du laisser commenté udp() et ajouter une nouvelle source: <​note>​Pour ma part: J'ai du laisser commenté udp() et ajouter une nouvelle source:
 +FIXME
 <​code>​ <​code>​
 source s_net { source s_net {
Ligne 68: Ligne 70:
  sinon tous les messages venant du réseaux sont re-dirigé vers les fichiers /​var/​log/​messages et /​var/​log/​syslog en plus du fichier paramétré</​note>​  sinon tous les messages venant du réseaux sont re-dirigé vers les fichiers /​var/​log/​messages et /​var/​log/​syslog en plus du fichier paramétré</​note>​
  
-==== 2. Configuration du client Syslog d'une machine ====+<note warning>​Rien de tout ça ne semble fonctionner avec Ubuntu 12.04, vu les changements dans le fichier de configuration il est possible que l'​authentification et le chiffrement soit nécessaire pour accepter les logs distants.</​note>​ 
 + 
 +==== Configuration du client Syslog d'une machine ====
  
  
-Si vous souhaitez envoyer tous les messages syslog d'une station ou d'un serveur sur le serveur syslog qui les collectera (plutôt que localement),​ vous devez éditer ​le fichier /​etc/​syslog.conf et ajouter la ligne suivante :+Si vous souhaitez envoyer tous les messages syslog d'une station ou d'un serveur sur le serveur syslog qui les collectera (plutôt que localement),​ vous devez [[:​tutoriel:​comment_modifier_un_fichier | Editez ​le fichier]] ** /​etc/​syslog.conf ​** (ou ** /​etc/​rsyslog.conf **) et ajouter la ligne suivante :
  
 <​code>​*.* ​           @ip_server_syslog</​code>​ <​code>​*.* ​           @ip_server_syslog</​code>​
 +exemple pour l'​adresse ip 192.168.0.1
 +<​code>​*.* ​           @192.168.0.1</​code>​
  
 Maintenant, redémarrez le client syslog de la machine : Maintenant, redémarrez le client syslog de la machine :
  
-<​code>​sudo /​etc/​init.d/​sysklogd ​restart</​code>​+<​code>​sudo /​etc/​init.d/​syslog-ng ​restart</​code>​
  
  
Ligne 91: Ligne 97:
  
  
-==== 3. Configuration de php-syslog-ng ====+==== Configuration de php-syslog-ng ====
  
  
Ligne 101: Ligne 107:
 <​code>​mkdir phpsyslogng <​code>​mkdir phpsyslogng
 cd phpsyslogng cd phpsyslogng
-wget http://​php-syslog-ng.gdd.net/current.tgz+wget http://​php-syslog-ng.googlecode.com/files/​php-syslog-ng-2.9.8.tgz
 tar -zxvf php-syslog-ng-* tar -zxvf php-syslog-ng-*
 cd .. cd ..
Ligne 122: Ligne 128:
  
 Maintenant vous devez configurer syslog-ng pour rediriger les messages dans la base MySQL. Vous devrez ajouter 2 entrées dans le fichier de configuration de syslog-ng. Le fichier de configuration est habituellement dans /​etc/​syslog-ng/​syslog-ng.conf Maintenant vous devez configurer syslog-ng pour rediriger les messages dans la base MySQL. Vous devrez ajouter 2 entrées dans le fichier de configuration de syslog-ng. Le fichier de configuration est habituellement dans /​etc/​syslog-ng/​syslog-ng.conf
- 
-**Note: On peut également utiliser le pilote sql (http://​www.balabit.com/​dl/​html/​syslog-ng-admin-guide_en.html/​ch08s02.html#​reference_destination_sql). 
  
 Vous devez premièrement ajouter une entrée '​destination'​. Ajoutez ceci : Vous devez premièrement ajouter une entrée '​destination'​. Ajoutez ceci :
Ligne 135: Ligne 139:
 };</​code>​ };</​code>​
  
-Ceci va prendre vos logs et les formatés ​dans une requête SQL qui pourra être exécutées ​pour les ajouter dans la base de données.+Ceci va prendre vos logs et les formater ​dans une requête SQL qui pourra être exécutée ​pour les ajouter dans la base de données.
  
 Vous devrez également ajouter une entrée de type '​log'​ qui déterminera quels évènements faire suivre dans la base de données (fonctionnement basé sur le mode First In First Out). Vous voudrez sûrement faire suivre tous les logs dans MySQL et ils seront aussi une entrée de type '​source'​ pour cela dans votre fichier syslog-ng.conf (habituellement appelés src ou s_all). Pour rattacher cette source à la destination que vous venez juste de créer, vous devez ajouter le code suivant : Vous devrez également ajouter une entrée de type '​log'​ qui déterminera quels évènements faire suivre dans la base de données (fonctionnement basé sur le mode First In First Out). Vous voudrez sûrement faire suivre tous les logs dans MySQL et ils seront aussi une entrée de type '​source'​ pour cela dans votre fichier syslog-ng.conf (habituellement appelés src ou s_all). Pour rattacher cette source à la destination que vous venez juste de créer, vous devez ajouter le code suivant :
Ligne 322: Ligne 326:
  
 <​code>​INSERT INTO `search_cache` ( `tablename` , `type` , `value` ,​`updatetime` ) VALUES ('​logs',​ '​HOST',​ '​localhost',​ NOW( ) );</​code>​ <​code>​INSERT INTO `search_cache` ( `tablename` , `type` , `value` ,​`updatetime` ) VALUES ('​logs',​ '​HOST',​ '​localhost',​ NOW( ) );</​code>​
- 
  
  
Ligne 357: Ligne 360:
 ==== 5. Résolution des problèmes ==== ==== 5. Résolution des problèmes ====
  
-Si vous rencontrez le messages d'​erreur "//​Query failed: Can't find file: '​all_logs'​ (errno: 2)//" après vous être identifié, il vous faut exécuter la commande suivante : +Si vous rencontrez le messages d'​erreur "//​Query failed: Can't find file: '​all_logs'​ (errno: 2)//" après vous être identifié, il vous faut exécuter la commande suivante :
  
 <​code>​php /​var/​www/​phpsyslogng/​scripts/​logrotate.php</​code>​ <​code>​php /​var/​www/​phpsyslogng/​scripts/​logrotate.php</​code>​
Ligne 365: Ligne 368:
 ---- ----
  
-//​Contributeurs//​ : [[:​utilisateurs/​sidney_v|sidney_v]]+//​Contributeurs//​ : sidney_v
  • syslog-ng.1273153439.txt.gz
  • Dernière modification: Le 06/05/2010, 15:43
  • par 93.20.177.114