Contexte

Shinken livre des packs qui ont pour objectif de proposer des commandes, des checks et des modèles traitant un même sujet ( par exemple le pack Switch-SNMP permet la supervision de vos switchs ).

Les packs livrés par Shinken sont importés via la source "cfg-file-shinken", ils sont utilisables directement en utilisant les modèles d'hôtes fournis dans vos hôtes.

Mais si vous devez modifier vos checks, pour un besoin précis, il est important de ne pas modifier directement les éléments présents dans le pack, mais de créer vos propres éléments qui eux utiliseront ( hériteront ) les éléments livrés.

Pourquoi ne pas modifier les éléments livrés dans le pack ?

  • Vous pouvez réimporter la source "cfg-file-shinken" sans causer de différence lors du mélange des sources.
  • Vous pouvez utiliser le pack comme base pour faire vos propres commandes, checks et modèles.

Cette page apporte des conseils sur l'utilisation optimale des packs ainsi livrés.


Cohabiter avec un pack livré Shinken

L'idée est de ne pas modifier les éléments importés par le pack, ce qui a plusieurs avantages :

  • Vous pouvez réimporter la source "cfg-file-shinken" ( afin de bénéficier des mises à jour des packs s'il y en a ), sans causer de différence lors du mélange des sources.
  • Vous pouvez utiliser le pack comme base pour faire vos propres commandes, checks et modèles dans le but d'être en phase avec vos besoins et vos usages.

Quelles méthodes utilisées pour faire vos propres éléments ( hériter ou cloner les éléments du pack )

Pour ne pas utiliser les éléments provenant des packs tout en bénéficiant de leurs configurations ( données, paramétrages, héritages... ) vous pouvez utiliser les fonctionnalités suivantes :

  • le clonage
  • l'héritage

En fonction du type d'élément Shinken, nous vous conseillons d'utiliser soit le clonage, soit l'héritage. Dans les parties ci-dessous, nous vous expliquons pourquoi et comment faire.

Pour les exemples, nous utiliserons les commandes, les checks et les modèles du pack Switch-SNMP ( voir la page Pack Switch-SNMP - ( Snmp v1, v2 ) ).

Le modèle d'hôte ou cluster

Pour un modèle, il est préférable d'en créer un nouveau afin qu'il hérite d'un modèle livré par le pack. Ce qui vous offre plusieurs avantages :

  • Vous pouvez mettre à jour les packs livrés ( en important la source "cfg-file-shinken" ) sans avoir de différence lors du mélange des sources.
  • Vous héritez de toutes les propriétés, toutes les données et de tous les checks du modèle en vous laissant la possibilité de :
    • désactiver
    • ajouter
    • supprimer
    • modifier
    • surcharger
    • exclure

sans que ça pose de problème lors du mélange des sources.

Exemple

Dans la barre de navigation, cliquer sur :

  1. Staging
  2. Hôte
  3. Modèle d'hôte



Sur la page de la liste des modèles d'hôtes, cliquer sur :

  1. "Ajouter [ Modèle d'hôte ]"

Sur la page de création d'un modèle d'hôte :

  1. Ajouter un nom à votre modèle ( dans l'exemple le nom est : Nouveau-Modèle-switch-SNMPv1v2 ).
  2. Dans "Modèles d'hôtes hérités", choisir le modèle d'hôte dont vous avez besoin dans le pack de votre choix livré par Shinken ( dans l'exemple le modèle utilisé est : switch-SNMPv1v2 ).
  3. Dans "Pack", renseigner la même valeur qu'il y a dans le champ "Pack" du modèle hérité ( dans l'exemple la valeur est : switch-snmp ). Vous pourrez alors filtrer les éléments par pack dans la liste des éléments Shinken.

Dans les onglets Données et Checks, vous pouvez vérifier que toutes les données et checks ont bien été hérités. Désormais, libre à vous de :

  • Ajouter, exclure et surcharger un check
  • Ajouter ou modifier des données

La commande

Pour une commande, il est préférable d'en cloner une existante livrée par le pack afin d'avoir toute la base de la commande. Ce qui vous offre plusieurs avantages :

  • Vous pouvez mettre à jour les packs livrés ( en important la source "cfg-file-shinken" ) sans avoir de différence lors du mélange des sources.
  • Vous avez déjà la base de la commande, ce qui vous fera gagner du temps.
Exemple

Dans la barre de navigation, cliquer sur :

  1. Staging
  2. Commande

Sur la page de la liste des commandes, rechercher la commande que vous voulez cloner ( dans l'exemple la commande que je veux cloner est : check_switch_cpu ).


Une fois votre check affiché, sélectionner votre check plus cliquer sur "Cloner [ 1 ]".



Cliquer sur la nouvelle commande ( dans l'exemple la nouvelle commande est : check_switch_cpu [copie] ).


Sur la page de la commande clonée :

  1. Changer le nom de votre commande ( dans l'exemple le nouveau nom est : check_switch_blacklist_interfaces ).
  2. Dans "Ligne de Commande", vous pouvez modifier la ligne de commande pour que le résultat qu'elle retourne réponde à votre besoin.


Le check

Pour un check, il est préférable d'en créer un nouveau afin qu'il hérite d'un check livré par le pack. Ce qui vous offre plusieurs avantages :

  • Vous pouvez mettre à jour les packs livrés ( en important la source "cfg-file-shinken" ) sans avoir de différence lors du mélange des sources.
  • Vous héritez de toutes les propriétés et de toutes les données du check en vous laissant la possibilité de :
    • désactiver
    • ajouter
    • supprimer
    • modifier

sans que ça pose de problème lors du mélange des sources.

Exemple

Dans la barre de navigation, cliquer sur :

  1. Staging
  2. Check
  3. Check appliqué au modèle d'hôte





Sur la page de la liste des checks à appliquer aux modèles d'hôtes, cliquer sur :

  1. "Ajouter [ Check appliqué au modèle d'hôte ]"


Sur la page de création d'un modèle d'hôte :

  1. Ajouter un nom à votre modèle ( dans l'exemple le nom est : Blacklist Interfaces Switch SNMPv1v2 ).
  2. Dans "Modèles de Check hérité", choisir votre propre modèle de check ( si vous en avez un ) autrement, choisir "generic-service" ( comme dans l'exemple ) sinon vous n'allez pas pouvoir appliquer vos modifications en production car il vous manquera les propriétés suivantes :
    1. Commande de vérification.
    2. Nombre maximum de tentatives de confirmation du statut du check.
    3. Intervalle entre les vérifications.
    4. Intervalle des nouvelles tentatives de confirmations d'état.
  3. Dans "Attaché sur les modèles d'hôte", renseigner votre nouveau modèle d'hôte ( dans l'exemple le modèle renseigné est : Nouveau-Modèle-switch-SNMPv1v2 )
  4. Dans "Pack", renseigner la même valeur qu'il y a dans le champ "Pack" du modèle sur lequel le check va s'attacher ( dans l'exemple le modèle valeur est : switch-snmp ). Vous pourrez alors filtrer les éléments par pack dans la liste des éléments Shinken.


Dans l'onglet supervision, ajouter votre nouvelle commande ( dans l'exemple la nouvelle commande est : check_switch_blacklist_interfaces ).