Vous êtes ici:

Menu

Stacks Image 89022
Article en attente de mise à jour

Installation d'un serveur syslog

Stacks Image 2898
Nous allons réaliser l’installation d’un serveur Syslog. Celui-ci s’appellera syslog et aura comme adresse IP 172.16.209.132. Notre serveur Syslog sera raccordée au réseau par l’interface réseau VMnet8.

Pour aider à vous retrouver dans mes articles, voici les étapes à ne pas oublier pour la réussite de votre projet :
1 - Installation du serveur Syslog
2 - Installation du module Centreon Syslog Frontend
   2.1 - Mise à jour du module Centreon Syslog Frontend
   2.2 - Adaptation à Centreon 2.4x
3 - Installation de Centreon-Syslog 1.5
4 - Installation de Centreon Event To Syslog

Configuration de la VM syslog

Comme précédemment, nous utiliserons un template VM Debian. Nous l’appellerons syslog. 256 Mo sera suffisant pour débuter, n’oubliez pas de supprimer le support du son et des imprimantes. Laissez l’interface réseau NAT.
Notre VM étant préparée, nous modifierons le hostname et l’adresse IP.
Editer le fichier /etc/hostname et modifiez la ligne
syslog

Editez le fichier /etc/network/interfaces, saisissez l’IP statique
iface eth0 inet static
address 172.16.209.132
netmask 255.255.255.0
gateway 172.16.209.2

L’adresse IP sera celle de l’hôte (mackbook).
On modifie le fichier /etc/resolv.conf comme ci-dessous
domain localmac
search localmac
nameserver 172.16.209.140

Relancez le serveur

Configuration du serveur DNS

Pour assurer la résolution DNS, on ajoutera la ligne suivante dans le fichier /etc/bin/db.localmac
syslog		A		172.16.209.132	;syslog

et la résolution inverse dans /etc/bind/db.localmac.inv
132		PTR		syslog.localmac.

Important, ne pas oublier le point à la fin.
Rechargez la nouvelle configuration dns
/etc/init.d/bind9 reload

Pré requis

Notre serveur Syslog aura besoin d'une base de données MySql, du module PHP5 pour MySql, de l'extension MySql pour Rsyslog et de ssh pour la communication entre le serveur syslog et le serveur de supervision (Centreon). Nous aurons besoin aussi de Pear DB pour le module Centreon Syslog Server.
apt-get install mysql-server php5 php5-mysql php-db rsyslog-mysql rsyslog-doc ssh


L'installation demandera de saisir le mot de passe administrateur de la base de données.

Ne pas configurer la base de données, répondre non. Je vous conseille l'installation de phpmyadmin pour visualiser la base de données.

Installation du module Centreon Syslog Server

Vous devez récupérer les binaires sur le site de Centreon.(authentification obligatoire)
cd /usr/local/src
tar xzf centreon-syslog-server-1.2.1.tar.gz
cd centreon-syslog-server-1.2.1
./install.sh -i

Décompresser l'archive dans /usr/local/src et lancer l'installation
###############################################################################
# #
# http://forge.centreon.com/projects/show/centreon-syslog #
# Thanks for using Centreon #
# #
# v1.2.1 #
# #
###############################################################################
------------------------------------------------------------------------
Checking all needed binaries
------------------------------------------------------------------------
rm OK
cp OK
mv OK
/bin/chmod OK
/bin/chown OK
echo OK
more OK
mkdir OK
find OK
/bin/grep OK
/bin/cat OK
/bin/sed OK
groupadd OK
useradd OK

You will now read Centreon Syslog module Licence.
Press enter to continue.

Vérification des pré requis, appuyer sur Entrée
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

Do you accept GPL license ?
[y/n], default to [n]:
> y

Accepter la licence
------------------------------------------------------------------------
Checking syslog group and user
------------------------------------------------------------------------
Cannot find user: syslog FAIL

Do you want to create this user
[y/n], default to [n]:
> y

Création de l'utilisateur syslog
Create user: syslog                                        OK

------------------------------------------------------------------------
Checking binaries and processus
------------------------------------------------------------------------
Mysql is running: OK
PHP version: 5.3.3-7+squeeze1 OK
Pear-DB version: 1.7.13 OK
PHP MySQL module: OK

------------------------------------------------------------------------
Get directories for installation
------------------------------------------------------------------------

