Menu

Stacks Image 89035
Article en attente de mise à jour

Installation du module Centreon Syslog Frontend

Stacks Image 2905
Nous allons aborder l'installation du module Centreon Syslog Frontend, celui permet de visualiser les logs du serveur Syslog dans l'interface Centreon. Ce module permet d'effectuer des recherches et/ou des tris selon certains paramètres (date, niveau d'alerte, etc). Une rubrique annexe vous est proposée pour adapter l'installation du module à la nouvelle version 2.4 avec Centreon-engine.

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

Pré requis

Il nous faut installer la librairie libssh2 pour la connexion ssh entre le serveur de supervision et syslog, les outils de développement php5 sur le serveur de supervision.
apt-get install libssh2-1-dev php5-dev
On récupère la librairie PECL
cd /usr/local/src/
wget http://pecl.php.net/get/ssh2-0.12.tgz
tar xzf ssh2-0.12.tgz
cd ssh2-0.12
Il faut compiler le module ssh pour php
phpize && ./configure --with-ssh2 && make
Copier le module dans php5.
cp modules/ssh2.so /usr/lib/php5/20090626+lfs
On doit faire prendre en compte cette librairie par le serveur apache.
echo "extension=ssh2.so" > /etc/php5/cli/conf.d/ssh2.ini
echo "extension=ssh2.so" > /etc/php5/apache2/conf.d/ssh2.ini
Redémarrer le serveur Apache.
service apache2 restart
Vérifions l'activation de ssh2

php -i |grep ssh

/etc/php5/cli/conf.d/ssh2.ini,

Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp

ssh2

libssh2 version => 1.2.6

banner => SSH-2.0-libssh2_1.2.6

PWD => /root/ssh2-0.12

_SERVER["PWD"] => /root/ssh2-0.12

Installation en mode ligne de commande sur le serveur de supervision

Stacks Image 4778
Avertissement
La version 1.3.3 du frontend de syslog n'est pas compatible avec les version 2.2x et plus de Centreon.
Nous allons récupérer le module centreon-syslog-frontend de la branche 1.4.1, nous aurons besoin du package subversion.
apt-get install subversion
Pour récupérer les binaires, saisir les lignes suivantes :
cd /usr/local/src
svn checkout http://svn.modules.centreon.com/centreon-syslog/tags/centreon-syslog-frontend-1.4.1
Il faudra aussi préparer le fichier d'installation. Le package tofrodos est requis.
cd /usr/local/src/centreon-syslog-frontend-1.4.1
chmod +x install.sh
fromdos -a install.sh
Stacks Image 4775
Installation avec Centreon-Engine
Attention, si vous installez le frontend syslog avec Centreon-Engine, vous obtiendrez lors de la saisie du chemin des fichiers de configuration de Centreon, le message suivant :
Unable to load all parameters in "instCentWeb.conf"

Le programme cherche des informations d'une installation avec Nagios et non avec Centreon-Engine. Pour remédier à cette situation, ajouter les trois lignes suivantes au fichier de configuration /etc/centreon/instCentPlugins.conf
NAGIOS_PLUGIN=/usr/local/plugins/libexec
NAGIOS_USER=centreon
NAGIOS_GROUP=centreon

Vérifier que ces paramètres sont en adéquation avec votre configuration.
Lançons l'installation
cd /usr/local/src
cd centreon-syslog-frontend-1.4.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.4.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

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
------------------------------------------------------------------------
Load parameters
------------------------------------------------------------------------
Please specify the directory with contain "instCentWeb.conf"
> /etc/centreon

Saisir le chemin du dossier de configuration de Centreon
------------------------------------------------------------------------
Checking php extension
------------------------------------------------------------------------
SSH2 extension for PHP: OK
XML-Writer extension for PHP: OK

------------------------------------------------------------------------
Install Syslog Module
------------------------------------------------------------------------
Setting right OK
Setting owner/group OK
Changing macro OK
Create a directory to backup old files OK
Backup old installation OK
Copying module OK
Delete temp install directory OK
Setting owner/group on Nagios plugin OK
Install Nagios plugin OK
Delete temp install directory OK

The Centreon Module Syslog.1.4.1 installation is finished OK
See README and the log file for more details.
###############################################################################
# #
# Go to the URL : http://your-server/centreon/ #
# to finish the setup #
# #
# Report bugs at #
# http://forge.centreon.com/projects/centreon-syslog/issues/new #
# #
###############################################################################

L'installation en ligne de commande est terminée

Installation du module dans Centreon

Il faut se connecter à l'interface Web de centreon
module-syslog01
Sélectionnez Administration / Modules. Cliquez sur l'icône à droite pour installer le module.
module-syslog02
Cliquez sur le bouton Install Modules
module-syslog03
L'installation s'est bien passée, cliquer sur le bouton back.
module-syslog04
L'installation du module est terminée, vous pouvez accéder à sa configuration.
module-syslog05
Une nouvelle vue Syslog a été créé dans la section Monitoring, mais celle-ci n'est pas encore fonctionnelle. Il faut configurer l'authentification ssh entre le serveur de supervision et le serveur syslog.

