Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contents
stylenone

Contexte

Le script que nous utilisons pour superviser un serveur web IIS possède différents arguments qui ne sont pas mis en place dans le pack n'étant utiles que dans des cas particuliers et pouvant amener à des confusions.

Cela a pour conséquence que le statut de ce modèle check reste en OK il ne passera pas en Warning ou en Critical. Cela a était aussi choisi parce que les métriques supervisées par ce modèle se sont pas bloquantes pour le bon fonctionnement du serveur web IIS.

Vous avez besoin de cette supervision

Le problème qui est alors posé est que vous pouvez avoir besoin de superviser certaines des métriques fourni par les différents checks du pack IIS. Cette page est là pour vous montrez comment créer de nouveau check et de nouvelles commandes. Ainsi qu'une présentation des différents arguments que vous pouvez ajouter à vos commandes pour répondre au mieux à vos besoins.


Comment créer de nouveaux checks et commandes ?

En premier lieu nous vous conseillons de créer des clones des commandes et checks existant plutôt que de modifier directement ceux fournis par Shinken, cela vous éviteras d'avoir des "Différence" dans le Staging.

Vous pouvez cloner les commandes, les checks et le modèle d'hôte apporté par le pack IIS et par la suite modifier les clones créé voici des pages de doc à ce sujet :

Les différents arguments personnalisables 

Nous allons vous présenter les différents arguments présents dans le script pour la supervision d'un serveur web IIS.

En premier lieu voici la liste des arguments que nous utilisons mais qui ne sont pas configurables par des données :

  • -a : Cet argument permet de spécifier le nom de l'instance du serveur web que vous voulez superviser. Utilisez _Total pour les statistiques totales de tous les sites web sinon pour monitorer un serveur web en particulier, entrez son nom.  (Par défaut Shinken utilise _Total)
  • --nokeepstate : Cet argument permet de ne pas conserver l'état des résultats fournis par le check dans /Tmp.  Par défaut le check va créer un fichier dans /Tmp pour conserver l'état des résultats et faire une moyenne lors des prochains appels, cela permet d'avoir une moyenne plus précise. Mais nous ne vous recommandons pas de conserver l'état, nous vous recommandons donc d'utiliser cet argument, lorsque vous utilisez plusieurs Pollers. Car les pollers ne partageant pas leurs /Tmp et cela peut produire des erreurs ou des résultat incohérents.  (Par défaut Shinken utilise --nokeepstate)

Il existe aussi différents arguments que nous n'utilisons pas et qui peuvent vous être utile en fonction des cas d'utilisation, ces arguments sont optionnels, les voici : 

  • -t :  Cet argument spécifie le nombre de secondes avant que le script ne s'arrête. Certaines requêtes WMI prennent plus de temps que d'autres et un réseau avec une latence élevée peut donner la nécessiter d'une augmentation de la valeur par défaut qui est de 15 secondes. 
  • -y : Cet argument spécifie le nombre de secondes sur lequel le check est effectué. Plus le délai est long, plus le calcul sera précis. Vous pouvez également avoir besoin d'utiliser le paramètre -t pour définir un délai de script plus long si vous définissez un valeur supérieur à 10 secondes. Valable uniquement si vous spécifiez également --nokeepstate, c'est-à-dire si vous n'utilisez pas la fonction de conservation de l'état. La valeur par défaut est 5. Les métriques utilisant le -y sont celles ayant "PerSec" dans leurs noms.
  • -w :  Définis à qu'elle valeur le check passe en Warning.
  • -c :  Définis à qu'elle valeur le check passe en Critique.


Attention pour le -w et le -c les commandes du script ne supervise qu'une seul des données retournées et non pas toutes. Pour chacune des commandes une des données retournées par défaut est supervisé si vous n'en spécifiez aucune, voir "Les métriques supervisées par défaut". Vous pouvez personnalisé la donnée supervisée avec :