Where do you want to install files ?
default to [/usr/bin/syslog]
>

Do you want me to create this directory ? [/usr/bin/syslog]
[y/n], default to [n]:
> y

Vérification des binaires MySQL, PHP et des diverses librairies. Création du dossier syslog
Where would you like to store your logs ?
default to [/usr/bin/syslog/logs]
>

Do you want me to create this directory ? [/usr/bin/syslog/logs]
[y/n], default to [n]:
> y

Création du dossier logs
Where would you like to store configuration ?
default to [/usr/bin/syslog/etc]
>

Do you want me to create this directory ? [/usr/bin/syslog/etc]
[y/n], default to [n]:
> y

Création du dossier etc pour stocker la configuration.
------------------------------------------------------------------------
Create syslog Database
------------------------------------------------------------------------
What is password for root user on MySQL ?
>

What is the database name to record syslog message ? default to [syslog]
> centreon_syslog

Do you want me to create this database ? [centreon_syslog]
[y/n], default to [n]:
> y

Saisir le mot de passe administrateur de la base de données MySql. Créer la base syslog.
Creating database centreon_syslog:                                  OK

Which must be the size of the field "program", default to [15]:
> 30

Paramétrer la taille du champ program à 30 (préconisation de l'auteur).
Do you want me to create this table "logs" in "centreon_syslog" database ?
[y/n], default to [n]:
> y

Création de la table logs
Creating table logs:                                       OK

Creation of local db user for cron

Do you want me to create user 'syslogadmin'@'localhost' ?
[y/n], default to [n]:
> y

Création de l'utilisateur de base de données syslogadmin@localhost
Create user 'syslogadmin'@'localhost':                     OK

Do you want to add password for this user: 'syslogadmin'@'localhost'
[y/n], default to [y]:
> y

Répondre oui pour la création du mot de passe
Enter password for dbuser
> syslog

Retype password for dbuser
> syslog


Add password for user 'syslogadmin'@'localhost': OK

Creation of distant db user for cron

What is IP address of Centreon server ?
> 172.16.209.141

Saisir l'adresse ip du serveur de supervision
Do you want me to create user 'syslogadmin'@'172.16.209.141' ?
[y/n], default to [n]:
> y

Création de l'utilisateur de base de données syslogadmin@172.16.209.141
Create user 'syslogadmin'@'172.16.209.141':                OK

Do you want to add password for this user: 'syslogadmin'@'172.16.209.141'
[y/n], default to [y]:
> y

Répondre oui pour la création du mot de passe
Enter password for dbuser
> syslog

Retype password for dbuser
> syslog

Add password for user 'syslogadmin'@'172.16.209.141': OK

------------------------------------------------------------------------
Install Syslog Cron
------------------------------------------------------------------------
Generation of the new Syslog cron: OK
Change of the macros in the files: OK
Application of the rights on the files: OK
Change of the owners on the files: OK
Removal of the old Syslog cron: OK
Copy php cron files: OK
Copy cron in cron.d directory: OK
Erase temporay installation directory: OK

------------------------------------------------------------------------
Create log rotation file
------------------------------------------------------------------------

Create log rotate file: /etc/logrotate.d//centreon-syslog OK

------------------------------------------------------------------------
Create syslog configuration files
------------------------------------------------------------------------

Create syslog configuration file: syslog_conf.pm OK
Create php syslog configuration file: /usr/bin/syslog/etc/sOKlog.conf.php
Set rigths on : /usr/bin/syslog/etc/syslog.conf.php OK

------------------------------------------------------------------------
Update database
------------------------------------------------------------------------

No update available: PASSED

------------------------------------------------------------------------
End of installation
------------------------------------------------------------------------

Installation is complete ! OK


###############################################################################
# #
# Report bugs at #
# http://forge.centreon.com/projects/centreon-syslog/issues/new #
# #
###############################################################################

L'installation est terminée.

Configuration rsyslog

Editer le fichier de configuration du serveur syslog
vi /etc/rsyslog.conf

Ajouter les lignes suivantes, décommenter les lignes pour accepter les protocoles UDP et TCP. Ajouter les réseaux autorisés.
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 127.0.0.1, 172.16.209.0/24

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
$AllowedSender TCP, 127.0.0.1, 172.16.209.0/24

Rajouter les deux lignes à la fin du fichier en modifiant les paramètres selon vos besoins.

$template sysMysql,"INSERT INTO logs (host,facility, priority,level,tag,datetime,program,msg) VALUES ('%HOSTNAME%','%syslogfacility%','%syslogpriority%','%syslogseverity%','%syslogtag%', '%timereported:::date-mysql%','%programname%', '%msg%')", SQL


*.* >localhost,centreon_syslog,syslogadmin,syslog;sysMysql

Commenter les lignes du fichier /etc/rsyslog.d/mysql.conf pour éviter des éventuelles erreurs du serveurs syslog et rajouter la ligne pour la connexion à MySQL.
$ModLoad MySQL    # Connexion avec MySql
#$ModLoad ommysql
#*.* :ommysql:localhost,Syslog,rsyslog,password

Redémarrer le serveur syslog.
service rsyslog restart

En utilisant la commande tail -f /var/log/syslog dans un autre terminal, vous devez obtenir les lignes suivantes :
Oct  8 08:30:56 syslog kernel: Kernel logging (proc) stopped.
Oct 8 08:30:56 syslog rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="5135" x-info="http://www.rsyslog.com"] exiting on signal 15.
Oct 8 08:30:56 syslog kernel: imklog 4.6.4, log source = /proc/kmsg started.
Oct 8 08:30:56 syslog rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="5164" x-info="http://www.rsyslog.com"] (re)start

