| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
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.
Problèmes
Le problème qui est alors posé est que vous pouvez avoir besoin de superviser certaines des métriques fournit par les différents check du pack IIS. Cette page est la pour vous montrer comment créer de nouveau check et de nouvelles commandes. Ainsi qu'une présentation des différents argument que vous pouvez ajouter à vos commandes pour répondre au mieux à vos besoin.
Comment 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 argument présentes dans le script pour la supervision d'un serveur web IIS.
En premier lieu voici la liste des arguments que nous utilisions mais qui ne sont pas configurable par des données :
- -a : Cette argument permet de spécifier 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 sinon pour monitorer un serveur web en particulier, entrez son nom. (Par défaut Shinken utilise _Total)
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 optionnelles, les voici :
- --nokeepstate : Cette argument permets 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 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)
- -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 un réseau avec une latence élevée peut également nécessiter une augmentation de la valeur par défaut qui est de 15 secondes.
- -y : DELAY 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 se0condes. 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.
- -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 métrique par défaut est supervisé, 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 étant la liste des métriques renvoyer par le check.
| 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 _WINDOWS_EVENT_LOG_TIMEOUT, voir Temps maximum d'exécution d'un check. |
Les métriques supervisées par défaut
| Check Name | Mé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.
On sélectionne de la commande que vous voulez modifier :
| Panel |
|---|
On clone la commande :
| Panel |
|---|
Contenue de la page d'édition de la commande :
| Panel |
|---|
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 :
| Panel |
|---|
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. |
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
Nous allons créer un nouveau modèle d'hôte :
| Panel |
|---|
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 :
| Panel |
|---|
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
| Panel |
|---|
Voici la page d'édition de votre check
| Panel |
|---|
- 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.
| Panel |
|---|
Votre modèle d'hôte a maintenant accès à la commande de votre nouveau check.









