Contexte
Le check File Matching [$KEY$] COUNT by WinRM permet de compter le nombre de fichiers présents dans un répertoire, en fonction d'un filtre spécifique.
Paramétrage
Le check utilise la ligne de commande suivante :
$WINDOWS-BY-WINRM__SHINKEN__PLUGINSDIR$/check_windows_health_by_winrm_rust --check check_files_matching
--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$"
--path "$ARG1$"
--filter "$ARG2$"
--count-warn "$ARG3$"
--count-crit "$ARG4$"
--recursive "$ARG5$"
--include_hidden "$ARG6$"
--kind "count"
Données utilisées provenant du modèle
Données communes pour les checks du modèle
| Nom | Modifiable sur | Valeur par défaut | Description |
|---|---|---|---|
WINDOWS_BY_WINRM__AUTHMETHOD | l'Hôte ( Onglet Données ) | ntlm | Méthode d'authentification utilisé. Valeurs possibles : basic, ntlm |
WINDOWS_BY_WINRM__DOMAINPASSWORD | l'Hôte ( Onglet Données ) | Ch4nge_Th1s_P4ssw0rd | Mot de passe de l'utilisateur de supervision |
WINDOWS_BY_WINRM__DOMAINUSER | l'Hôte ( Onglet Données ) | shinken_user | Nom complet de l'utilisateur de supervision utilisé pour exécuter des commandes à distance.
|
WINDOWS_BY_WINRM__PORT | l'Hôte ( Onglet Données ) | 5985 | Port de connexion au serveur WinRM de l'hôte à superviser. |
WINDOWS_BY_WINRM__TIMEOUT | l'Hôte ( Onglet Données ) | 20 | Temps maximum sans réponse d'une requête WinRM pour que la sonde renvoi un statut INCONNU. |
Données spécifiques pour ce check
| Nom | Modifiable sur | Valeur par défaut | Description |
|---|---|---|---|
WINDOWS_BY_WINRM__FILES-MATCHING-COUNT__COUNT-WARN | l'Hôte ( Onglet Données ) | 50 | Nombre de fichiers à détecter dans un répertoire avant de passer le check en statut ATTENTION Utilisé par $ARG3$ de la DFE WINDOWS_BY_WINRM__FILES-MATCHING-COUNT. |
WINDOWS_BY_WINRM__FILES-MATCHING-COUNT__COUNT-CRIT | l'Hôte ( Onglet Données ) | 100 | Nombre de fichiers à détecter dans un répertoire avant de passer le check en statut CRITIQUE Utilisé par $ARG4$ de la DFE WINDOWS_BY_WINRM__FILES-MATCHING-COUNT. |
Les données DFE ( Duplicate Foreach )
| Nom | Modifiable sur | Valeur par défaut | Description | Exemple | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WINDOWS_BY_WINRM__FILES-MATCHING-COUNT | l'Hôte ( Onglet Données ) | -- |
| LOGS$(C:\shinken)$(*.log)$$(10)$$(20)$$(true)$$(true)$ |
Si aucune valeur n'est renseignée pour un $ARGn$ sur un check, la valeur définie sur la donnée associée dont il hérite est utilisée à la place. Cette donnée peut à son tour avoir sa propre valeur par défaut.
Tous les checks DFE générés à partir du modèle Modèle windows-by-WinRM__files-one-property-per-check héritent de ses valeurs par défaut. Cela implique que :
- Effet global : tant que $ARGn$ n'est pas renseigné sur une instance, celle-ci lit la variable hôte définie par le modèle. Si plusieurs instances laissent $ARGn$ vide, elles partagent toutes la même valeur. Modifier la variable hôte (ou la valeur par défaut du modèle) se répercute donc sur toutes les instances qui n'ont pas renseigné $ARGn$.
- Comportement spécifique à une instance : la seule façon de donner à une instance un comportement différent est de renseigner explicitement le $ARGn$ concerné sur cette instance.
Exemple — $ARG12$ et $ARG13$ (fichiers cachés et récursivité) du check Files Matching [$KEY$] by WinRM :
Si ils ne sont pas renseignés sur l'instance, le modèle utilise les variables hôtes WINDOWS_BY_WINRM__FILES-MATCHING__RECURSIVE et WINDOWS_BY_WINRM__FILES-MATCHING__INCLUDE-HIDDEN.
Si ces variables ne pas sont pas définies, elles prendront leur propre valeur par défaut, true.
La coloration ici, indique que les valeurs par défauts sont utilisés- Si plusieurs instances ne déclarent pas $ARG12$ et $ARG13$, les 2 utiliseront les même données.
Conséquence : plusieurs instances générées sans $ARG12$ et $ARG13$ utiliseront toutes true. Pour qu'une instance particulière utilise false, il faut renseigner $ARG12$ et $ARG13$ sur cette instance ; modifier WINDOWS_BY_WINRM__FILES-MATCHING__RECURSIVE et WINDOWS_BY_WINRM__FILES-MATCHING__INCLUDE-HIDDEN à false ferait basculer toutes les instances sans surcharge à false.
Données utilisées provenant du check
Pas de données provenant du check
Données globales
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation | Description |
|---|---|---|---|---|---|
USERPLUGINSDIR | Non modifiable ( Sauf Admin Shinken ) | -- | /var/lib/shinken/libexec | /var/lib/shinken/libexec | Chemin absolu contenant les sondes installés par Shinken |
WINDOWS-BY-WINRM__SHINKEN__VENDOR | Non modifiable ( Sauf Admin Shinken ) | -- | shinken-additional-packs | shinken-additional-packs | Dossier fournit par shinken |
WINDOWS-BY-WINRM__SHINKEN__PACKNAME | Non modifiable ( Sauf Admin Shinken ) | -- | windows-by-WinRM__shinken | windows-by-WinRM__shinken | Dossier contenant les sondes |
WINDOWS-BY-WINRM__SHINKEN__PLUGINSDIR | Non modifiable ( Sauf Admin Shinken ) | -- | USERPLUGINSDIR/WINDOWS-BY-WINRM__SHINKEN__VENDOR/WINDOWS-BY-WINRM__SHINKEN__PACKNAME | /var/lib/shinken-user/libexec/shinken-additional-packs/windows-by-WinRM__shinken | Chemin absolu du dossier contenant les sondes du pack windows-by-WinRM__shinken ( non modifiable ) |
Propriétés de l'hôte
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut | Description |
|---|---|---|---|---|---|
HOSTADDRESS | l'Hôte ( Onglet Général ) | -- | Nom de l'hôte | Nom de l'hôte | Adresse de l'hôte |
Résultat
Exemple
Interprétation
Statut
Il peut prendre quatre valeurs OK / CRITIQUE / ATTENTION / INCONNU .
Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :
- WINDOWS_BY_WINRM__FILES-COUNT__COUNT-WARN ou DFE position $ARG3$
- WINDOWS_BY_WINRM__FILES-COUNT__COUNT-CRIT ou DFE position $ARG4$
- Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :
Le texte de la colonne "Affichage des seuils" montre les paramètres utilisés et leur valeur définie sur l'équipement supervisé.
| Situation | Statut | Exemple |
|---|---|---|
| ATTENTION |
|
| CRITIQUE |
|
| INCONNU |
|
Résultat
Une seule ligne :
- CRITIQUE (seuil dépassé) : N fichier(s) trouvé(s) (≥ C critique).
- CRITIQUE 0 fichier trouvé : Aucun fichier trouvé correspondant à '<filtre>' dans '<chemin>'..
- ATTENTION (seuil dépassé) : N fichier(s) trouvé(s) (≥ W avertissement).
- OK : N fichier(s) trouvé(s).
- UNKNOWN (paramètre invalide) si le filtre est une liste : Count cannot be used with a list of file names (the count would always equal the list size). (le count vaudrait toujours la taille de la liste).
Résultat Long
Pas de résultat long pour ce check.
Métriques
Définition
Nom | Unité | Description | Seuil d'avertissement | Seuil critique |
|---|---|---|---|---|
files_count_( NOM_DOSSIER )( VALEUR_FILTRE ) | -- | Retourne le nombre de fichiers détectés dans le répertoire qui correspondent au filtre indiqué. | WINDOWS_BY_WINRM__FILES-COUNT__COUNT-WARN (ou DFE position $ARG3$) | WINDOWS_BY_WINRM__FILES-COUNT__COUNT-CRIT (ou DFE position $ARG4$) |
Exemple
Erreurs et pré-requis
L’hôte supervisé a mis trop de temps à répondre à la requête. Note : ce problème peut également provenir d’un mauvais port configuré, d’un port fermé sur l’hôte supervisé, ou si le service WinRM est stoppé sur l'hôte supervisé.
Résolution : La commande ci dessous permet de voir l'état du service WinRM : Il est possible de le démarrer ou de le configurer pour se lancer automatiquement avec les commandes suivantes : L'hôte à refusé la connection ; ou bien son pare-feu.
L'hôte n'a pas pu recevoir la requête. Vérifiez votre réseau, routeur, pare-feu et nom d'hôte.
Le nom de l’hôte n’a pas pu être résolu. Vérifiez que l’adresse renseignée est correcte et que le serveur DNS est accessible.
Le nom de l’hôte n'est pas une URI valide. Vérifiez que l’adresse renseignée est correcte.
NTLM n'est pas activé sur l'hôte à superviser.
Résolution : Vous pouvez : Activer NTLM sur l'hôte supervisé avec la commande suivante : La connexion NTLM n'a pas été autorisé. Les raisons possibles sont : Winrm n'a pas été configuré avec la commande :
Résolution : Il faut s'assurer d'avoir correctement appliqué les configurations décrites dans les sections "Configuration de WinRM" et "Configuration de l'utilisateur" ( Voir la page Configuration du Windows supervisé pour le pack windows-by-WinRM__shinken ). L'authentification basic n'est pas activé sur l'hôte à superviser.
Résolution : Vous pouvez : Activer Basic sur l'hôte supervisé avec la commande suivante, et autoriser les communications non chiffrées : La connexion basic n'a pas été autorisé. Les raisons possibles sont : Winrm n'a pas été configuré avec la commande :
Résolution : Il faut s'assurer d'avoir correctement appliqué les configurations décrites dans les sections "Configuration de WinRM" et "Configuration de l'utilisateur" ( Voir la page Configuration du Windows supervisé pour le pack windows-by-WinRM__shinken ). L'utilisateur utilisé n'a pas accès à l'éxécution de commandes à distances.
Résolution : Il est important de donner les accès "Read" et "Invoke" à l'utilisateur de supervision afin qu'il puisse lire des ressources et éxécuter des commandes sur l'hôte supervisé. Il faut s'assurer d'avoir correctement appliqué la configuration décrite dans la section "Permissions WinRM pour l'utilisateur" ( Voir la page Configuration du Windows supervisé pour le pack windows-by-WinRM__shinken ). L'utilisateur utilisé n'a pas accès aux objets CIM, necessaire à la supervision de la machine.
Résolution : Il est necessaire de donner les accès à distance aux objets CIMv2 et StandardCimv2. Il faut s'assurer d'avoir correctement appliqué la configuration décrite dans la section "Autorisation aux objets CIM" ( Voir la page Configuration du Windows supervisé pour le pack windows-by-WinRM__shinken ). L'utilisateur utilisé n'a pas accès aux objets CIM. Les permissions sont en cours d'application.
Résolution : L'erreur survient après la modification des droits aux objets CIM de l'utilisateur. Il suffit d'attendre ou de redémarrer la machine afin que les permissions s'actualisent.Erreurs de connexion ( communes à tous les checks )
UNKNOWN – Transport error : failed to send request: request timed out
Get-Service WinRM
# Redémarrer le service WinRM :
Restart-Service WinRM
# Configurer le démarrage automatique
Set-Service -Name WinRM -StartupType Automatic
UNKNOWN – Transport error : sent request failed: connection refused
UNKNOWN – Transport error : sent request failed: host is not reachable
UNKNOWN – Transport error : sent request failed: DNS resolution failed
UNKNOWN – Transport error : failed to build request: given uri is invalid
UNKNOWN – Authentication NTLM failed : NTLM is not supported by the server
winrm set winrm/config/service/auth '@{Negotiate="true"}'
UNKNOWN – Authentication NTLM failed : Unauthorized
winrm quickconfig
UNKNOWN – Authentication Basic failed : Basic is not supported by the server
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
UNKNOWN – Authentication Basic failed : Unauthorized
winrm quickconfig
Erreurs de configuration de l'hôte à superviser ( communes à tous les checks )
UNKNOWN – Response fault error: Code: s:Sender, Subcode: w:AccessDenied, Reason: Access is denied.
MONITORED HOST - BAD STATE – Command execution Failed. Permission denied.
UNKNOWN – Command execution Failed. [...] Provider failure






















