| Scroll Ignore |
|---|
| scroll-pdf | true |
|---|
| scroll-office | true |
|---|
| scroll-chm | true |
|---|
| scroll-docbook | true |
|---|
| scroll-eclipsehelp | true |
|---|
| scroll-epub | true |
|---|
| scroll-html | false |
|---|
|
|
Le check Services [ $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.
| Panel |
|---|

|
| Code Block |
|---|
|
$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
| Excerpt Include |
|---|
| Modèle windows-by-WinRM__base |
|---|
| Modèle windows-by-WinRM__base |
|---|
| nopanel | true |
|---|
|
Données spécifiques pour ce check
Aucune données spécifique pour ce check.
Données DFE ( Duplicate Foreach )
| Donnée | Description | Exemple |
|---|
| No Format |
|---|
WINDOWS_BY_WINRM__SERVICE-STATE__SERVICES-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)$ |
| Note |
|---|
|
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. |
| Info |
|---|
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.
|
Données utilisées provenant du check
Pas de données provenant du check pour ce modèle.
| Excerpt Include |
|---|
| Uptime by WinRM |
|---|
| Uptime by WinRM |
|---|
| nopanel | true |
|---|
|
| Panel |
|---|

|
| 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 | | Panel |
|---|

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

|
|
Le résultat contient un message indiquant le statut du check.
Aucune métrique n'est renvoyée pour ce check.
Erreurs de configuration de l'hôte supervisé ( spécifique à ce check )
| Excerpt |
|---|
| Section |
|---|
MONITORED HOST - BAD STATE - Access denied |
| Section |
|---|
L'utilisateur de supervision ne dispose pas des droits nécessaires pour interroger l’état du service cible.
| Panel |
|---|

|
|
| Section |
|---|
Résolution manuelle |
| Section |
|---|
Modifier le SDDL ( Security Descriptor Definition Language )| Info |
|---|
La résolution de ce problème doit se faire en mode Administrateur sur un terminal PowerShell. | Récupérer le SID de l'utiliateur ou du groupe associé à la supervision. Executer la commande suivante : | Code Block |
|---|
| (New-Object System.Security.Principal.NTAccount("DOMAINE\Utilisateur")).Translate([System.Security.Principal.SecurityIdentifier]).Value |
| Info |
|---|
Pour un compte Active Directory, remplacer DOMAINE\Utilisateur par la valeur appropriée. Pour un compte local, utiliser : - NomDuServeur\UtilisateurLocale
- ou simplement UtilisateurLocale
Conserver le SID retourné, il sera utilisé dans les étapes suivantes. | Exemple :| Panel |
|---|
Image Removed
| Afficher la configuration de sécurité du service : Exécuter :| Code Block |
|---|
| sc.exe sdshow "NomDuService" | Exemple :| Panel |
|---|
Image Removed
|
La commande retourne le SDDL complet du service. Modifier la DACL du service. Copier le résultat retourné parsc.exe sdshow. Dans la section commençant par "D:", ajouter l’entrée suivante juste avant la section "S:"
| Code Block |
|---|
| (A;;CCLCSWLORC;;;<USER_SID>) | Remplacer <USER_SID> par le SID récupéré précedement.
Exemple de SDDL modifié :
| Panel |
|---|
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;LC;;;S-1-5-21-2583679208-1579500244-1739850223-1006)(A;;CCLCSWLORC;;;S-1-5-21-2583679208-1579500244-1739850223-1009)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD) |
| Info | CC → SERVICE_QUERY_CONFIG LC → SERVICE_QUERY_STATUS SW → SERVICE_ENUMERATE_DEPENDENTS LO → SERVICE_INTERROGATE RC → READ_CONTROL Ces permissions correspondent aux droits de lecture du service (équivalent à GENERIC_READ). Les scripts de configuration fournis appliquent automatiquement cette permission afin de permettre au check d’interroger correctement le statut d'un service. Pour avoir plus d'informations sur ces permissions, consulter la documentation officielle de Microsoft en cliquant ici.Appliquer la nouvelle configuration. Une fois le SDDL modifié, l’appliquer avec :| Code Block |
|---|
| sc.exe sdset "NomDuService" "<SDDL_MODIFIE>" | Exemple :| Panel |
|---|
Image Removed
|
| Warning |
|---|
Attention : une erreur dans le SDDL peut rendre le service inaccessible. Nous vous recommandons donc de conserver l'ancien SDDL afin de pouvoir revenir en arrière si nécessaire. |
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 |
| Section |
|---|
MONITORED HOST - BAD STATE - Service "..." does not exist as an installed service. |
| Section |
|---|
| Le service n’a pas été trouvé sur le système cible.
| Panel |
|---|

|
|
|
| Excerpt Include |
|---|
| Erreurs du pack windows-by-WinRM__shinken |
|---|
| Erreurs du pack windows-by-WinRM__shinken |
|---|
| nopanel | true |
|---|
|
Texte non vérifié — veuillez confirmer la politique de confidentialitéTexte non vérifié — veuillez confirmer la politique de confidentialité