Configuration du module

Avant de réaliser la configuration du module, affectez un mot de passe à l'utilisateur syslog sur le serveur Syslog.
root@syslog:~# passwd syslog
Entrez le nouveau mot de passe UNIX : syslog2011
Retapez le nouveau mot de passe UNIX : syslog2011
passwd : le mot de passe a été mis à jour avec succès

Sélectionnez Administration / Modules.

Cliquez sur Configuration

Cliquez sur Modify pour modifier la configuration

Onglet Database : Saisir l'adresse IP du serveur Syslog, le nom de la base Syslog et le mot de passe syslogadmin

Onglet SSH : Saisir l'adresse IP du serveur Syslog, le mot de passe de l'utilisateur syslog

Onglet Configuration : Saisir le chemin du fichier de configuration de syslog sur le serveur Syslog.
/usr/bin/syslog/etc

Sauvegarder la configuration en cliquant sur le bouton Save.

Il faut exporter le fichier de configuration vers le serveur Syslog. Cliquer sur le bouton Export Configuration

Le fichier a bien été envoyé.
Stacks Image 770
Avertissement
Le fichier de configuration syslog étant envoyé, il y aura un problème d'authentification MySQL sur le serveur Syslog lui-même. En effet les tâches cron ne pourront s'exécuter.
php /usr/bin/syslog/tableLogRotate.php
DB Error: connect failed

Le fichier de configuration /usr/bin/syslog/etc/syslog..conf.php indique l'utilisateur MySQL 172.16.209.107@syslogadmin mais la base ne contient que deux utilisateurs localhost@syslogadmin et 172.16.209.141@syslogadmin comme ci-dessous
Voila_Capture1897
Deux solutions pour résoudre notre problème :
- la première, modifier le fichier de configuration et remplacer l'adresse ip par localhost. L'inconvénient de cette méthode, il faudra le refaire si la configuration est exporté une nouvelle fois.
- deuxième solution, plus élégante, rajouter un utilisateur syslogadmin@172.16.209.132 comme ci-dessous :
mysql> grant select,insert,update,delete,create,alter,drop on centreon_syslog.* to syslogadmin@172.16.209.132 identified by 'syslog';

l'IP 172.16.209.132 étant le serveur syslog. Pour fonctionner, il faudra modifier le fichier my.cnf comme expliqué ci-dessous.
Retour à la vue Monitoring, il n'y a toujours pas de données affichées ! En fait le serveur Mysql de Syslog n'accepte pas les connexions externes. Il faut donc modifier le fichier de configuration my.cnf du serveur Syslog.
bind-address            = 172.16.209.132

Modifier le paramètre bind-address et relancer le serveur Mysql
service mysql restart


Cliquez sur Monitoring / Syslog. Vous avez vos messages syslog.

Cliquez sur Search, vous avez un message d'erreur. C'est un fonctionnement normal. La table des logs de la journée actuelle n'est pas encore présente. Il faudra attendre 23 h 59 pour que le script /usr/bin/syslog/tableLogRotate.php s'exécute. Il y a possiblité de forcer son exécution en se connectant sur le serveur Syslog.
root@syslog:/usr/bin/syslog# php tableLogRotate.php
BEGIN TABLES LOGS ROTATION AT 2011-05-06 15:53:10

DROP TABLE all_logs
RENAME TABLE logs TO logs20110507
CREATE TABLE logs

CREATE MERGE TABLE all_logs
END OF TABLES LOGS ROTATION AT 2011-05-06 15:53:10

BEGIN TABLES CACHE ROTATION AT 2011-05-06 15:53:10
DROP TABLE all_cache
RENAME TABLE cache TO cache20110507
CREATE MERGE TABLE all_cache
END OF TABLES CACHE ROTATION AT 2011-05-06 15:53:10

La table est créée, vous pouvez retourner sur Centreon et visualiser les logs.

Vous avez la possibilité de filtrer sur une période de date et d'exporter au format csv ou open office.

Mise en place de la coloration syntaxique des événements

Pour bénéficier de la coloration des événements en fonction de leur criticité, nous devons modifier le fichier de configuration de Rsyslog. Cette modification permettra d'afficher au format texte, les champs Facility et Severity. Editez le fichier /etc/rsyslog.conf et modifiez l'avant dernière ligne comme ci-dessous.

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


Nous rajoutons le suffixe -text aux champs syslogfacility et syslogpriority. N'oubliez pas de relancer le serveur syslog.
service rsyslog restart


Les champs se remplissent aussitôt avec du texte, le champ Severity change de couleur en fonction de la criticité de l'événement comme ci-dessous.


L'installation de notre Syslog est terminée. Pour effectuer une éventuelle mise à jour du module, visiter cette page. Il restera à compléter l'installation du module de langue français. Nous allons, maintenant, aborder la centralisation des événements windows par l'intermédiaire de Centreon E2S.
comments powered by Disqus