Code Block
-w DONNÉE=VALUE
ou
-c DONNÉE=VALUE

DONNÉE étant le nom de la donnée à superviser et VALUE la valeur à laquelle le check passe en Warning/Critique. Pour chacune des commandes du pack IIS vous avez accès à la liste de données que renvoie chaque commandes. Cette liste est disponible sur la page de documentation de chaque check dans la rebrique Métriques. Voici les liens vers chacune des pages de documentation correspondantes :



Info

Si le temps donnée à -t dépasse les 60 secondes, le check devras être surchargé pour passer le "temps maximum d'exécution d'un check" à la valeur défini dans le -t, voir Temps maximum d'exécution d'un check.

Les métriques supervisées par défaut

Pour chacune des commandes de supervision d'un serveur web IIS une seul métrique est supervisé, voici celles supervisé par défaut si vous n'en spécifiez aucune  : 


Check NameMétriques supervisé par défaut
Connections
CurrentConnections
Errors
_NotFoundErrorsPersec
RequestsActivity
_GetRequestsPersec
TransfertsActivity
_BytesTotalPersec
Users
_LogonAttemptsPersec

Exemple

Création d'une nouvelle commande

Voici un exemple pour une modification de la commande "Connections", le procédé reste le même pour toutes les autres commandes.


  • Sélection de la commande que vous voulez modifier :
Panel


  • Clone de la commande : 
Panel



  • Contenue de la page d'édition de la commande :

Ici nous allons modifier le contenue de la commande, pour plus d'informations concernant le reste des éléments de cette page vous pouvez lire cette page : Les commandes.

Panel

 


  • Ajout d'un argument pour que notre check puisse passer en warning :

On ajoute l'argument -w pour que le check puisse passer en Warning, ainsi qu'une donnée "_HOSTIIS_CONNECTIONS_WARN" pour pouvoir définir à quel seuil le check passe en Warning.

Info

Lors de la création d'une nouvelle donnée toujours ajouter _HOST devant le nom de votre donnée.

Panel


  • Choix de la métrique à superviser :

Comme expliqué plus haut, Les métriques supervisées par défaut, le Warning ne se feras que sur une seule métrique, ici CurrentConnections, le check Connections contient aussi une métrique _ConnectionAttemptsPerSec.

Si vous voulez superviser la métrique _ConnectionAttemptsPerSec plutôt que la métrique CurrentConnections nous pouvons le spécifier dans notre commande avec "METRIQUE=VALUE", ici _ConnectionAttemptsPerSec="$_HOSTIIS_CONNECTIONS_WARN$"

Panel

Création d'un nouveau modèle d'hôte 

  • Création d'un nouveau modèle d'hôte :

Notre modèle va hériter du modèle Windows-base pour que notre modèle est accès aux données nécessaires au bon fonctionnement des checks.

Panel



  • Ajout de la donnée utilisé par notre commande, dans notre modèle :

La donnée que nous utilisons dans notre commande est _HOSTIIS_CONNECTIONS_WARN , pour le nom de la donnée de notre modèle d'hôte il faut utiliser le même nom sans le _HOST.

Panel

Création d'un nouveau check appliqué aux modèle d'hôtes

  • Création d'un nouveau check :

Pour cela nous allons copier notre check Connections

Panel

Image Modified


  • Contenue de la page d'édition du check :

1 : Si vous avez apporté des modifications au modèle de Check iis-service et que vous souhaitez les conserver sur votre check vous pouvez importer le modèle de Check iis-service, sinon créer votre propre modèle de check ou simplement utiliser le modèle generic-service.

2 : Ici vous entrez le nom de votre modèle d'hôte, dans cet exemple c'est IIS_Connection_warn_ConnectionAttempts.

Panel

Image Modified

  • Contenue de la page d'édition du check :
Panel

Image Modified


Votre modèle d'hôte a maintenant accès à la commande de votre nouveau check.