Contexte

Le check Service [ $KEY$ ] State by WinRM permet de vérifier le status d’un service Windows. Il permet ainsi de s’assurer que les services supervisés sont bien dans l’état attendu.

Le check utilise une donnée Duplicate Foreach qui permet de générer automatiquement le check pour chaque service à superviser.


Paramétrage

$WINDOWS-BY-WINRM__SHINKEN__PLUGINSDIR$/check_windows_health_by_winrm_rust --check check_service_state
    --hostname "$HOSTADDRESS$"
    --port "$_HOSTWINDOWS_BY_WINRM__PORT$"
    --username "$_HOSTWINDOWS_BY_WINRM__DOMAINUSER$" 
    --password "$_HOSTWINDOWS_BY_WINRM__DOMAINPASSWORD$"
    --auth_method "$_HOSTWINDOWS_BY_WINRM__AUTHMETHOD$"
    --timeout "$_HOSTWINDOWS_BY_WINRM__TIMEOUT$"
    -n "$ARG1$"
    -e "$ARG2$"

Données utilisées provenant des modèles

Données communes pour les checks des modèles

Données spécifiques pour ce check

Aucune données spécifique pour ce check.

Données DFE ( Duplicate Foreach )

DonnéeDescriptionExemple
WINDOWS_BY_WINRM__SERVICE-STATE__SERVICE-TO-CHECK

Définit une paire KEY$(VALUE)$.

  • KEY correspond au nom du service à superviser.
  • VALUE correspond à l'état attendu du service à superviser.
    • Les valeurs possibles sont :
      • Stopped
      • Start Pending
      • Stop Pending
      • Running
      • Continue Pending
      • Pause Pending
      • Paused

WinRM$(Running)$




Modifier les données accrochées à l'hôte affectera l'ensemble des checks dupliqués.
Afin de paramétrer individuellement chaque checks, il est possible de surcharger les données des checks.

En cas de difficulté pour identifier les services à superviser, il est possible de rechercher leur noms depuis l'application services.msc.
Les services ont un nom unique, et un nom d'affichage. Les étapes ci-dessous expliquent comment récupérer le nom unique, qui est utilisé pour configurer le check.

  • Ouvrir la fenêtre d'exécution avec le raccourcis "Windows" + "R"
  • Rentrer "services.msc" puis cliquer sur OK.

  • Une nouvelle fenêtre s'affiche avec l'ensemble des services supervisable sur votre machine.
  • Recherche le service voulu parmis la liste
  • Une fois trouvé, cliquer droit dessus, puis "propriétés"
  • Le nom de service unique apparait en première propriété de l'onglet Général

Données utilisées provenant du check

Pas de données provenant du check pour ce modèle.

Résultat

Exemple

Interprétation

  • Il peut prendre trois valeurs    OK  /  CRITIQUE  /   INCONNU  

    • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :

Situation Statut Exemple
Le service est dans l’état attendu défini par la variable WINDOWS_BY_WINRM__SERVICE-STATE__SERVICE-TO-CHECK($VALUE2$)OK

Le service n’est pas dans l’état attendu défini par la variable WINDOWS_BY_WINRM__SERVICE-STATE__SERVICE-TO-CHECK. ($VALUE2$)CRITIQUE  

Résultat

Le résultat contient un message indiquant le statut du check.

Résultat Long

Pas de résultat long.

Métriques

Aucune métrique n'est renvoyée pour ce check.

Erreurs et pré-requis

Erreurs de configuration de l'hôte supervisé ( spécifique à ce check )

MONITORED HOST - BAD STATE - Access denied

L'utilisateur de supervision ne dispose pas des droits nécessaires pour interroger l’état du service cible.




Résolution

La résolution de ce problème doit se faire en mode Administrateur sur un terminal PowerShell.


L'utilisateur de supervision doit avoir accès en lecture au service supervisé.

Dans le pack sont livrés des scripts permettant l'opération : Configuration du Windows supervisé pour le pack windows-by-WinRM__shinken

MONITORED HOST - BAD STATE - Service "..." does not exist as an installed service.

Le service n’a pas été trouvé sur le système cible.