Contexte

Le check File Matching [$KEY$] LAST ACCESS by WinRM permet de vérifier la date de dernier accès des fichiers présents dans un répertoire, en fonction d'un filtre spécifique ou d'une liste de noms de fichiers.


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$"

          --last-access-warn "$ARG3$"
          --last-access-crit "$ARG4$"

          --recursive "$ARG5$"
          --include_hidden "$ARG6$"

          --kind "last_access"

Données utilisées provenant du modèle

Données communes pour les checks du modèle

Données spécifiques pour ce check

NomModifiable surValeur par défautDescription
WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-WARN

l'Hôte

( Onglet Données )

24

Délai en heures écoulées depuis le dernier accès à un fichier avant de passer le check en statut ATTENTION

Utilisé par $ARG3$ de la DFE  WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS.

WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-CRIT

l'Hôte

( Onglet Données )

48

Délai en heures écoulées depuis le dernier accès à un fichier avant de passer le check en statut CRITIQUE

Utilisé par $ARG4$ de la DFE  WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS.

Les données DFE ( Duplicate Foreach )

NomModifiable surValeur par défautDescriptionExemple
WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS

l'Hôte

( Onglet Données )

--
ValeurExplicationExemple
$KEY$ Nom utilisé pour garantir l'unicité des checks DFE générés. LOGS
$ARG1$Répertoire principal à analyser.
  • C:\shinken
$ARG2$

Filtre à appliquer sur ce répertoire. Il peut prendre deux formes différentes :

  • un pattern
  • une liste de noms de fichiers
  • *.log
  • [fichier1.log,fichier2.log] ou fichier1.log;fichier2.log
$ARG3$

Seuil à partir duquel le check passe en status ATTENTION .

Hérite de WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-WARN.

  • 24
$ARG4$

Seuil à partir duquel le check passe en status CRITIQUE

Hérite de WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-CRIT.

  • 48
$ARG5$

Active ou désactive la recherche récursive dans le répertoire principal. Il peut accepter 2 types de données :

  • un booléen
  • un nombre entier


  • true/false

    Note : À "true", le check analysera le répertoire et tous ses dossiers jusqu'à la profondeur maximale. 

  • (Le check analysera le répertoire et ses dossiers à une profondeur maximale de 3).
$ARG6$Active ou désactive la prise en compte des fichiers cachés.
  • true/false
  • Mode pattern :  
LOGS$(C:\shinken)$(*.log)$$(24)$$(48)$$(true)$$(true)$
  • Mode list :
LOGS$(C:\shinken)$([fichier1.log,fichier2.log])$$(24)$$(48)$$(true)$$(true)$


Données utilisées provenant du check

Pas de données provenant du check

Résultat

Exemple

Interprétation

Statut

  • Il peut prendre quatre valeurs OK / CRITIQUE / ATTENTION / INCONNU .

    • Le statut dépend du retour de sonde et de la configuration spécifique du check pour les données suivantes :

      • WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-WARN ou DFE position $ARG3$
      • WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-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
  • Au moins un fichier n'a pas été accédé depuis un délai dépassant la valeur de WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-WARN (ou DFE position $ARG3$)

ATTENTION

  • Au moins un fichier n'a pas été accédé depuis un délai dépassant la valeur de WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-CRIT (ou DFE position $ARG4$)

CRITIQUE

  • Aucun fichier ne correspond au filtre dans le répertoire ciblé

CRITIQUE

  • Mode liste — au moins un fichier attendu est absent du répertoire ciblé

CRITIQUE

Résultat

Selon le statut, une ou plusieurs lignes :

  • CRITIQUE : N fichier(s) non accédé(s) depuis la durée critique (≥ V heures).
  • ATTENTION : N fichier(s) non accédé(s) depuis la durée d'avertissement (≥ V heures).
  • OK : Tous les fichiers ont été accédés récemment.
  • Mode liste, si au moins un fichier manquant : ligne supplémentaire en tête N fichier(s) manquant(s).
  • 0 fichier trouvé (mode pattern) : Aucun fichier trouvé correspondant à '<filtre>' dans '<chemin>'.
  • UNKNOWN (host en mauvais état) si les mises à jour de LastAccessTime sont désactivées sur le host : LastAccessTime updates are disabled. Run fsutil behavior set disablelastaccess 0 to enable (NTFS perf impact). (cas par défaut sur tout Windows Server)

Le détail fichier par fichier est dans le résultat long.

Résultat Long

Affiche un tableau arborescent par sévérité (critique puis attention) avec pour chaque fichier dépassant un seuil le nombre d'heures écoulées depuis son dernier accès (ex : 168 H, accompagné de la date au format yyyy-MM-dd HH:mm).

En mode liste ($ARG2$ sous la forme [fichier1.log, fichier2.log, ...]), le résultat long est toujours émis :

  - Une table MISSING en tête si au moins un nom de la liste est absent du répertoire.
  - Puis, pour les fichiers présents, les tables critique/attention si des seuils sont dépassés.

Note : si les mises à jour de LastAccessTime sont désactivées sur le host (cas par défaut sur tout Windows Server), le check passe en UNKNOWN et aucun tableau n'est produit.

Métriques

Définition

NomUnitéDescriptionSeuil d'avertissementSeuil critique

files_accessed_elapsed_h_(NOM_FICHIER)

HRetourne le nombre d'heures écoulées depuis le dernier accès au fichier.WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-WARN (ou DFE position $ARG3$)WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-CRIT (ou DFE position $ARG4$)

Exemple

Erreurs et pré-requis

Files Matching $KEY$ LAST ACCESS by WinRM



MONITORED HOST - BAD STATE – LastAccessTime updates are disabled.



Résolution

Le check supervise la date de dernier accès aux fichiers via l'horodatage NTFS LastAccessTime. Si les mises à jour de cet horodatage sont désactivées sur l'hôte Windows, la valeur retournée par le système n'est plus fiable et le check passe en statut INCONNU.

Par défaut, les mises à jour de LastAccessTime sont :

  • Désactivées sur tous les Windows Server (2012 R2, 2016, 2019, 2022, 2025)
  • Activées sur Windows 10 build 2004+ et Windows 11

1. Vérifier l'état actuel sur l'hôte supervisé

fsutil behavior query disablelastaccess
  • 0x80000000 (0) ou 0x80000002 (2) → mises à jour activées
  • 0x80000001 (1) ou 0x80000003 (3) → mises à jour désactivées

2. Activer les mises à jour (commande à exécuter en administrateur sur l'hôte supervisé)

fsutil behavior set disablelastaccess 0

Impact performance NTFS : activer les mises à jour de LastAccessTime déclenche une écriture disque à chaque lecture de fichier. À tester avant activation, en particulier sur les serveurs accédant à un grand nombre de fichiers (file servers, environnements de build, partages applicatifs, etc.).

3. Alternative si l'activation n'est pas envisageable

  • Utiliser Files Matching [$KEY$] LAST ACCESS by WinRM.
  • Pour le check Files Matching [$KEY$] by WinRM : positionner les seuils $ARG10$ et $ARG11$ (ou les variables WINDOWS_BY_WINRM__FILES-MATCHING-LAST-ACCESS__NO-ACCESS-SINCE-HOURS-WARN / ...-CRIT) à NONE pour désactiver la dimension last_access.