Monitorer les windows eventlog dans Zabbix

Dans le précédent article, nous avons vu comment monitorer des services.

Nous allons maintenant aborder un autre point essentiel pour les systèmes windows, le monitoring des journaux d’évènement.

Je vais ici utiliser des réglages de base,ensuite ce sera à vous d’adapter selon vos besoins.

Nous allons donc ici monitorer le log Application.

Comme pour les services, vous pouvez créer un nouvel item directement sur l’hôte(ce que je vais faire ici),ou si vous prévoyez un déploiement plus large, via un template.

Donc créons un nouvel item sur notre hôte windows et remplissons comme suit

les champs précédés de * sont obligatoires

Name: Le nom que vous voulez donner à l’élément,Utilisez quelque chose de parlant.(dans mon cas windows application log)

Type: Permets de sélectionner le type de monitoring, actif ou passif avec l’agent zabbix.Dans le cas des windows event log,le monitoring doit être actif.(Votre agent sur le serveur doit être correctement configuré pour permettre l’utilisation du mode actif)

Key: remplir la valeur suivante eventlog[Application,,,,,,skip]

Application peut être remplacé par le nom des autres journaux windows. 

Ci-dessous,une explication plus détaillée de la syntaxe ,les différents éléments avec lesquels vous pouvez filtrer(j’ai mis les principaux en rouge selon moi.Le premier champ vous permets d’utiliser une regular expression.A savoir que le skip en fin d’expression(pour <mode>) permets d’ignorer l’historique et donc lorsque vous créer un nouvel élément éviter d’importer tous les anciens évènements.

eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>]

Type of information: Choisissez Log.

Update interval: Ici j’ai mis une minute (1m) vous pouvez mettre la valeur que vous désirez.Cela détermine l’intervalle de temps entre deux checks du service.

custom intervals: Je n’aborde pas le point ici, mais cela permet de définir des plages de checks plus flexibles.Par exemple certaines heures/jours seulement etc..

History storage period: Vous pouvez choisir de garder une période définie d’historique, ou de désactiver tout simplement

New application ou application: Remplissez le champ avec le nom de l’application dans lequel vous voulez inclure l’item, ou sélectionnez dans la liste en dessous.Ceci n’est pas obligatoire.Dans mon cas j’ai créé une application windows event log.

Vous pouvez ensuite sauvegarder l’item et assurez-vous que enabled soit coché pour que l’élément soit actif.

Attention,si vous utilisez un proxy zabbix,n’oubliez pas de redémarrer le service zabbix-proxy pour le forcer à récupérer les nouveaux réglages.

Si tout a correctement fonctionné, vous devriez-voir les premiers retours de valeurs sur le nouveau service dans les latest-data du host.

Libre à vous maintenant d’établir les triggers vous pour l’alerting. Attention que les journaux windows peuvent être gourmands en espace de stockage et en nombre de valeurs par secondes à traiter par l’agent.

Monitorer des services windows en startup Manuel dans zabbix

Zabbix est une plateforme de monitoring disponible gratuitement et assez bien fichue.

Evidemment,si vous lisez ces lignes, c’est que vous le savez probablement déjà 😀

Ceci est mon premier article consacré à Zabbix,je continuerai probablement à enrichir ceux-ci ultérieurement.

Donc par défaut ,si vous assignez le template adéquat, tous les services windows en mode de démarrage automatique(ou delayed) seront automatiquement découverts via le discovery inclus dans le template de base.Mais Si vous devez monitorer des services en démarrage manuel, et bien de base, ce n’est pas prévu! (c’est quelque part logique).

Je vais vous décrire ici comment créer un “item” service en mode de démarrage manuel sur un host et y associer un trigger pour l’alerte.Maintenant si avez plusieurs services d’une application sur un même serveur, rien ne vous empêche de créer un template pour mettre les items et les triggers dedans.

Définition d’un nouvel item

1.rendez vous donc dans la partie configuration et sélectionner le host ou se situe le service à monitorer.Il faut bien entendu au préalable que vous ayez noté quelque part le nom du service à monitorer. Et donc sur ce host, créez un nouvel item.

Remplissez les champs comme suit

