Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_macro_parameter
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbookhtmltruefalse
scroll-eclipsehelpdocbooktrue
scroll-epubeclipsehelptrue
scroll-htmlepubtrue
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.

Ce modèle n'ajoute pas de check sur un hôte :

  • Il n'est utile que pour définir un modèle commun qui contient les données nécessaires pour l'utilisation du modèle iis.
    • C'est pour cela que ce model n'est visible que pour les admins Shinken.

Les données

Les données communes pour tous les checks

Il s'agit de l'ensemble de données pour se connecter à une machine Windows ( serveur ou client ).

Excerpt
NomModifiable surDéfautValeur par défaut à l'installation de ShinkenDescription
No Format
DOMAINUSERSHORT

l'Hôte

( Onglet Données )

$DOMAINUSERSHORT$ shinken_user Nom d'utilisateur utilisé, sans le domaine.
No Format
DOMAINPASSWORD

l'Hôte

( Onglet Données )

$DOMAINPASSWORD$ superpassword Mot de passe de l'utilisateur.
No Format
DOMAIN

l'Hôte

( Onglet Données )

$DOMAIN$ MYDOMAIN

Nom du domaine Active Directory du compte. Si vide, alors c'est le domaine du serveur qui sera utilisé, ou un compte local s'il n'est pas dans un domaine Active Directory.

No Format
DOMAINUSER

l'Hôte

( Onglet Données )

$_HOSTDOMAIN$\\
$_HOSTDOMAINUSERSHORT$
MYDOMAIN\\shinken_user

Nom complet utilisé pour se connecter, il faut par défaut DOMAINE\DOMAINUSERSHORT.

  • À n'utiliser que si vous ne souhaitez pas utiliser les variables DOMAINUSERSHORT et DOMAIN, et que votre connexion se fait sur un autre format que Domaine/utilisateur.


No Format
WINDOWS_SECURITY
_MECANISMS

l'Hôte

( Onglet Données )

integrity integrity

Niveau de sécurité utilisé pour se connecter sur le serveur Windows :

  • integrity : ( par défaut ) valeur de sécurité élevée
  • connect: valeur de sécurité faible, qui sera bloquée sur les serveurs Windows à partir de mi-2022 ( voir la page l'article de microsoft sur le sujet ), à partir des serveurs windows 2008.
    • Cette valeur ne doit être utilisée que sur de vieux serveurs qui ne gèrent pas les connexions au niveau integrity.


Les données spécifiques

Pas de données spécifiques pour ce modèle

Les données DFE ( Duplicate Foreach )

Pas de données DFE pour ce modèle

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 également nécessiter 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 . 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 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 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 -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éfautConnections
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

Image Removed

On clone la commande : 

Panel

Image Removed

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

Panel

 Image Removed

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

Image Removed

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

Image Removed

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

Nous allons créer un nouveau modèle d'hôte :

Panel

Image Removed

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

Image Removed

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.

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

Image Removed

Voici la page d'édition de votre check :

Panel

Image Removed

  • 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.
On change la commande par celle que nous avons créée :
Panel

Image Removed

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