Lolokai – Supervision, systèmes, réseaux, base de données…

13

Installation d’un serveur syslog sous Ubuntu 11.10

franck.clain 25 avril 2012

Introduction

Syslog est un protocole qui permet la journalisation d’évènements, cela permet à la partie client d’enregistrer toutes les informations concernant la machine sur un serveur, ce qui permet de trouver facilement la source de problèmes qui peuvent survenir.  La journalisation est généralement incluse dans Linux; mais l’avantage d’un serveur syslog est que dans un réseau la journalisation des différentes machine se fait à un seul endroit, ce qui permet de trouver rapidement où se trouve la défaillance et la réparer. Dans cet article nous allons voir comment installer un serveur syslog sur ubuntu 11.10.

Installation du serveur syslog

Pour commencer nous allons installer le paquet correspondant, pour cela ouvrez le terminal et en mode super utilisateur taper la commande suivante ( je pense que vous devez avoir l’habitude c’est toujours la même chose au début ) :

apt-get install syslog-ng

La partie la plus simple et la plus rapide est terminée, nous allons maintenant configurer le serveur. Ouvrez le fichier /etc/default/syslog-ng :

Il vous faut juste retirer le # devant pour activer le serveur (vérifiez que l’option est bien égale à 1):

CONSOLE_LOG_LEVEL=1

Redémarrez le serveur avec la commande :

service syslog-ng restart

Ensuite rendez-vous dans le fichier de configuration de syslog   /etc/syslog-ng/syslog-ng.conf :

Il vous faut ajouter une source afin que le serveur reçoive les logs des autres machines via le port udp 514.

source s_net {
        udp();
};

Le serveur est normalement fonctionnel, il vous reste juste à configurer le serveur sur la machine client en ajoutant la ligne suivante dans le fichier /etc/syslog.conf de la machine client :

*.* @ip_server_syslog ( ici *.* @127.0.0.1 )

Redémarrer le service sur la machine client avec :

service restart sysklogd

Voilà votre serveur est maintenant installé !!

Installation de php-syslog-ng

Php-syslog-ng est une interface web qui permet de consulter plus simplement les messages logs. Il vous faut pour cela avoir installé la suite logicielle LAMP ( rendez-vous ici pour un article sur LAMP ).

Commencez par créer un dossier phpsyslogng à l’emplacement que vous voulez :

mkdir phpsyslogng

puis entrez dans le dossier avec :

cd phpsyslogng

et téléchargez php syslog-ng avec

wget

décompressez ensuite avec tar -xvzf php-syslog-ng-2.9.8.tgz

Il vous faut maintenant déplacer le dossier extrait dans votre dossier /var/www pour ça tapez la commande suivante :

mv  php-syslog-ng /var/www/

Rendez-vous ensuite dans ce dossier grâce à :

cd /var/www/php-syslog-ng

Nous allons maintenant configurer php-syslog-ng pour cela ouvrez votre navigateur web et allez à l’adresse

Appuyez ensuite sur next et acceptez la licence utilisation :

Ensuite vient la partie configuration MySQL verifiez les information et modifiez les mots de passe avec les mots de passe que vous voulez.

Cliquez sur next et la base sera créée, on vous demandera ensuite un nom pour le site php-syslog-ng.

Il vous faut ensuite entrer une adresse mail et un mot de passe pour l’admin du serveur, ainsi que l’url du site.

Ensuite cliquez sur next, puis sur installer, faites continuer et la base sera importée :

Vous aurez un message vous indique que l’installation est terminée. Rendez-vous ensuite à la page login de votre site ici

Vous serez ensuite sur la page d’accueil d’où vous pourrez consulter les différents logs de différentes façons.

Conclusion

Dans cet article nous avons vu comment installer un serveur syslog grâce à syslog-ng, nous avons ensuite vu comment installer php-syslog-ng qui permet de consulter à travers une interface web les différents logs de différentes machine. On peut conclure qu’un serveur syslog est indispensable dans les entreprises ayant beaucoup de machine client à travers un réseau. Syslog permet de savoir d’où vient le problème rapidement et à quel moment ce problème est survenu.

Utilisez vous Syslog-ng ? Sinon quel autre moyen employez vous ?franck.clain

