Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Les bases de la supervision des fichiers

Avec Checkmk, vous pouvez effectuer la supervision du nombre, de la taille et de l'âge des fichiers, individuellement ou par groupes. Cette fonction peut être utilisée de nombreuses façons différentes, par exemple pour effectuer la supervision de l'efficacité des stratégies de sauvegarde : Certaines sauvegardes datent-elles de plus de X jours ? L'une des sauvegardes est-elle d'une taille suspecte, trop grande ou trop petite ? Vous pouvez également checker les serveurs de fichiers à l'échelle de l'entreprise pour voir si des utilisateurs les utilisent à mauvais escient comme espace de stockage privé pour des films, ou garder un œil sur les fichiers d'échange classiques ou les fichiers volatils tels que les conteneurs.

La procédure de base est conforme à la norme Checkmk : Un plugin/une configuration est installé(e) dans l’agent, ce qui permet d’intégrer les informations souhaitées sur les fichiers ou les groupes de fichiers dans la supervision. À ce stade, des jeux de règles correspondants sont utilisés pour déterminer quelles propriétés conduisent à quels statuts.

Le filtrage proprement dit, c'est-à-dire la détermination des données qui aboutissent effectivement dans la supervision, s'effectue au niveau de l'agent. Vous pouvez utiliser des modèles de globbing pour inclure de manière récursive les fichiers de répertoires entiers, par exemple, ou uniquement certains types de fichiers, voire des fichiers individuels. En utilisant des modèles de globbing tels que /myfiles/*.*, vous risquez d'obtenir des listes de fichiers extrêmement volumineuses, alors que vous ne vous intéressez peut-être qu'aux fichiers particulièrement anciens ou volumineux. De ce fait, il existe actuellement deux agents et deux jeux de règles de supervision associés : L'ancien fileinfo est déjà intégré à l'agent et filtre uniquement par modèle de globbing/chemin d'accès, tandis que le plus récent mk_filestats doit être installé séparément en tant que plugin et filtre selon d'autres propriétés.

Il existe d'autres différences entre mk_filestats et fileinfo, que nous expliquerons ci-dessous. La différence la plus importante réside toutefois dans le fait que mk_filestats ne peut effectuer la supervision que sur les ordinateurs hôtes Linux, tandis que fileinfo peut également effectuer la supervision sur les ordinateurs hôtes Windows. Pour les ordinateurs hôtes Linux, vous devriez généralement utiliser mk_filestats, qui est à jour.

2. Les différences entre mk_filestats et fileinfo

Si vous souhaitez consulter les jeux de règles des deux variantes côte à côte pour plus de clarté, il vous suffit de saisir « size age » dans le menu « Setup ». Les règles relatives aux fichiers individuels et aux groupes portent (pour la plupart) des noms identiques, mais les règles mk_filestats sont explicitement identifiées comme telles. Les deux variantes de règles de service sont également disponibles en tant que services appliqués.

Setup menu with mk_filestats and fileinfo entries.
Les règles fileinfo ne sont pas explicitement marquées comme telles

Des différences entre les deux variantes existent au niveau de l’agent et au niveau de service. Pour commencer, voici les différences théoriques de base. Vous trouverez des détails spécifiques plus loin dans les instructions relatives au plugin d’agent mk_filestats ainsi qu’à fileinfo de l’agent.