Les champs précédés d’une * sont obligatoires(cfr capture d’écran)

Name: Le nom de votre service,ou celui par lequel vous voulez qu’il soit affiché dans la liste des items.

Type: Permets de sélectionner le type de monitoring, actif ou passif.Par défaut tout est en passif dans zabbix.

Key: remplir la valeur suivante service.info[nomdevotreservice,state]

La valeur nomdevotreservice devant ici être remplacée par la valeur du service name dans windows.

Type of information: La valeur de l’état du service est retournée en tant qu’entier non signé, donc sélectionnez Numeric(unsigned)

Update interval: Ici j’ai mis une minute (1m) vous pouvez mettre la valeur que vous désirez.Cela détermine l’intervalle de temps entre deux checks du service.

custom intervals: Je n’aborde pas le point ici, mais cela permet de définir des plages de checks plus flexibles.Par exemple certaines heures/jours seulement etc..

History storage period: Vous pouvez choisir de garder une période définie d’historique, ou de désactiver tout simplement

Trend storage period: Même chose que l’history, mais concerne les graphiques de tendance.

Show Value: Sélectionner windows service state

New application ou application: Remplissez le champ avec le nom de l’application dans lequel vous voulez inclure l’item, ou sélectionnez dans la liste en dessous.Ceci n’est pas obligatoire.

Vous pouvez ensuite sauvegarder l’item et assurez-vous que enabled soit coché pour que l’élément soit actif.

Attention,si vous utilisez un proxy zabbix,n’oubliez pas de redémarrer le service zabbix-proxy pour le forcer à récupérer les nouveaux réglages.

Si tout a correctement fonctionné, vous devriez-voir les premiers retours de valeurs sur le nouveau service dans les latest-data du host.

Si vous avez d’autres services sur le même host, il vous suffit de revenir sur l’item que vous venez de créer et de cliquer sur clone.Vous aurez ainsi un nouvel item avec la majorité des champs pré-remplis.Il ne vous restera plus alors qu’à adapter les champs nécessaires.

Définition d’un trigger pour créer une alerte lorsque le service n’est pas démarré.

Vous devriez normalement être toujours au niveau de votre host.Cliquez sur Triggers

Cliquez sur Create trigger en haut à droite.

Maintenant,nous pouvons remplir les informations nécessaires.

Les champs précédés d’une * sont obligatoires(cfr capture d’écran)

Name:indiquez ici le nom de votre trigger,de sorte à ce que ce soit parlant pour des références ultérieures.

Severity: Définissez ici le niveau de sévérité de votre déclencheur.

Expression:Ici nous définissons le critère de déclenchement du trigger.Voici la formule

{Host:service.info[nomdevotreservice,state].min(#3)}<>0

Vous devrez ici remplacer,si ce n’est pas déjà fait Host par le nom du host hébergeant le trigger,nomdevotreservice par le nom du service windows monitoré.Le 0 lui doit rester.

Je vous ai mis le 0 en évidence car c’est cette valeur qui est évaluée sur base du tableau ci-dessous:

Tableau des valeurs retournées par l’agent

Donc dans notre cas, nous le trigger sera déclenché si le test du service retourne une valeur différente de 0.

OK event generation:Détermine le type d’expression qui fera retourner le trigger à l’état OK.Dans notre cas, nous gardons l’expression définie.Ce qui veut dire que si le service renvoie l’état 0, l’ok Event sera généré.Les autres choix sont soit aucun OK event, ou une expression différente de l’expression du déclencheur.

Problem event generation mode:Laissez sur Single.Si vous choisissez Multiple,un trigger sera généré à chaque test tant que pas de OK event.

OK event closes:Laissez sur All problems.

Allow Manual close: Cochez si vous souhaitez pouvoir fermer une alerte dans la console manuellement.

URL: Si vous remplissez ce champ,l’url que vous y mettrez sera visible à plusieurs endroit dans l’interface web

Description: Le champ parle de lui-même.Il sert à documenter votre trigger,fournir des informations sur la résolution etc…

Une fois toutes les infos remplies,cliquez sur Add et votre trigger sera créé.

Comme pour les items, vous pouvez cloner les triggers.