Comments (13)

  1. Salut,

    J’ai jamais réussi à récupérer les logs de mon serveur apache sur mon serveur syslog, est ce que tu sais comennt faire?

    Merci par avance

    Répondre
  2. Merci pour le tutorial

    j’ai nénmoins une petite question à propos de php-syslog-ng

    d’où vient le lien fourni dans le tuto ? J’ai voulu aller voir les versions et la doc sur le site de téléchargement (http://code.google.com/p/php-syslog-ng/) et après on ne trouve plus rien d’interessant si ce n’est un verouillage sur la version dérivée « logzilla » qui me semble payante et plus du tout open source ?

    la version utilisée vient d’où du coup (php-syslog-ng) ?

    je ne sais pas si il y a des alternatives à étudier

    Merci encore dans tous les cas

    Répondre
  3. Il existe aussi Splunk pour l’analyse des logs qui a une interface de recherche plutôt sympathique. Attention, en version gratuite le produit est limité à l’indexation de 500 Mo de logs par jour. Ce qui est déjà pas mal.

    @dkhjlkdjg :
    Pour balancer les logs d’apache dans Syslog, voici les lignes a ajouter dans la conf du site web que tu veux monitorer (de mémoire dans /etc/apache2/sites-enabled/nom_de_ton_site)

    Voici les 4 lignes à ajouter :
    # Logger to syslog
    LogFormat « [%P]: %v:%p %h %l %u \ »%r\ » %>s %O \ »%{Referer}i\ » \ »%{User-Agent}i\ » » syslog
    CustomLog « |logger -p local7.info -t apache2″ syslog
    ErrorLog syslog:local7

    Répondre
  4. Bonjour,

    Ayant actuellement besoin d’installer un serveur syslog dans la société où je travail, j’ai suivi ce tuto mais je rencontre un problème lorsque je mets l’adresse , la page ne s’ouvre pas mais demande de faire une ouverture avec gpedit du code de la page.
    quelqu’un aurait-il déjà rencontré ce problème et l’aurait résolu?

    merci par avance

    Répondre
    • Finalement après un bon moment passé dessus, il suffisait juste de redémarrer le poste et après l’installation de php-syslog-ng se fait correctement.

      Répondre
  5. Le couple syslog-ng / php-syslog-ng commence à être un peux vieux.

    Il existe aujourd’hui de très nombreux outils offrant plus de fonctionnalités: Graylog, Logzilla, Splunk, …

    De plus, je suis pour installer Rsyslog qui est le démon adopté par RHEL, CentOS, Fedora, Suse, OpenSuse, …

    Répondre
  6. bjr tt le monde , lors ke je config php-syslog-ng avec l’interface web :je n’arrive plus à ouvrir l’interface d’dministration step2
    est ce que qlq1 peut m’aider

    Répondre
  7. salut après l’installation du serveur syslog, je n’arrive pas à accéder à l’interface web avec pour l’installation de phpsyslogng.Si quelqu’un pourrait m’aider à résoudre le problème sa me fera plaisir merci d’avance.

    Répondre
  8. There are a few troubles making this installation working, now.
    If you use mysql 5.xx, you have to edit file « dbsetup.sql » in install folder: all « TYPE » commands must be changed with « ENGINE », as « TYPE » is deprecated in new mysql;
    I didn’t uderstand how php-syslog-ng can extract logs from syslog-ng! Infact I can’t still view any log!

    Répondre
  9. Bonjour,

    Votre tuto est assez clair et surtout comporte des captures d’écran.

    Malheureusement, il est assez incomplet, et surtout ne permet pas la supervision passive (via une web interface) après avoir suivi votre tuto.

    Tout d’abord, un tip que Nicola a donné, est de changer tous les « TYPE » par « ENGINE » dans le fichier dbsetup.sql avant de configurer en interface web php-syslog-ng.

    Ensuite, il manque tout le processus de piping. En effet, si on veut pouvoir lire nos logs envoyés par sysklogd (ou autre programme d’envoi des logs), il faut que les trames soient insérées dans la base de donnée.

    Enfin, il manque pour ceux qui auraient des machines sous windows des suggestions de programmes d’envoi des logs. Pour en citer un : Snare.

    A bon entendeur.

    Cordialement.

    Répondre
  10. Bonjour à tous. Le tuto est tres bien j’ai installé syslog-ng et php-syslog-ng mai à partir du step 1 j’ai des erreurs. Il ya un message qui s’affiche « MySQL Error: Access denied for user ‘root’@’localhost’ (using password: YES) » quelqu’un pourait-il me dire qu’est qu’il faut mettre au niveau de MySQL password.j’ai mis le mot de passe du serveur mysql mai toujours des eerreus.Aidez moi s’il vous plait.

    Répondre

Laisser un commentaire

Login to your account

Can't remember your Password ?

Register for this site!