Dans le cas de l’agent, mk_filestats se distingue par deux options dont fileinfo est dépourvu : Tout d’abord, mk_filestats offre les options de filtrage supplémentaires déjà mentionnées, à savoir par taille de fichier, nombre et nom, ce dernier sous forme d’expressions régulières. Par exemple, avec un modèle de globbing de type /myfiles/*, vous pourriez n'inclure dans la supervision que les fichiers dont la taille est supérieure à 1 Ko et qui contiennent backup quelque part dans le nom de fichier. D'autre part, avec mk_filestats, les groupes de fichiers sont également spécifiés directement dans la configuration du plugin, simplement en créant plusieurs filtres, dont chacun se retrouve ensuite sous forme de section distincte dans la sortie de l'agent et qui peut ensuite être référencé par des règles via l'en-tête de section.

En ce qui concerne les règles de supervision des services, les approches utilisées par mk_filestats et fileinfo diffèrent davantage dans les détails. Les deux permettent de limiter les évaluations à des périodes de temps spécifiques, mais seul fileinfo autorise la spécification explicite de plages horaires quotidiennes directement dans la règle. De plus, fileinfo est le seul à pouvoir configurer ce que l'on appelle des « conjunctions » pour les groupes de fichiers. Cela associe un ensemble de conditions à chaque statut, par exemple : « Le statut passe à CRIT dès que le fichier le plus ancien du groupe a exactement 5 heures et que le fichier le plus petit a exactement 8 mégaoctets. » À son tour, pour les groupes de fichiers, mk_filestats offre la possibilité de définir des cas particuliers : Supposons qu’un groupe de fichiers doive passer à « CRIT » dès que la taille du groupe dépasse 2 gigaoctets. Cependant, si le groupe ne doit pas passer à « CRIT » lorsqu’un seul fichier dépasse à lui seul 1 gigaoctet (comme un fichier temporaire), vous pouvez définir cela comme un cas particulier, en remplaçant la règle du groupe au cas par cas.

Aperçu des différences :

Fonctionnalité mk_filestats fileinfo

Systèmes d'exploitation pris en charge

Linux

Linux et Windows

Agent

Plugin d'agent

Inclus dans l'agent

Filtre

Filtres directement dans l'agent pour les modèles de globbing et les propriétés

Filtres dans l'agent uniquement pour les modèles de globbing

Listes de fichiers

Fournit des listes de fichiers allégées

Fournit des listes de fichiers parfois détaillées

Regroupement de fichiers

Regroupe directement dans l'agent

Regroupe via un jeu de règles de supervision distinct

Affichage des fichiers

Afficher les fichiers dans les détails du service (facultatif)

Toujours afficher les fichiers dans les détails du service

Évaluation des fichiers

Possibilité de prendre en compte les valeurs aberrantes dans les fichiers

Peut prendre en compte les relations entre les fichiers

Dans les chapitres suivants, vous découvrirez ces deux fonctions individuellement à travers des exemples pratiques ; les différences et les fonctionnalités décrites devraient alors apparaître plus clairement. mk_filestats fournit également des informations détaillées via l'appel filestats.py --help.

3. Supervision des fichiers avec mk_filestats (Linux)

L'exemple suivant illustre la procédure pour des groupes de fichiers. Pour les fichiers individuels, la procédure est identique, mais les options sont moins nombreuses. Supposons que vous souhaitiez effectuer la supervision d'un groupe d'un certain nombre de fichiers de sauvegarde (mybackup_01.zip, etc.) et que ces fichiers ne doivent pas descendre en dessous d'une taille minimale ; vous pouvez alors procéder comme suit :

3.1. Configuration de la règle pour le plugin d'agent

Configuration via la boulangerie d’agents

CEE Dans les éditions commerciales, appelez d'abord la règle pour le plugin d'agent Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Count, size and age of files - mk_filestats (Linux). Sous « Section name », attribuez un nom arbitraire, qui apparaîtra plus tard dans la sortie de l'agent sous forme de section indépendante.

Sous « Globbing pattern for input files », vous spécifiez ensuite les fichiers à soumettre à la supervision. Vous pouvez utiliser des modèles de globbing, c'est-à-dire des spécifications de chemin d'accès aux fichiers comportant des caractères de remplacement. À ce stade, nous souhaitons utiliser une spécification de chemin d'accès absolu qui inclut tous les fichiers du dossier spécifié.

Un filtrage supplémentaire est effectué par les deux options suivantes : « Filter files by matching regular expression » inclut les fichiers selon un modèle spécifié, dans cet exemple les fichiers dont le nom contient « my » quelque part, et « Filter files by not matching regular expression », qui exclut ensuite les fichiers, ici ceux se terminant par « tmp ».

Form to configure the agent plug-in mk_filestats.
Veuillez prêter attention à la distinction entre les globs et les expressions régulières.

La configuration est maintenant terminée et vous pouvez distribuer le plugin, y compris sa configuration, via la boulangerie d’agents.

Configuration manuelle

CRE Dans CRE Checkmk Community, vous configurez le plugin comme d’habitude à l’aide d’un fichier texte : en tant qu’utilisateur de l’instance, vous trouverez un exemple de configuration dans le fichier share/check_mk/agents/cfg_examples/filestats.cfg. Une configuration conforme aux spécifications ci-dessus se présente alors comme suit :

/etc/check_mk/filestats.cfg
[myfiles]
input_patterns: /media/evo/myfiles/
filter_regex: .*my.*
filter_regex_inverse: tmp$

La configuration est maintenant terminée et vous pouvez installer le plugin d'agent manuellement.

Données dans la sortie de l'agent

Vous trouverez ensuite le résultat de votre configuration sous forme de données brutes dans la sortie de l'agent :

mysite-myhost-agent.txt
<<<filestats:sep(0)>>>
[[[file_stats myfiles]]]
{'type': 'file', 'path': '/media/evo/myfiles/mybackup_01.zip', 'stat_status': 'ok', 'size': 13146562, 'age': 339080, 'mtime': 1633966263}
{'type': 'file', 'path': '/media/evo/myfiles/mybackup_02.zip', 'stat_status': 'ok', 'size': 13145766, 'age': 325141, 'mtime': 1633980202}
{'type': 'file', 'path': '/media/evo/myfiles/mybackup_03.zip', 'stat_status': 'ok', 'size': 13151050, 'age': 325352, 'mtime': 1633979991}
...

3.2. Configuration de la règle de service

La supervision a désormais accès aux données des fichiers via l'agent de supervision. Pour l'évaluation, appelez la règle Setup > Services > Service monitoring rules > Size, age and count of file groups (mk_filestats). Dans notre exemple, nous souhaitons être avertis dès qu'un nombre spécifié de fichiers est dépassé ou n'est pas atteint. Cela s'effectue à l'aide des options Minimal file count et Maximal file count, qui servent à définir les limites supérieure et inférieure. Toutes les autres options minimum-maximum fonctionnent de manière analogue.

Form with upper and lower limits for file monitoring.
Partie 1/3 : OK il y a ici exclusivement 7 ou 8 fichiers

Mais quel fichier génère alors, par exemple, un statut « CRIT » ? L'option Show files in service details vous aide ici : Si celle-ci est activée, vous verrez une liste des fichiers concernés dans la vue de la table du service.

Specifying to show individual files in service details.
Partie 2/3 : Cette option offre de la transparence, mais peut également générer des listes très longues

Il se peut que le nombre de fichiers soit correct, mais qu’il y ait également des valeurs aberrantes, par exemple en ce qui concerne leur taille. Pour de telles exceptions, vous pouvez utiliser l’option « Additional rules for outliers » : Cela spécifie, par exemple, que pour les fichiers de moins de 5 mégaoctets, le statut « WARN » est défini, et que pour ceux de moins de 1 mégaoctet, le service passe à « CRIT ». Cela peut être utile pour être averti de sauvegardes potentiellement défectueuses, par exemple.

Specifying outliers in the monitored files.
Partie 3/3 : les fichiers doivent avoir une taille d'au moins 5 Mo, sinon un avertissement sera émis

Dans la case « Conditions », vous pouvez désormais spécifier que la règle s'applique exclusivement au groupe de fichiers « myfiles » configuré dans le plugin d'agent : Pour ce faire, saisissez le nom que vous avez attribué dans le plugin d'agent sous « Section name » comme « File Group Name ».

Filter on files in the myfiles group.
File Group Name correspond àSection Name dans la règle du plugin

Cela achève également la règle de service. Vous pouvez également, si vous le souhaitez, limiter l'évaluation à une seule période de temps. Une fois cette opération terminée, ajoutez le nouveau service aux ordinateurs hôtes concernés et activez les modifications comme d'habitude.

3.3. mk_filestats dans la supervision

Vous pouvez ensuite consulter l'évaluation à partir de la supervision dans les listes et, bien sûr, dans les détails. En plus des paramètres du service, vous pourrez désormais voir les fichiers responsables des statuts « WARN » ou « CRIT ».

Service details in monitoring for the WARN status.
Les fichiers responsables du statut sont révélés par mk_filestats dans la supervision

Toutefois, la prudence est de mise avec l'option Afficher les fichiers dans les détails du service : Si de nombreux fichiers ont été à l'origine d'un changement de statut, ils seront tous répertoriés, ce qui peut entraîner des listes longues et des problèmes de performances et d'affichage associés.

Service details in monitoring for CRIT status.
Des expressions régulières imprécises peuvent générer des listes très longues

4. Supervision des fichiers avec fileinfo (Linux, Windows)

La supervision des fichiers avec fileinfo est fondamentalement identique à celle avec mk_filestats ; la procédure est donc un peu raccourcie ici, mais elle s'applique une fois encore à des groupes de fichiers.

4.1. Configuration de la règle pour l'agent

Configuration de la boulangerie d’agents

CEE La configuration de l'agent dans les éditions commerciales sous Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Count, size and age of files (Linux, Windows) est beaucoup plus simple : Ici, vous définissez uniquement le chemin d'accès au fichier sous la forme d'un modèle de globbing. Cela pose également le problème du transfert de listes de fichiers extrêmement longues, ce qui peut ralentir sensiblement la supervision. De plus, un service distinct est créé par défaut pour chaque fichier trouvé, ce qui ne peut être évité qu'en formant des groupes de service.

Rule for fileinfo with filtering on the Windows path.
Supervision de tous les fichiers dans ce répertoire précis

Inclure tous les sous-répertoires : Sur les ordinateurs hôtes Windows uniquement, vous pouvez utiliser ce que l'on appelle le « globstar » (deux astérisques consécutifs) pour inclure tous les fichiers de tous les sous-répertoires. Cependant, utilisez cette option avec prudence. Une configuration imprudente entraîne soit un nombre de services à six chiffres, soit un timeout lors de l'identification du service.

Rule for fileinfo with filtering on the Windows path and all subdirectories.
Supervision de tous les fichiers de ce répertoire et de tous ses sous-répertoires

Date supplémentaire : Sur les ordinateurs hôtes Linux, vous avez la possibilité de filtrer par date : Dans le modèle de globbing, vous pouvez utiliser la variable d'$DATE pour n'inclure que les fichiers dont les noms contiennent la date du jour. Le format de cette variable est le même que celui du programme Linux date.

Rule for fileinfo with filtering by date variable.
Sous Linux, les fichiers dont le nom contient une horodatage ne peuvent être adressés que de manière explicite

Une spécification telle que /backups/mybackup_*_$DATE:%Y%m%d$ permettrait donc — à la date d'aujourd'hui, le 22/10/2021 — de trouver des fichiers tels que mybackup_01_20211022 et mybackup_foobar_20211022 :

File in the monitoring, filtered by the date in the file name.
Pour les fichiers de sauvegarde, les horodatages et une vérification quotidienne sont utiles

Vous trouverez plus d’informations directement sur la page de la règle ainsi que dans l’aide en ligne correspondante.

La configuration est maintenant terminée et vous pouvez déployer le plugin, y compris sa configuration, via la boulangerie d’agents.

Configuration manuelle

CRE Dans CRE Checkmk Community avec fileinfo, vous devez également effectuer la configuration à l'aide de fichiers, qui varient en fonction du système d'exploitation :

Linux : le fichier de configuration est fileinfo.cfg :

/etc/check_mk/fileinfo.cfg
C:\myfiles\*
/myfiles/*
/media/evo/test_$DATE:%Y%m%d$

Windows : le fichier de configuration est check_mk.user.yml :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
fileinfo:
  enabled: yes
  path:
  - c:\myfiles\*
  - c:\myotherfiles\**
Copier le contenu du fichier dans le presse-papiers
Le contenu du fichier a été copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Sur les ordinateurs hôtes Windows uniquement, vous pouvez utiliser ce que l'on appelle le « globstar » (deux astérisques consécutifs) pour inclure tous les fichiers de tous les sous-répertoires. Cependant, utilisez cette option avec prudence. Une C:\** imprudente entraîne soit un nombre de services à 6 chiffres, soit un timeout pendant l'identification du service.

La configuration est maintenant terminée et vous pouvez installer manuellement le plugin sous Linux ou sous Windows.

Données dans la sortie de l'agent

Vous trouverez ensuite le résultat de votre configuration sous forme de données brutes dans la sortie de l'agent, en commençant par l'en-tête de section fileinfo:

mysite-mywindowshost-agent_output.txt
<<<fileinfo:sep(124)>>>
1743070736
C:\myfiles\myfile01|30219|1724242936
C:\myfiles\myfile02|30219|1724242936
C:\myfiles\myfile03|1337|1741368907
C:\myotherfiles\myotherfile01|1900|1743070353
C:\myotherfiles\myotherfile02|728|1743070370
C:\myotherfiles\myotherfile03|1023120|1743070389
C:\myotherfiles\mysubdirectory\myfileinasubdirectory|14114|1743070321

Voici un exemple de sortie qui pourrait correspondre au fichier de configuration pour un ordinateur hôte Windows indiqué ci-dessus.

4.2. Configuration de la règle de service

Dans un deuxième temps, la règle de service Setup > Services > Service monitoring rules > Size, age and count of file groups est à nouveau configurée. Les options minimum-maximum correspondent à celles de mk_filestats, mais les options permettant d’afficher les noms de fichiers concernés dans les détails du service et celles relatives aux valeurs aberrantes ne sont pas présentes ici. Deux options supplémentaires sont disponibles à cet effet : Tout d’abord, vous pouvez saisir directement une période de temps via Add time range — en dehors de cette période de temps, le service aura toujours le statut « OK ».

D'autre part, la puissante fonctionnalité « Level conjunctions » est disponible : Cela vous permet de définir une série de conditions pour chacun des quatre états : « OK », « WARN », « CRIT » et « UNKNOWN ». Par exemple, vous pourriez spécifier que le service passe à « CRIT » si…​

  • il y a exactement 7 fichiers

  • le fichier le plus petit fait moins de 10 mégaoctets,

  • le fichier le plus ancien date de moins de 5 jours

Specifying conditions for files monitored with fileinfo.
Level conjunctions autoriser également la définition d’exceptions explicites

Et là encore, vous pouvez limiter cette règle au groupe d’myfiless souhaité en saisissant File Group Name dans la case « Conditions ».

Contrairement à mk_filestats, la formation du groupe n’a lieu que lors de la supervision via la règle de service Setup > Services > Service monitoring rules > File grouping patterns. Vous garantissez l’affectation en saisissant également l’myfiles du groupe sous Group name.

Les modèles pour les fichiers à inclure et à exclure ne sont pas spécifiés ici par défaut via des expressions régulières, mais uniquement via le globbing. Toutefois, si vous ajoutez un tilde (~) au début, vous pouvez également utiliser des expressions régulières ici.

Filtering of files in the group myfiles.
Les champs de saisie ne se comportent pas toujours de la même manière — l'aide en ligne fournit toujours des détails supplémentaires

Date supplémentaire : là encore, l'utilisation de la variable $DATE est possible. Vous pouvez également utiliser $YESTERDAY pour le filtrage, ce qui soustrait simplement un jour de $DATE. Comme toujours, vous trouverez plus d'informations à ce sujet dans l'aide en ligne.

4.3. fileinfo dans la supervision

Dans la supervision, la vue du groupe fileinfo n'est pas très différente de celle du groupe mk_filestats. Cependant, fileinfo répertorie toujours explicitement tous les fichiers concernés, qu'ils soient responsables d'un changement d'état ou non. Dans l'exemple ci-dessous, vous pouvez voir les deux fichiers yourfile avec 0 mégaoctet, qui n'a aucun effet sur l'état, et yourfile_2.exe avec ses près de 11 mégaoctets, qui déclenche ainsi l'état CRIT :

A fileinfo group in monitoring.
yourfile est affiché par fileinfo, bien qu’il ne soit pas à l’origine du changement de statut

Tous les fichiers transmis à la supervision par fileinfo et qui ne sont pas affectés à un groupe de service restent des services individuels :

Single files as separate services in monitoring.
Avec fileinfo, des modèles de globbing imprécis peuvent générer des listes gigantesques

Cette liste même montre pourquoi il est si important d’être précis quant aux filtres dans fileinfo : Par exemple, si C:\ était spécifié ici sans aucune restriction, il y aurait par la suite plusieurs centaines de milliers de services individuels dans la supervision.

5. Dépannage

5.1. Aucun fichier ou trop de fichiers dans la supervision

Que vous utilisiez mk_filestats ou fileinfo, l'absence de fichiers ou même un nombre trop élevé d'entrées dans la supervision est souvent due à des filtres incorrects. Il existe deux causes principales à cela : un conflit entre un modèle de globbing et une expression régulière, ou une configuration incorrecte. Par exemple, l'astérisque se comporte différemment dans les deux variantes : En globbing, * sert de caractère de remplacement pour un nombre quelconque de caractères arbitraires, tandis que dans une expression régulière, il représente une ou plusieurs occurrences du caractère qui le précède. Afin de saisir n'importe quel caractère en quantité illimitée via une expression régulière, vous devrez utiliser .* en conséquence.

6. Fichiers et répertoires

Comme toujours, tous les chemins d'accès aux fichiers du serveur Checkmk sont relatifs au répertoire d'instances (par exemple /omd/sites/mysite).

6.1. mk_filestats

Emplacement Chemin d'accès Contenu

Serveur Checkmk

~/share/check_mk/agents/cfg_examples/filestats.cfg

Exemple de fichier de configuration

Serveur Checkmk

~/share/check_mk/agents/plugins/mk_filestats.py

Plugin d'agent Python 3 avec explications

Serveur Checkmk

~/share/check_mk/agents/plugins/mk_filestats_2.py

Plugin d'agent Python 2 avec explications

Ordinateur hôte Linux

/etc/check_mk/filestats.cfg

Fichier de configuration – créé par la boulangerie d’agents ou manuellement

6.2. fileinfo

Emplacement Chemin d'accès au fichier Contenu

serveur Checkmk

~/share/check_mk/agents/cfg_examples/fileinfo.cfg

Exemple de fichier de configuration

Ordinateur hôte Linux

/etc/check_mk/fileinfo.cfg

Fichier de configuration – créé par la boulangerie d’agents ou manuellement

Ordinateur hôte Windows

C:\ProgramData\checkmk\agent\bakery\check_mk.bakery.yml

Fichier de configuration - créé par la boulangerie d’agents

Ordinateur hôte Windows

C:\ProgramData\checkmk\agent\check_mk.user.yml

Fichier de configuration - créé manuellement


Last modified: Tue, 19 Aug 2025 12:03:40 GMT via commit f16bb5a82
Sur cette page