Contexte

Nous avons fait le choix que le statut de ce modèle check reste en OK il ne passera pas en Warning ou en Critical.  Les métriques supervisées  par ce modèle ne sont pas bloquantes pour le bon fonctionnement du serveur web IIS.

Créer de nouveaux checks et commandes

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

Les différents arguments personnalisables 

Les commandes utilisées pour superviser un serveur web IIS possèdent différents arguments dont la personnalisation par des données directement dans le pack n'est pas mise en place n'étant utile que dans des cas particuliers et pouvant amener à des confusions, les voici :

  • -a : Le nom de l'instance du serveur web pour lequel on veut voir les statistiques. Utilisez _Total pour les statistiques totales de tous les sites web. (Par défaut Shinken utilise _Total), sinon pour monitorer un serveur web particulier, entrez son nom.

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

  • --nokeepstate : Permets de ne pas conserver l'état, le check va créer un fichier dans /Tmp pour conserver l'état des métriques et faire une moyenne lors des prochains appelés, cela permet d'avoir une moyenne plus précise. Mais nous ne vous recommandons pas de conserver l'état et donc d'utiliser --nokeepstate lorsque  vous utilisez plusieurs Pollers, les pollers ne partageant pas leurs /Tmp cela peut produire des erreurs.
  • -t :  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 les liens réseau avec une latence élevée peuvent également nécessiter une augmentation de la valeur par défaut de 15. 
  • -y : DELAY (optionnel) spécifie le nombre de secondes sur lequel l'utilisation est calculée. 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 à 15 sec. 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 DELAY sont celles ayant "PerSec" dans leurs noms.
  • -w :  Définis à qu'elle valeur le check passe en Warning, pour chacune des commandes de supervision d'un serveur web IIS une métrique par défaut est supervisé, voir la suite de la doc , vous pouvez personnalisé la métrique supervisée avec -w METRIQUE=VALUE, METRIQUE étant le nom de la métrique à superviser et VALUE la valeur à laquelle le check passe en Warning 
  • -c :  Définis à qu'elle valeur le check passe en Crtitique, pour chacune des commandes de supervision d'un serveur web IIS une métrique par défaut est supervisé, voir la suite de la doc , vous pouvez personnalisé la métrique supervisée avec -c METRIQUE=VALUE, METRIQUE étant le nom de la métrique à superviser et VALUE la valeur à laquelle le check passe en Critique
  • --nokeepstate : Permets de conserver l'état, le check va créer un fichier dans /Tmp pour conserver l'état des métriques et faire une moyenne lors des prochains appelés, cela permet d'avoir une moyenne plus précise. Mais nous ne vous recommandons pas de conserver l'état et donc de ne pas utiliser --nokeepstate lorsque  vous utilisez plusieurs Pollers, les pollers ne partageant pas leurs /tmp.

Les métriques supervisées par défaut

Pour chacune des commandes de supervision d'un serveur web IIS une métrique par défaut est supervisé les voici : 


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.

Nous vous conseillons de créer un clone de la commande plutôt que de modifier directement la commande, cela vous éviteras d'avoir des "Différence" dans le Staging


On sélectionne de la commande que vous voulez modifier :


On clone la commande : 



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.

Nous voulons que notre commande 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.

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


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$"

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

Nous allons créer 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


Nous allons maintenant ajouter la donnée que nous utilisons dans notre commande à 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 utilise le même nom sans le _HOST.


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


Nous allons créer un nouveau check utilisant notre commande, nous allons copier notre check Connections


Voici la page d'édition de votre check

  • 1 : Si vous avez apporté des modifications au Modèle de Check iis-service vous pouvez le conserver, sinon créer votre propre modèle de check ou simplement utilisé le modèle generic-service. 
  • 2 : Ici vous devez supprimer iis et le remplacer par le nom de votre modèle d'hôte, dans cet exemple c'est IIS Connection Upgrade.


On change la commande par celle que nous avons créée :


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