Supervision temps réel de fichier de log avec NSClient++

Posted by on 2 Déc 2012 in Nagios, Supervision | 0 comments

Source : MEDIN.NAME Blog

Cet article se base sur la publication de Michael MEDIN créateur de NSClient++ concernant l’élaboration d’un POC sur la supervision temps réel des events log Windows et/ou logs applicatifs à l’aide des dernières fonctionnalités que propose NSClient++.

Vous allez me dire que la supervision de logs windows peut très bien se faire avec du check_wmi_plus, CheckEventLog ou CheckLogFile. Effectivement, ces 3 solutions réalisent largement le travail … mais la recherche d’erreur dans des logs applicatifs ou dans les events log windows, n’est-il pas de l’ordre de l’évènement asynchrone ? Qui dit asynchrone, dit supervision « passive » non ?

Supervision temps réel

L’idée derrière cette supervision est de minimiser le nombre d’interrogations inutile au sein d’un S.I. Pas besoin d’interroger de manière régulière une machine distante sur des évènements qui sont asynchrone. Ce POC s’appuie sur les fonctionnalités CheckEventLog & CheckLogFile de NSClient++ et sur la nouvelle fonctionnalité implémenté dans NSClient++ 0.4.0 : SimpleCache

Schéma focntionnel de cette supervision

A notre gauche, nous avons les 2 modules (CheckEventLog & CheckLogFile) qui reçoivent de la part du système d’exploitation des évènements correspondant à nos critères de recherche. Les évènements sont envoyés (sous forme de notifications) vers divers canaux (NSCA, CACHE, FILE).

Ici sur le schéma 3 canaux sont utilisés :

  1. NSCAClient : Sends notification to remote Nagios/Icinga via NSCA.
  2. SimpleCache : Caches events for later use by for instance NRPE commands
  3. SimpleFileWriter : Writes notification to a regular text file

Configuration de la Supervision temps réel des events logs Windows

Tout d’abord, nous avons besoin de 3 pré-requis :

Charger le module CheckEventLog


[/modules]
CheckEventLog = enabled

Activer la supervision temps réel

[/settings/eventlog/real-time]
enabled = true

Créer un filtre de recherche

[/settings/eventlog/real-time/filters/eventlog]
filter=level = 'error'
target=NSCA,CACHE,FILE

L’auteur invite à voir plus en détails les 2 liens ci-dessous pour comprendre un peu mieux le mécanisme.

Configuration de la supervision temps réel de fichier de log

La supervision temps réel de fichier de log est similaire à celle des events logs.

Charger le module CheckEventLog

[/modules] CheckLogFile = enabled

Activer la supervision temps réel

[/settings/logfile/real-time]
enabled = true

Création d’un filtre de recherche

[/settings/logfile/real-time/checks/logfile]
file = ./test.txt
destination = NSCA,CACHE,FILE
filter = column1 like 'hello'
critical = column2 like 'world'
column separator=;

Michael vous invite à visionner sa présentation qu’il a réalisé lors de l’OSMC 2012

Slides from OSMC 2012 pressentation

Reste de la configuration

Charger tous les autres modules

[/modules]
SimpleFileWriter = enabled
SimpleCache = enabled
NSCAClient = enabled

Configurez la destination des notifications NSCA

[/settings/NSCA/client/targets/default]
address=nsca://IP_SERVEUR_NAGIOS:5667
encryption=aes256
password=YL04nBb14stIgCjZxcudGtMqz4E6NN3W

Configuration en entier

[/modules]
CheckLogFile = enabled
CheckEventLog = enabled
SimpleFileWriter = enabled
SimpleCache = enabled
NSCAClient = enabled

[/settings/eventlog/real-time]
enabled = true

[/settings/eventlog/real-time/filters/eventlog]
filter=level = 'error'
target=NSCA,CACHE,FILE

[/settings/logfile/real-time]
enabled = true

[/settings/logfile/real-time/checks/logfile]
file = ./test.txt
destination = NSCA,CACHE,FILE
filter = column1 like 'hello'
critical = column2 like 'world'
column separator=;

[/settings/NSCA/client/targets/default]
address=nsca://IP_SERVEUR_NAGIOS:5667
encryption=aes256
password=YL04nBb14stIgCjZxcudGtMqz4E6NN3W

Voici les liens utiles pour vous intéresser à cette supervision :

Pour conclure, l’auteur précise que la manipulation décrite ci-dessous est encore expérimental et que la version de NSClient++ 0.4.2 apportera encore des améliorations pour ce type de supervision. Il n’est donc pas encore recommander à mettre cette solution en production. Par contre, Michael vous invite a testé cette nouveauté et lui faire un maximum de retour dessus.

A votre supervision !

Leave a Comment