Si vous obtenez ce message
Oct  8 08:30:24 syslog rsyslogd: db error (1045): Access denied for user 'rsyslog'@'localhost' (using password: YES)

Vous n'avez pas désactivé le module MySQL de rsyslog par défaut.

Vérification du fonctionnement de la base centreon_syslog

Afin de s'assurer du bon fonctionnement du serveur syslog et de l'insertion des logs, se connecter à MySql avec l'utilisateur syslogadmin
mysql -u syslogadmin -p centreon_syslog

vérifier le remplissage de la table logs
mysql> select * from logs;
+--------+----------+----------+-------+-----------+---------------------+----------+--------------+-----+---------+------+------+
| host | facility | priority | level | tag | datetime | program | msg | seq | counter | fo | lo |
+--------+----------+----------+-------+-----------+---------------------+----------+--------------+-----+---------+------+------+
| syslog | 0 | 6 | 6 | kernel: | 2011-05-03 18:36:05 | kernel | imklog .... | 1 | 1 | NULL | NULL |
| syslog | 5 | 6 | 6 | rsyslogd: | 2011-05-03 18:36:05 | rsyslogd | [origin ... | 2 | 1 | NULL | NULL |
+--------+----------+----------+-------+-----------+---------------------+----------+--------------+-----+---------+------+------+
2 rows in set (0.00 sec)

Félicitation, vous avez vos premiers logs enregistrés. Votre serveur Syslog est pleinement opérationnel.

Configuration d'un client Debian

Maintenant, il faut configurer les autres serveurs Debian pour qu'ils envoient leurs logs vers le serveur Syslog. Modifier le serveur syslog local de chaque serveur Debian en modifiant le fichier de configuration /etc/rsyslog.conf
*.*                   @172.16.209.132

Rajouter cette ligne dans la section RULES. Relancer le serveur syslog.
service rsyslog restart


Vérifier de la même façon la table logs, vous devriez avoir, au minimum, deux lignes supplémentaires comme ci-dessous
+--------+----------+----------+-------+------------+---------------------+-------------+-------------+-----+---------+------+------+
| host | facility | priority | level | tag | datetime | program | msg | seq | counter | fo | lo |
+--------+----------+----------+-------+------------+---------------------+-------------+-------------+-----+---------+------+------+
| macdns | 0 | 6 | 6 | kernel: | 2011-05-03 23:07:11 | kernel | imklog... | 434 | 1 | NULL | NULL |
| macdns | 5 | 6 | 6 | rsyslogd: | 2011-05-03 23:07:11 | rsyslogd | [origin... | 435 | 1 | NULL | NULL |
+--------+----------+----------+-------+------------+---------------------+-------------+-------------+-----+---------+------+------+

Le champ host indique maintenant le serveur macdns par exemple.

Cette rubrique se termine, passons à la configuration du module Centreon.
comments powered by Disqus