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. L'agent Windows

Depuis ses débuts, la supervision des serveurs Windows a toujours été l’une des tâches les plus importantes assurées par Checkmk. Comme pour tous les autres systèmes d’exploitation serveur, Checkmk propose donc également son propre agent pour Windows, un programme de l’agent à la fois minimaliste et sécurisé.

Avec la sortie de la version 2.1.0 de Checkmk, un nouveau composant, l’Agent Controller, a été ajouté à ce programme de l'agent. L’Agent Controller se situe en amont du programme de l'agent, l’interroge et communique avec le serveur Checkmk à la place de ce dernier. Pour ce faire, l’Agent Controller s’enregistre auprès de l’Agent Receiver, un processus qui s’exécute sur le serveur Checkmk.

Ainsi, d’une part, l’agent Windows prend le relais du programme de l'agent, et donc de ses avantages. D’autre part, il complète le programme afin de permettre l’ajout de nouvelles fonctionnalités, telles que le chiffrement TLS de la communication ou la compression des données.

Le mode Pull enregistré, chiffré et compressé avec l’Agent Controller est disponible pour toutes les éditions de Checkmk — à condition que le serveur Checkmk et l’agent Checkmk disposent au minimum de la version 2.1.0. Le mode Push est disponible dans Checkmk Ultimate CSE. L’inversion du sens de communication facilite la supervision des ordinateurs hôtes situés derrière des pare-feu. Le mode Push est généralement associé à l’enregistrement automatique de l’agent Checkmk, également disponible dans Checkmk Ultimate.

Tip

Les paquets d'agent utilisant la configuration par défaut ouvrent le port 6556 immédiatement après l'installation. Ils transmettront des données d'agent non chiffrées via ce port à toute personne qui en fait la demande. Pour les ordinateurs hôtes accessibles depuis l'internet, vous devez donc vous assurer, avant l'installation, via les paramètres du pare-feu, que seuls les ordinateurs hôtes sélectionnés sont autorisés à accéder à ce port. Effectuez l'enregistrement et l'activation associée du chiffrement TLS sans délai après l'installation.

Pour des raisons de compatibilité, l'agent ne prend en charge que les versions actuelles de la gamme de produits Microsoft Windows NT (édition). Vous trouverez la liste exacte de ces versions dans l'article « Configuration système requise ».

Important : les autres éditions de Windows ne sont pas officiellement prises en charge. Cela inclut notamment Windows Embedded, par exemple. Toutefois, pour la supervision d’anciennes versions de Windows, telles que Windows Server 2008, vous pouvez utiliser un agent hérité à vos propres risques. Les agents hérités sont des agents issus d’anciennes versions de Checkmk ne disposant pas de l’Agent Controller. Cela signifie bien sûr que les fonctionnalités étendues de l’Agent Controller, telles que le chiffrement TLS ou la compression, ne seront pas disponibles. Les agents hérités sont disponibles au téléchargement ici. Pour les agents hérités, certaines exigences particulières doivent être prises en compte ; celles-ci sont résumées dans le chapitre consacré à l’installation.

L'installation, l'enregistrement et la configuration de l'agent s'effectuent en quelques étapes seulement, car l'agent ne nécessite par exemple aucune bibliothèque supplémentaire pour fonctionner. De plus, l'agent est livré avec une configuration de base suffisante pour la plupart des applications.

2. Architecture de l'agent

L'agent Checkmk se compose du programme de l'agent et de l'Agent Controller, qui communique avec l'Agent Receiver sur le serveur Checkmk. Veuillez consulter l'article général sur les agents de supervision pour plus de détails sur les architectures courantes de l'agent Linux et de l'agent Windows. Ce chapitre traite spécifiquement de l'implémentation Windows.

Le programme de l'agent check_mk_agent.exe est chargé de la collection des données de supervision. Le programme est lancé en tant que service Windows sous le compte LocalSystem. Il collecte des données sur le système local lorsqu'il est appelé et les met à la disposition de l'Agent Controller.

Le programme de l'agent est minimaliste, sécurisé, facilement extensible et complet, et donne accès à des données importantes qui ne sont pas accessibles via WMI ou SNMP. Dans certains cas, cependant, une supervision via SNMP en complément de l'agent Checkmk peut s'avérer utile. Consultez l'article sur la supervision avec SNMP pour en savoir plus sur ce thème. De plus, le programme de l'agent est aussi transparent qu'un fichier fourni sous forme d'exécutable peut l'être, car vous avez accès au code source à tout moment et donc un aperçu de ses fonctionnalités, et pouvez en principe également compiler l'agent vous-même.

L'Agent Controller cmk-agent-ctl.exe est le composant de l'agent chargé de transporter les données collectées par le programme de l'agent. Il s'exécute en tant que processus d'arrière-plan sous le compte Windows LocalSystem. En mode Pull, il écoute sur le port TCP 6556 les connexions entrantes provenant de l'instance Checkmk et interroge le programme de l'agent via un mécanisme de communication entre processus spécifique à Windows appelé Mailslot.

3. Installation

Checkmk propose plusieurs méthodes d'installation de l'agent Windows, allant de l'installation manuelle du logiciel au déploiement entièrement automatisé, y compris sa fonction de mise à jour. Certaines de ces méthodes d'installation ne sont disponibles que dans les éditions commerciales :

Méthode Description Checkmk Community Éditions commerciales

Package MSI fourni

Installation simple d'un agent standard avec configuration manuelle via des fichiers de configuration.

X

X

Package MSI provenant de la boulangerie d’agents

Configuration via l'interface graphique ; une configuration individuelle par ordinateur hôte est possible.

X

Mises à jour automatiques

Le package de la boulangerie d’agents est installé une première fois manuellement ou via un script, puis sera mis à jour automatiquement par la suite.

X

Vous pouvez également distribuer le package MSI par d'autres chemins d'accès, tels que Microsoft Active Directory. L'installation peut être entièrement automatisée ici grâce au format MSI.

3.1. Téléchargement d'un package MSI

Vous installez l'agent Windows en installant le package MSI.

Avant l'installation, vous devez récupérer le paquet et le transférer sur l'ordinateur hôte sur lequel l'agent sera exécuté (par exemple avec scp ou WinSCP).

Obtenir un package via l'interface graphique Checkmk

Dans la communauté Checkmk sur CRE, vous trouverez le package Windows de l’agent via Setup > Agents > Windows. Dans les éditions commerciales, accédez d’abord à la boulangerie d’agents dans le menu « Setup » via Agents > Windows, Linux, Solaris, AIX, où vous trouverez les packages prêts à l’emploi. De là, l’entrée « Related > Windows files » vous mènera à la liste des fichiers de l’agent :

Download page with the MSI package.
Vous trouverez le package MSI sur la page de téléchargement

Tout ce dont vous avez besoin se trouve directement dans la première case intitulée «Packaged Agents» : le fichier de package MSI prêt à l'emploi «check_mk_agent.msi» pour installer l'agent Windows avec ses paramètres par défaut.

Obtenir un paquet via l'API REST

L'API REST de Checkmk propose les méthodes suivantes pour télécharger les paquets d'agent depuis le serveur Checkmk :

  • Téléchargement de l'agent fourni.

  • Téléchargement d’un agent préparé individuellement en fonction du nom de domaine et du système d’exploitation.

  • Téléchargement d'un agent préparé individuellement en fonction du hachage de l'agent et du système d'exploitation.

Via l'API REST, vous avez la possibilité de récupérer le paquet directement depuis le serveur Checkmk vers la machine cible.

Par exemple, le paquet MSI contenant l'agent Windows peut être récupéré à l'aide de l'instruction suivante : `curl`. Dans les versions récentes de Windows, `curl` est déjà inclus ; dans les versions plus anciennes, vous devrez d'abord installer séparément l'environnement d'instruction `curl` via `curl` pour Windows.

C:\Users\hhirsch\Downloads\> curl.exe -OJG "http://mycmkserver/mysite/check_mk/api/1.0/domain-types/agent/actions/download/invoke" ^
--header "Accept: application/octet-stream" ^
--header "Authorization: Bearer automation myautomationsecret" ^
--data-urlencode "os_type=windows_msi"
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Remarque : l’instruction ci-dessus a été divisée en quatre lignes pour plus de lisibilité.

Il s'agit simplement d'un exemple simple visant à illustrer le fonctionnement de cette ressource API REST particulière pour le téléchargement de l'agent.

Pour plus de détails sur cette ressource et d'autres ressources de l'API REST, consultez la documentation de l'API disponible dans Checkmk via Help > Developer resources > REST API documentation.

La manière la plus simple de télécharger l'agent par défaut consiste à télécharger directement le fichier :

C:\Users\hhirsch\Downloads\> curl.exe -OG http://mycmkserver/mysite/check_mk/agents/windows/check_mk_agent.msi
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

3.2. Installation du paquet

Installation manuelle

Après avoir récupéré le paquet MSI et, si nécessaire, l'avoir copié sur l'ordinateur hôte à surveiller à l'aide d'scp, de WinSCP ou d'un autre moyen, lancez l'installation soit en double-cliquant sur le fichier MSI, soit à partir de la ligne de commande comme suit :

C:\Users\hhirsch\Downloads\> check_mk_agent.msi
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

La page d'accueil de l'assistant de configuration s'affiche :

Start page of the Setup wizard.
L'installation commence par un message de bienvenue

Utilisez les boutons «Next» pour parcourir les pages de l'assistant. Acceptez les conditions de licence de l'GNU GENERAL PUBLIC LICENSE pour continuer. L'assistant de configuration vous présentera alors la page suivante :

Setup Wizard page on how to proceed when updating an old agent.
Options d'installation de l'agent

Les choix proposés sur cette page ne vous concernent que si un agent Windows est déjà installé sur l'ordinateur hôte et qu'il est antérieur à la version 1.6.0. Dans la version 1.6.0, l'architecture de l'agent Windows a été profondément modifiée. Si vous effectuez une mise à jour (ou une migration) vers l'agent actuel à partir d'un agent Windows antérieur à la version 1.6.0, veuillez d'abord consulter le chapitre consacré à l'ancien agent dans le guide de l'utilisateur Checkmk pour la version 2.0.0. Vous y découvrirez laquelle des options proposées vous devez sélectionner dans ce cas particulier de mise à jour.

Dans tous les autres cas, nous vous recommandons de sélectionner l'option « Clean installation. ».

Confirmez le lancement de l'installation, puis autorisez le programme d'installation à effectuer les modifications (dans le dialogue « User Account Control »). Une fois l'opération terminée, vous pouvez quitter l'assistant de configuration.

Une fois l'installation terminée, l'agent démarre immédiatement en tant que service Windows et est prêt à effectuer la supervision du système.

Installation sans assistance

Via la ligne de commande, Windows offre aux administrateurs la possibilité d'installer automatiquement des packages MSI sans intervention de l'utilisateur. Une installation automatisée peut alors se présenter comme suit, par exemple :

C:\Users\hhirsch\Downloads\> msiexec /i check_mk_agent.msi /qn
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Dans ce cas, l'agent est installé (/i) sans intervention de l'utilisateur ni interface utilisateur (/qn) et est également démarré immédiatement en tant que service Windows. Cette méthode est donc idéale pour distribuer automatiquement l'agent sur de nombreux ordinateurs hôtes.

Vous pouvez également utiliser cette méthode pour sélectionner les trois options qui vous ont été proposées lors de l'installation manuelle dans l'assistant de Configuration. Pour chaque option, il existe un identifiant que vous pouvez utiliser pour l'instruction d'installation :

Option dans l'assistant de configuration Identifiant

Clean installation.

WIXUI_CLEANINSTALL

Remove Legacy Windows Agent (pre 1.6) if present.

WIXUI_REMOVELEGACY

Migrate from Legacy Windows Agent (pre 1.6) configuration if present.

WIXUI_MIGRATELEGACY

Pour activer une option, ajoutez son identifiant suivi du signe « égal » :

C:\Users\hhirsch\Downloads\> msiexec /i check_mk_agent.msi /qn WIXUI_CLEANINSTALL=
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Pour désactiver explicitement une option, vous devez ajouter deux guillemets supplémentaires après le signe égal :

C:\Users\hhirsch\Downloads\> msiexec /i check_mk_agent.msi /qn WIXUI_MIGRATELEGACY=""
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

3.3. Installation à l'aide de la boulangerie d’agents

CEE Les éditions commerciales disposent d'un module logiciel, la boulangerie d’agents, permettant de créer automatiquement des agents personnalisés. Vous trouverez une description détaillée de ce module dans l'article général consacré aux agents. L'installation du package MSI généré s'effectue de la même manière que celle décrite ci-dessus pour le package inclus.

Dans Checkmk Ultimate, vous pouvez en outre utiliser la boulangerie d’agents pour doter les paquets d'agents d'une configuration d'enregistrement automatique, ce qui facilite la création automatique d'ordinateurs hôtes. Dans ce cas, l'enregistrement de l'agent s'effectue automatiquement une fois le paquet d'agent installé, et l'enregistrement manuel, tel que décrit dans le chapitre suivant, n'est plus nécessaire.

3.4. Mises à jour automatiques

CEE Si vous utilisez la boulangerie d’agents, vous pouvez également configurer les mises à jour automatiques de l’agent. Ces mises à jour sont décrites dans un article dédié.

3.5. Fichiers de configuration de l'agent

Lors d'une installation, le package MSI stocke les fichiers spécifiques au programme dans C:\Program Files (x86)\checkmk\service\ et les fichiers spécifiques à l'ordinateur hôte dans C:\ProgramData\checkmk\agent\. Vous n'avez pas besoin de personnaliser les fichiers spécifiques au programme. Les fichiers spécifiques à l'ordinateur hôte servent à stocker les plugins, les fichiers journaux et de configuration, ainsi qu'à configurer le comportement de l'agent.

Remarque : par défaut, l'intégralité du répertoire C:\ProgramData est masquée sous Windows.

L'agent lit trois fichiers de configuration à la suite :

  1. C:\Program Files (x86)\checkmk\service\check_mk.yml
    est le fichier de configuration par défaut, que vous ne devez pas modifier.

  2. C:\ProgramData\checkmk\agent\bakery\check_mk.bakery.yml
    est créé par la boulangerie d’agents et ne doit pas être modifié manuellement.

  3. C:\ProgramData\checkmk\agent\check_mk.user.yml
    est votre fichier de configuration dans lequel vous pouvez effectuer manuellement des ajustements personnalisés pour tester un paramètre ou une extension sur un ordinateur hôte.

Si une option a été définie dans plusieurs fichiers, c'est le dernier fichier lu qui détermine la valeur de cette option. Pour les interventions manuelles sur l'agent, seul le dernier fichier de configuration check_mk.user.yaml est donc pertinent, car il est lu en dernier et a donc le dernier mot. Si la boulangerie d’agents n'est pas utilisée, c'est en fait le seul fichier dans lequel des personnalisations de la configuration de l'agent peuvent être effectuées.

Comme vous l'avez peut-être déjà remarqué d'après l'extension des fichiers de configuration, le format de fichier utilisé est YAML.

3.6. Que se passe-t-il après l'installation ?

Après l'installation de l'agent, y compris l'Agent Controller, l'étape suivante est l'enregistrement, qui configure le chiffrement TLS afin que les données chiffrées de l'agent puissent être déchiffrées par le serveur Checkmk et affichées dans la supervision.

Une particularité existe lorsque l’agent a été installé avec l’Agent Controller pour la première fois. Dans ce cas, l’agent bascule vers le mode legacy pull non chiffré, afin que le serveur Checkmk ne soit pas privé des données de supervision et puisse continuer à les afficher. Cela s’applique aussi bien à une nouvelle installation qu’à une mise à jour d’un agent de version 2.0.0 et antérieure.

Voici à quoi cela ressemblera dans la supervision :

The WARN state of the 'Check_MK' service due to missing encryption.
Avertissement dans la supervision Checkmk indiquant que le protocole TLS n’est pas encore utilisé

Le site Checkmk détecte, à partir de la sortie de l'agent, que l'Agent Controller est présent et que le chiffrement TLS est donc possible — mais pas encore activé. Le service Check_MK Agent passe à l'état « WARN » et y reste jusqu'à ce que vous l'enregistriez. Après l'enregistrement, seul le mode Pull chiffré sera utilisé pour la communication. Le mode legacy Pull est désactivé et le restera. Il peut toutefois être réactivé par instruction si nécessaire.

La situation sera différente si vous utilisez un agent hérité sur un système Windows très ancien. Sans l’Agent Controller, l’enregistrement n’est pas possible. Ainsi, pour les agents hérités, les seules sections pertinentes du chapitre Enregistrement concernent l’ajout de l’ordinateur hôte à la Configuration, puis à la supervision. Dans le chapitre « Test et dépannage », vous devez omettre le test d'appel de l'Agent Controller, car celui-ci n'est pas disponible pour un agent hérité. Comme il n'y a pas non plus de chiffrement TLS sans l'Agent Controller, vous devrez utiliser d'autres méthodes de chiffrement si nécessaire. Dans ce cas, nous vous recommandons d'utiliser le chiffrement intégré (symétrique) via la règle « Symmetric encryption (Linux, Windows) ».

Remarque : dans le jeu de règles « Checkmk Agent installation auditing », vous trouverez divers paramètres permettant de vérifier l'état de l'agent et de le rendre visible dans la supervision. Vous pouvez notamment y spécifier l'état que doit présenter le service « Check_MK Agent » si la configuration TLS n'a pas encore été effectuée.

4. Inscription

4.1. Aperçu et conditions préalables

Immédiatement après l'installation de l'agent (ou lors de la mise à jour d'un agent de version 2.0.0 ou antérieure), seules les communications non chiffrées sont possibles en mode legacy pull. Une transmission de données exclusivement chiffrée ne peut être activée qu'une fois qu'une relation de confiance a été établie.

Les paquets préconfigurés pour l'enregistrement automatique et téléchargés via la boulangerie d’agents constituent une exception à cette règle. Ces paquets effectuent l'enregistrement automatiquement après l'installation.

Dans tous les autres cas, vous devez effectuer l'enregistrement manuellement immédiatement après l'installation de l'agent. Ce chapitre explique comment procéder à l'enregistrement.

L'enregistrement, et donc l'établissement de la relation de confiance mutuelle, s'effectue sous un utilisateur Checkmk disposant d'un accès à l'API REST. Pour cela, l'utilisateur de l'automatisation agent_registration constitue un bon choix : il dispose uniquement de l'autorisation d'enregistrer des agents et est créé automatiquement lors de chaque installation de Checkmk. Vous pouvez générer aléatoirement le mot de passe d'automatisation correspondant (secret d'automatisation) à l'aide de l'icône « Icon for rolling the dice. ». Vous devez enregistrer l'utilisateur avant de pouvoir utiliser le nouveau mot de passe.

Remarque : comme il n'y a pas d'Agent Controller, et donc pas de registre ni de chiffrement TLS, sur les très anciens systèmes Windows, vous devrez utiliser d'autres méthodes de chiffrement si nécessaire. Dans ce cas, nous vous recommandons d'utiliser le chiffrement intégré (symétrique) via la règle Symmetric encryption (Linux, Windows).

4.2. Ajout d'un ordinateur hôte à la Configuration

Commencez par créer le nouvel ordinateur hôte via Setup > Hosts > Add host. Un ordinateur hôte doit exister dans l'environnement de configuration avant de pouvoir être enregistré.

Dans Checkmk Ultimate, vous trouverez l'option « Checkmk agent connection mode » dans les propriétés de l'ordinateur hôte, dans la section consacrée aux agents de supervision. Vous pouvez y activer le mode Push pour l'agent Checkmk, en remplacement du mode Pull, disponible dans toutes les éditions.

4.3. Enregistrement d'un ordinateur hôte auprès du serveur

L'enregistrement s'effectue à l'aide de l'Agent Controller cmk-agent-ctl , qui fournit une interface de commande pour configurer les connexions. Vous pouvez afficher l'aide relative aux instructions avec cmk-agent-ctl help , ainsi que pour des sous-commandes spécifiques disponibles, par exemple avec cmk-agent-ctl help register.

Le fait que l'ordinateur hôte soit configuré en mode Pull ou en mode Push n'a aucune incidence sur les exemples d'instruction. L'Agent Receiver indique à l'Agent Controller le mode dans lequel il doit fonctionner lors de l'enregistrement.

Accédez maintenant à l'ordinateur hôte à enregistrer. Vous devez ici envoyer une requête à l'instance Checkmk avec des droits d'administrateur :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^
    register ^
    --hostname mynewhost ^
    --server cmkserver --site mysite ^
    --user agent_registration --password "PTEGDYXBFXVGNDPRL"
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Le nom de domaine suivant l'option --hostname doit être exactement le même que celui utilisé lors de sa création dans la Configuration. Les options --server et --site spécifient le nom du serveur Checkmk et du site. Le nom du serveur peut également être l'adresse IP ; le nom du site (ici mysite) correspond à celui que vous voyez dans le chemin d'accès de l'interface web. Ces options sont complétées par le nom et le mot de passe utilisés par l'utilisateur de l'automatisation. Si vous omettez l'option --password, le mot de passe vous sera demandé de manière interactive.

Attention, piège pour les imprudents : si vous administrez principalement des machines Unix, vous avez l'habitude d'encadrer les chemins d'accès ou les paramètres contenant des espaces ou des caractères spéciaux entre des guillemets simples (apostrophes, 0x27). Windows interprète ce caractère comme faisant partie de l'appel — dans ce cas, le mot de passe — et l'enregistrement échouera. Utilisez plutôt des guillemets doubles (0x22).

Si les valeurs spécifiées sont correctes, il vous sera demandé de confirmer l'identité de l'instance Checkmk à laquelle vous souhaitez vous connecter. Pour plus de clarté, nous avons abrégé le certificat du serveur à confirmer :

Attempting to register at cmkserver:8000/mysite. Server certificate details:

PEM-encoded certificate:
---BEGIN CERTIFICATE---
MIIC6zCCAdOgAwIBAgIUXbSE8FXQfmFqoRNhG9NpHhlRJ40wDQYJKoZIhvcNAQEL
[...]
nS+9hN5ILfRI+wkdrQLC0vkHVYY8hGIEq+xTpG/Pxw==
---END CERTIFICATE---

Issued by:
	Site 'mysite' local CA
Issued to:
	localhost
Validity:
	From Thu, 10 Feb 2022 15:13:22 +0000
	To   Tue, 13 Jun 3020 15:13:22 +0000

Do you want to establish this connection? [Y/n]
> Y

Confirmez en cliquant sur « Y » pour terminer le processus.

Si aucun message d'erreur ne s'affiche, la connexion cryptée aura été établie. Toutes les données seront désormais transmises sous forme compressée via cette connexion.

Si vous souhaitez désactiver la vérification interactive du certificat — par exemple pour automatiser entièrement l'enregistrement —, vous pouvez utiliser le paramètre supplémentaire --trust-cert. Dans ce cas, le certificat transféré sera automatiquement considéré comme fiable. N'oubliez pas que vous devez prendre d'autres mesures pour vérifier l'intégrité du certificat. Cela peut être effectué (manuellement ou via un script) en inspectant le fichier C:\ProgramData\checkmk\agent\registered_connections.json.

4.4. Enregistrement automatique d’un ordinateur hôte auprès du serveur

Checkmk Ultimate offre la possibilité de créer automatiquement des ordinateurs hôtes lors de l'enregistrement. Pour un tel enregistrement automatique, outre un utilisateur disposant des autorisations nécessaires pour enregistrer des ordinateurs hôtes, vous devez disposer d'au moins un dossier configuré pour contenir les ordinateurs hôtes qui doivent être créés automatiquement.

Si ces conditions sont remplies, vous pouvez également effectuer l'enregistrement, y compris la création automatique d'ordinateurs hôtes, via la ligne de commande.

En général, vous utiliserez la procédure de configuration de la boulangerie d’agents, qui inclut le fichier de configuration C:\ProgramData\checkmk\agent\pre_configured_connections.json dans le paquet de l'agent et qui effectue l'enregistrement automatiquement lors de l'installation. L'instruction de ligne de commande présentée ici est donc principalement utilisée à des fins de test et de débogage, par exemple pour essayer vos propres étiquettes de l'agent avec l'option --agent-labels <KEY=VALUE>.

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^
    register-new ^
    --server cmkserver --site mysite ^
    --agent-labels testhost:true ^
    --user agent_registration --password "PTEGDYXBFXVGNDPRL"
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

La principale différence réside ici dans la sous-commande register-new modifiée, qui sert à demander l'enregistrement et la création d'un nouvel ordinateur hôte dans l'instance Checkmk. Le nom de l'ordinateur hôte est celui stocké dans la variable d'environnement %COMPUTERNAME%. La confirmation du certificat qui s'ensuit est identique à celle présentée dans la section précédente.

Le fait que l'ordinateur hôte soit créé en mode Pull, en mode Push ou pas du tout est défini par vos paramètres dans le jeu de règles Agent registration. Une fois l'enregistrement réussi, plusieurs minutes peuvent s'écouler avant que l'ordinateur hôte n'apparaisse dans la supervision.

4.5. Vérification de la relation de confiance

L'instruction cmk-agent-ctl status affiche désormais exactement une relation de confiance avec le serveur Checkmk :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" status
Connection: 12.34.56.78:8000/mysite
	UUID: d38e7e53-9f0b-4f11-bbcf-d196deadbeef
	Local:
		Connection type: pull-agent
		Certificate issuer: Site 'mysite' local CA
		Certificate validity: Mon, 21 Feb 2022 11:23:57 +0000 - Sat, 24 Jun 3020 11:23:57 +0000
	Remote:
		Connection type: pull-agent
		Host name: mynewhost
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si vous avez besoin de ces informations dans un format lisible par machine, ajoutez le paramètre supplémentaire --json pour récupérer la sortie au format JSON.

Remarque : il ne peut y avoir qu’une seule relation de confiance entre un hôte et un site. Par exemple, si vous enregistrez un hôte déjà enregistré mynewhost sous un nom différent (mynewhost2) mais avec la même adresse IP, la nouvelle connexion remplacera alors celle qui existe déjà. La connexion entre mynewhost et l’instance sera interrompue et aucune donnée d’agent ne sera plus fournie à l’hôte à des fins de supervision.

4.6. Enregistrement par proxy

Pour faciliter l'enregistrement de plusieurs ordinateurs hôtes, tout ordinateur hôte sur lequel l'agent est installé peut effectuer un enregistrement au nom d'autres ordinateurs hôtes. Le processus d'enregistrement exporte un fichier JSON, qui peut ensuite être transféré vers l'ordinateur hôte cible et y être importé. Là encore, comme précédemment, l'ordinateur hôte enregistré dans la tâche doit déjà être configuré sur le site.

Tout d'abord, sur n'importe quel ordinateur hôte de la Configuration, l'enregistrement est effectué par procuration. Ici, bien sûr, le serveur Checkmk s'avère très pratique, car il est généralement le premier ordinateur hôte à être configuré. Comme dans l'exemple ci-dessus, vous pouvez transmettre le mot de passe via l'option ou être invité à le saisir de manière interactive si vous omettez l'option --password. Dans l'exemple, nous redirigeons la sortie JSON vers un fichier :

root@linux# cmk-agent-ctl proxy-register \
    --hostname mynewhost3 \
    --server cmkserver --site mysite \
    --user agent_registration > /tmp/mynewhost3.json
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Nous transférons ensuite le fichier /tmp/mynewhost3.json vers l'ordinateur hôte que nous avons enregistré et importons ce fichier :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^
    import %TEMP%\mynewhost3.json
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

4.7. Ajout de l'ordinateur hôte à la supervision

Une fois l'enregistrement terminé, effectuez un test de connexion et une reconnaissance du service dans la configuration du serveur Checkmk. Enfin, incluez les services découverts dans la supervision en activant les modifications.

Si le test de connexion échoue, consultez le chapitre suivant pour obtenir des informations sur les tests et le dépannage.

4.8. Désenregistrer un ordinateur hôte

Vous pouvez également désenregistrer un ordinateur hôte.

Sur un ordinateur hôte connecté au serveur Checkmk, vous pouvez révoquer la confiance. Ici, dans l'instruction suivante, l'identifiant unique universel (UUID) à spécifier est celui généré par la commande `cmk-agent-ctl status` :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^
    delete d38e7e53-9f0b-4f11-bbcf-d196deadbeef
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Pour supprimer toutes les connexions de l'ordinateur hôte et rétablir en outre le mode legacy pull, entrez l'instruction suivante :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^
    delete-all --enable-insecure-connections
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Par la suite, l'agent se comportera comme lors de l'installation initiale et avant le premier enregistrement, et enverra ses données en clair.

Terminez la désinscription sur le serveur Checkmk : Dans la configuration, sur la page « Properties of host », sélectionnez l'entrée « Host > Remove TLS registration » et confirmez l'invite.

Si vous préférez utiliser la ligne de commande : Sur le serveur Checkmk, pour chaque connexion d'un ordinateur hôte sous supervision, il existe un lien symbolique avec l'UUID qui pointe vers le dossier contenant la sortie de l'agent :

OMD[mysite]:~$ cd ~/var/agent-receiver/received-outputs
OMD[mysite]:~/var/agent-receiver/received-outputs$ ls -l d38e7e53-9f0b-4f11-bbcf-d19617971595
lrwxrwxrwx 1 mysite mysite 67 Feb 23 07:18 d38e7e53-9f0b-4f11-bbcf-d19617971595 -> /omd/sites/mysite/tmp/check_mk/data_source_cache/push-agent/mynewhost
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

4.9. Basculer entre les modes Push et Pull

Dans Checkmk Ultimate CSE, vous pouvez faire passer les ordinateurs hôtes du mode Push au mode Pull et inversement. Cela peut s’avérer nécessaire dans certains cas particuliers si des modifications de la topologie du réseau sont en attente, ou si une mise à niveau vers Checkmk Pro CSE — où seul le mode Pull est possible — doit être effectuée.

Commencez par définir le mode d’accès dans la configuration, dans les propriétés de l’ordinateur hôte, à l’aide de l’option « Checkmk agent connection mode ». Dans la minute qui suit, tous les services passeront au statut « UNKNOWN » (Inconnu) car aucune donnée de supervision n’est reçue. Effectuez ensuite un nouvel enregistrement. Au cours de ce réenregistrement, l’Agent Receiver du serveur Checkmk indique à l’Agent Controller s’il attend des données en mode Pull ou mode Push. Une check ultérieure à l'aide de cmk-agent-ctl status affichera alors un nouvel UUID et un mode correspondant à la modification effectuée dans la Configuration.

5. Tests et dépannage

Un système modulaire peut ne pas fonctionner comme prévu dans de nombreuses situations. Étant donné que l’agent utilise deux composants, à savoir l’Agent Controller (sur l’ordinateur hôte) et l’Agent Receiver (sur le serveur Checkmk), les points de défaillance potentiels sont nombreux. Lors du dépannage, il est donc recommandé d’adopter une approche structurée. Vous pouvez bien sûr également utiliser l’analyse étape par étape décrite ici pour mieux comprendre la collecte de données et la communication assurées par Checkmk.

Toutes les options de diagnostic disponibles côté serveur Checkmk sont décrites dans l’article général sur les agents de supervision. Mais, bien sûr, d’autres diagnostics sont disponibles lorsque vous vous connectez directement à l’ordinateur hôte lui-même.

Dans les sections suivantes, nous passerons du programme de l’agent à l’Agent Controller et au port TCP 6556, puis à l’instance Checkmk. Lorsque l’Agent Controller est en mode Push, ignorez tout test sur le port 6556 — même si le port 6556 est ouvert avant l’enregistrement, il sera fermé après un enregistrement en mode Push. Dans la plupart des cas, après avoir corrigé une erreur, vous pouvez redémarrer la reconnaissance du service et finaliser l'intégration dans la supervision.

5.1. Check de la configuration

Pour vérifier que la configuration a été lue comme prévu, appelez le programme de l'agent avec l'option showconfig. Avec cette option, vous obtiendrez non seulement la configuration telle qu'elle est actuellement utilisée par l'agent, mais en outre, les variables d'environnement ainsi que les fichiers de configuration utilisés seront toujours affichés.

Si seule une partie de la configuration vous intéresse, vous pouvez limiter la sortie à cette partie spécifique. Ici, par exemple, on checke si les options de la section ps ont été correctement définies :

C:\Windows\system32> "C:/Program Files (x86)/checkmk/service/check_mk_agent.exe" showconfig ps
# Environment Variables:
# MK_LOCALDIR="C:\ProgramData\checkmk\agent\local"
# MK_STATEDIR="C:\ProgramData\checkmk\agent\state"
# MK_PLUGINSDIR="C:\ProgramData\checkmk\agent\plugins"
# MK_TEMPDIR="C:\ProgramData\checkmk\agent\tmp"
# MK_LOGDIR="C:\ProgramData\checkmk\agent\log"
# MK_CONFDIR="C:\ProgramData\checkmk\agent\config"
# MK_SPOOLDIR="C:\ProgramData\checkmk\agent\spool"
# MK_INSTALLDIR="C:\ProgramData\checkmk\agent\install"
# MK_MSI_PATH="C:\ProgramData\checkmk\agent\update"
# Loaded Config Files:
# system: 'C:\Program Files (x86)\checkmk\service\check_mk.yml'
# bakery: 'C:\ProgramData\checkmk\agent\bakery'
# user : 'C:\ProgramData\checkmk\agent\check_mk.user.yml'

# ps
enabled: yes
use_wmi: yes
full_path: no
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Vous obtenez ainsi un aperçu rapide de la manière dont les trois fichiers de configuration différents ont été fusionnés et utilisés par le programme de l'agent. Les erreurs seront immédiatement visibles.

5.2. Environnement réseau pour l'enregistrement

Si l'enregistrement d'un ordinateur hôte échoue avant même qu'un certificat ne soit présenté, la connaissance des méthodes de communication peut aider à identifier le problème — et bien sûr à le résoudre.

Une fois l’instruction « cmk-agent-ctl register » saisie, l’Agent Controller demande d’abord au serveur Checkmk le port de l’Agent Receiver à l’aide de l’API REST. Dans un deuxième temps, une connexion à l’Agent Receiver est établie pour demander le certificat. Vous pouvez simuler la première requête sur l’ordinateur hôte à l’aide d’un programme tel que curl :

C:\Windows\system32> curl.exe -v --insecure https://mycmkserver/mysite/check_mk/api/1.0/domain-types/internal/actions/discover-receiver/invoke
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Le paramètre --insecure indique à curl d’ignorer la vérification du certificat. Ce comportement reflète celui de l’Agent Controller à cette étape. La réponse ne comporte que quelques octets et contient le numéro de port de l’Agent Receiver. Pour la première instance, il s’agit généralement de 8000, pour la deuxième de 8001, et ainsi de suite.

Les problèmes courants liés à cette requête sont les suivants :

  • Le serveur Checkmk est inaccessible depuis l'ordinateur hôte

  • Le port utilisé par l'API REST diffère des ports par défaut 443 (https) ou 80 (http)

Si la requête ci-dessus échoue, vous pouvez modifier les paramètres de routage ou de pare-feu pour permettre l'accès.

Si l'ordinateur hôte que vous essayez d'enregistrer utilise un proxy HTTP, curl l'utilisera, mais cmk-agent-ctl ne le fera pas avec la configuration par défaut. Utilisez l'option supplémentaire --detect-proxy pour indiquer à cmk-agent-ctl d'utiliser un proxy configuré via les paramètres système.

Cependant, il est souvent plus simple d'identifier le port de l'Agent Receiver et de le noter. Pour ce faire, sur le serveur Checkmk, après vous être connecté en tant qu'utilisateur de l'instance, exécutez :

OMD[mysite]:~$ omd config show | grep AGENT_RECEIVER
AGENT_RECEIVER: on
AGENT_RECEIVER_PORT: 8000
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Vous pouvez désormais spécifier le port lors de la saisie de l'instruction d'enregistrement. Cela permet d'éviter la première requête vers l'API REST. La communication s'effectue alors directement avec l'Agent Receiver, sans détours :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^
    register ^
    --hostname mynewhost ^
    --server cmkserver:8000 --site mysite ^
    --user agent_registration --password PTEGDYXBFXVGNDPRL
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Le port 8000 doit également être accessible depuis l'ordinateur hôte. Si ce n'est pas le cas, vous obtiendrez ce message d'erreur :

ERROR [cmk_agent_ctl] Connection refused (os error 111)

À l'instar du port 443 (ou 80) mentionné ci-dessus, vous pouvez désormais ajuster les paramètres de routage ou de pare-feu afin que l'ordinateur hôte puisse atteindre le serveur Checkmk sur le port de l'Agent Receiver (8000 ou 8001…​)

Dans le cas d'un enregistrement en mode Push, les règles suivantes s'appliquent : Si l'enregistrement a fonctionné, le transfert minute par minute de la sortie de l'agent sera également réussi.

Si les directives de sécurité interdisent l'accès à l'Agent Receiver, il est toujours possible d'utiliser l'enregistrement par proxy sur le serveur Checkmk.

5.3. L'Agent Controller en mode dump

Étant donné que le programme de l'agent doit être exécuté sous le compte LocalSystem afin de transmettre exactement les données qui parviennent à la supervision, vous ne devez jamais le lancer dans un shell. Si vous souhaitez examiner la sortie de l'agent localement, utilisez l'Agent Controller en mode dump (sous-commande dump). Cela lance le programme de l'agent avec l'environnement correct et sous l'ID utilisateur approprié, puis affiche le résultat.

La sortie pouvant être assez longue, le paginateur « more » s'avère très pratique dans ce cas. Vous pouvez quitter ce mode à l'aide de la touche Q :

C:\Windows\system32> "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" dump | more
<<<check_mk>>>
Version: 2.4.0p16
BuildDate: Mar 14 2023
AgentOS: windows
Hostname: DESKTOP-QVPV284
Architecture: 64bit
WorkingDirectory: C:\Windows\system32
ConfigFile: C:\Program Files (x86)\checkmk\service\check_mk.yml
LocalConfigFile: C:\ProgramData\checkmk\agent\check_mk.user.yml
AgentDirectory: C:\Program Files (x86)\checkmk\service
PluginsDirectory: C:\ProgramData\checkmk\agent\plugins
StateDirectory: C:\ProgramData\checkmk\agent\state
ConfigDirectory: C:\ProgramData\checkmk\agent\config
TempDirectory: C:\ProgramData\checkmk\agent\tmp
LogDirectory: C:\ProgramData\checkmk\agent\log
SpoolDirectory: C:\ProgramData\checkmk\agent\spool
LocalDirectory: C:\ProgramData\checkmk\agent\local
OnlyFrom:
<<<cmk_agent_ctl_status:sep(0)>>>
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Cela vous permet de vérifier que les données provenant du programme de l'agent sont bien parvenues au Agent Controller. Cette sortie ne prouve pas encore que l'agent est également accessible via le réseau.

5.4. Test de connexion à distance

Si, en mode Pull, il a été vérifié que le programme de l'agent et ses plugins installés s'exécutent correctement, vous pouvez ensuite vérifier via netcat (ou nc) si le port 6556 est accessible via l'adresse IP externe de l'ordinateur hôte :

OMD[mysite]:~$ echo | nc 10.76.23.189 6556
16
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

La sortie 16 indique si la connexion a été établie avec succès et si la négociation TLS peut désormais avoir lieu. Étant donné que tout le reste est ici chiffré par TLS, aucune vérification plus détaillée n'est possible.

Si la communication entre l'agent et le serveur Checkmk n'est toujours pas chiffrée (comme en mode legacy pull) ou si elle est et reste non chiffrée (comme dans le cas d'un agent hérité), vous obtiendrez la sortie complète non chiffrée de l'agent avec cette instruction au lieu de l'16.

Pour effectuer d'autres diagnostics sur le serveur Checkmk, consultez l'article général sur les agents de supervision. Vous pouvez notamment effectuer un test de connexion à l'aide de l'interface Checkmk. Le résultat s'affichera dans la zone « Agent: ».

Error message of an unreachable agent during connection test.
Erreur lors d'un test de connexion à l'agent

Si vous n'obtenez aucune information ou uniquement un message d'erreur de timeout lors du test de connexion, comme dans l'exemple ci-dessus, vous devez vérifier la configuration du pare-feu Windows sur l'ordinateur hôte.

5.5. Pare-feu Windows

L'agent crée déjà une règle dans le pare-feu Windows lors de son installation, afin que l'Agent Controller soit accessible depuis l'extérieur via le port 6556. Lorsque vous utilisez le mode Push, il n'est généralement pas nécessaire de modifier ses paramètres. Si vous utilisez une configuration de pare-feu très stricte, les règles sortantes pour les connexions au serveur de supervision doivent être configurées de manière à ce qu’au moins le port 8000 (pour faciliter l’enregistrement, ainsi que le 80 ou le 443) soit accessible.

Dans les versions actuelles de Windows, vous pouvez accéder à l'Windows Defender Firewall with Advanced Securityr via les Paramètres Windows (Settings > Windows Security) ou le lancer en exécutant l'instruction wf.msc depuis la ligne de commande :

Entry of the Checkmk agent for Windows Firewall.
Pare-feu Windows avec la règle entrante pour l'agent Checkmk

Si vous ne trouvez pas cette entrée dans les paramètres du Pare-feu Windows, vous pouvez l'ajouter à cet emplacement précis. Pour ce faire, cliquez sur « New Rule » dans le menu « Action ».

Cela ouvre un assistant permettant de créer une nouvelle règle de pare-feu. Définissez les cinq options comme suit :

Rule Type

Laissez la sélection sur « Program ».

Program

Saisissez This program path %ALLUSERSPROFILE%\checkmk\agent\bin\cmk-agent-ctl.exe ou utilisez le bouton Browse pour sélectionner cmk-agent-ctl.exe.

Action

Allow the connection.

Profile

Ce point dépend fortement de la configuration de votre réseau. Cependant, dans la plupart des cas, il est recommandé de n'activer ici que Domain et Private.

Name

Donnez à la règle un nom concis et court.

Vous pouvez également automatiser cette étape et définir la règle directement à partir de la ligne de commande. Modifiez l'instruction suivante en fonction de votre chemin d'accès personnalisé si nécessaire :

C:\Windows\System32> netsh advfirewall firewall add rule name="Checkmk Agent" ^
description="Allow inbound network traffic to the Checkmk Agent" dir=in localport=6556 protocol=tcp action=allow ^
program="%ALLUSERSPROFILE%\checkmk\agent\bin\cmk-agent-ctl.exe" ^
profile=private,domain enable=yes
OK.
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Remarque : l’instruction a été divisée en quatre lignes pour plus de lisibilité.

5.6. Dépannage de l'agent en mode Push

Dans le dossier « ~/var/agent-receiver/received-outputs/ » de votre instance Checkmk, vous trouverez, pour chaque ordinateur hôte enregistré, un lien symbolique dont le nom correspond à l’UUID de l’ordinateur hôte. Pour les ordinateurs hôtes en mode Push, ce lien symbolique pointe vers le dossier contenant la sortie de l’agent Checkmk ; pour les ordinateurs hôtes en mode Pull, il pointe vers un fichier inexistant portant le nom de l’ordinateur hôte tel qu’il est utilisé dans la supervision.

En fonction de l'ancienneté de la sortie de l'agent mis en cache, vous pouvez déterminer si la transmission régulière a abouti ou si elle est interrompue, par exemple par des problèmes réseau sporadiques.

De plus, vous pouvez consulter le fichier journal C:\ProgramData\checkmk\agent\log\check_mk sur l'ordinateur hôte (les chemins d'accès peuvent être configurés différemment). Des lignes telles que celles-ci indiquent des problèmes de connexion :

Dez 15 17:59:49 myhost23 cmk-agent-ctl[652648]: WARN [cmk_agent_ctl::modes::push] https://mycmkserver:8000/mysite: Error pushing agent output.

5.7. Les connexions sont perdues

Si un ordinateur hôte a été configuré pour l'enregistrement automatique avec le jeu de règles Agent controller auto-registration et que l'option Keep existing connections est définie sur no, chaque fois que le service cmk-agent-ctl-daemon est redémarré (par exemple, lors du redémarrage d'un ordinateur hôte), toutes les autres connexions seront supprimées — à l'exception de la connexion configurée pour l'enregistrement automatique. Cela affecte, par exemple, les ordinateurs hôtes sur lesquels des connexions vers plusieurs instances ont été configurées avant l'installation du paquet d'agent précompilé, ou sur lesquels des connexions ont été ajoutées manuellement après l'installation du paquet d'agent.

Vous pouvez temporairement contourner ce comportement en définissant la variable keep_existing_connections sur true dans le fichier C:\ProgramData\checkmk\agent\pre_configured_connections.json sur l’ordinateur hôte. Vous pouvez obtenir une modification permanente lors d’une mise à jour du paquet d’agent en définissant Keep existing connections sur yes dans le jeu de règles ci-dessus.

5.8. Délai avant que les modifications ne soient visibles

Lors de l'enregistrement automatique d'un ordinateur hôte, il faut généralement compter environ deux minutes avant que l'ordinateur hôte n'apparaisse dans la supervision.

6. Sécurité

6.1. Considérations préliminaires

La sécurité est un critère important pour tout logiciel, et la supervision ne fait pas exception. Étant donné que l’agent de supervision est installé sur chaque serveur surveillé, un problème de sécurité aurait ici des conséquences particulièrement graves.

C'est pourquoi la sécurité a été mise en avant lors de la conception de Checkmk et constitue un principe absolu depuis les tout débuts de Checkmk : l'agent ne lit pas les données du réseau. Point final. Cela signifie qu'il est impossible pour un attaquant d'injecter des instructions ou des composants de script via le port de supervision 6556.

6.2. Transport Layer Security (TLS)

Pour un attaquant, cependant, même une liste de processus peut constituer un premier indice permettant de tirer des conclusions sur des cibles intéressantes. Par conséquent, le chiffrement de la couche de transport entre l’agent et le serveur Checkmk à l’aide du protocole Transport Layer Security (TLS) est obligatoire. Ici, le serveur Checkmk « ping » l’ordinateur hôte, qui établit alors la connexion TLS avec le serveur Checkmk et transmet la sortie de l’agent par ce biais. Étant donné que seuls les serveurs Checkmk avec lesquels une relation de confiance existe peuvent initier ce transfert de données, il n’y a aucun risque que les données tombent entre de mauvaises mains.

Pour sécuriser la connexion TLS, Checkmk utilise un certificat auto-signé qui est automatiquement remplacé peu avant l'expiration de sa validité. L'Agent Controller se charge du renouvellement du certificat à temps avant son expiration. Seuls les agents qui sont restés inactifs pendant une longue période, c'est-à-dire sans Agent Controller en cours d'exécution, peuvent perdre leur enregistrement à l'expiration et doivent alors être réenregistrés. La durée de vie du certificat peut être spécifiée via le paramètre global « Agent Certificates > Lifetime of certificates ».

Remarque : Étant donné qu’il n’y a pas d’Agent Controller, et donc pas de registre ni de chiffrement TLS, sur les très anciens systèmes Windows, vous devrez choisir d’autres méthodes de chiffrement si nécessaire. Dans ce cas, nous vous recommandons d’utiliser le chiffrement intégré (symétrique) via la règle Symmetric encryption (Linux, Windows).

6.3. Restriction de l'accès via les adresses IP

La restriction de l'accès à des adresses IP spécifiques peut également être configurée via le pare-feu. Cependant, l'agent lui-même offre également la possibilité d'ignorer simplement les requêtes provenant d'adresses IP étrangères. Il suffit d'ajouter la restriction suivante au fichier de configuration dans les options globales. Notez qu'il peut y avoir d'autres paramètres définis dans le fichier de configuration avant ou après celui-ci et qu'il ne s'agit ici que d'un extrait :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
global:
  only_from: 127.0.0.1/32 192.168.42.0/24
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Comme vous pouvez le voir dans l'exemple, vous pouvez autoriser un nombre illimité de sous-réseaux. Par exemple, avec /32, vous spécifiez un sous-réseau de taille 1, de sorte que seule cette adresse soit autorisée, tandis qu'avec 192.168.42.0/24, vous autorisez toutes les adresses comprises entre 192.168.42.0 et 192.168.42.255.

CEE Dans la boulangerie d’agents, vous pouvez configurer les adresses IP autorisées à l’aide du jeu de règles suivant : Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Allowed agent access via IP address (Linux, Windows) .

6.4. Désactivation du chiffrement intégré

En particulier lors de la mise à jour de l'agent, il se peut que le chiffrement intégré (symétrique) soit actif, lequel est effectué par le programme de l'agent lui-même. Si le chiffrement TLS et le chiffrement intégré sont actifs simultanément, l’entropie des données transmises est si élevée que la compression, active à partir de la version 2.1.0, ne permettra pas de réduire le volume des données transmises — et imposera aux processeurs de l’ordinateur hôte et du serveur Checkmk des processus de chiffrement et de déchiffrement supplémentaires.

C'est pourquoi vous devez désactiver le chiffrement intégré dès que possible après être passé à TLS.

Dans un premier temps, désactivez le chiffrement dans la règle existante sous Setup > Agents > Access to agents > Checkmk agent > Symmetric encryption (Linux, Windows).

Dans un deuxième temps, sur l'ordinateur hôte de l'agent, dans le fichier de configuration C:\ProgramData\checkmk\agent\check_mk.user.yml, remplacez la valeur du paramètre encrypted par no :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
global:
  encrypted: no
  passphrase: D0e5NotMat7erAnym0r3
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

À la troisième et dernière étape, utilisez la règle « Enforce agent data encryption » pour spécifier que le serveur Checkmk n'accepte que les données chiffrées via TLS. Pour ce faire, sélectionnez la valeur « Accept TLS encrypted connections only » dans la règle.

CEE La désactivation du chiffrement avec la boulangerie d’agents se déroule comme suit : Avec la première étape, qui consiste à modifier la règle « Symmetric encryption (Linux, Windows) », vous avez presque terminé. Il ne vous reste plus qu’à créer et à distribuer de nouveaux agents. Le fichier de configuration C:\ProgramData\checkmk\agent\check_mk.user.yml sera automatiquement modifié pour vous et inclus dans les paquets d’agents. Il ne reste plus que la troisième étape, à savoir la modification de la règle « Enforce agent data encryption ».

Après la prochaine mise à jour automatique de l'agent, le chiffrement du programme de l'agent sera désactivé, mais le chiffrement sera assuré par l'Agent Controller. Veuillez noter qu'après la mise à jour automatique de l'agent, seuls les ordinateurs hôtes enregistrés pourront fournir des données de supervision.

7. Désactivation des sections

La sortie de l'agent Checkmk est divisée en sections. Chacune de ces sections contient des informations connexes. Les sections commencent toujours par un en-tête de section. Il s'agit d'une ligne encadrée par <<< et >>>.

À l'exception des sections propres à Checkmk, vous pouvez désactiver individuellement n'importe laquelle des plus de 30 sections générées par défaut par l'agent. Concrètement, cela signifie que les instructions correspondantes ne seront pas exécutées par l'agent, ce qui peut permettre de gagner du temps de calcul. D'autres raisons peuvent vous pousser à désactiver une section, par exemple si vous n'êtes tout simplement pas intéressé par certaines informations provenant d'un groupe d'ordinateurs hôtes donné, ou si un ordinateur hôte particulier fournit des valeurs erronées et que vous souhaitez interrompre temporairement la récupération de ces données.

En tant qu'utilisateur de l'une des éditions commerciales, il vous suffit de créer une règle via Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Disabled sections (Windows agent), qui sera ensuite prise en compte par la boulangerie d’agents.

List of agent rules for the windows agent.
Ici, vous pouvez désactiver des sections par règle

Remarque : l'image ci-dessus montre qu'il existe également une règle opposée Enabled sections (Windows agent) à Disabled sections (Windows agent), ce qui signifie que vous pouvez utiliser la liste « positive » comme alternative à la liste « négative ». Toutefois, pour conserver un aperçu clair, nous vous recommandons de n'utiliser qu'une seule des deux règles.

Dans la règle Disabled sections (Windows agent), vous trouverez une case à cocher distincte pour chaque section pouvant être désactivée. Pour les cases cochées, vous trouverez alors — une fois que l’agent nouvellement généré aura été installé sur les ordinateurs hôtes sélectionnés — dans le fichier de configuration de la boulangerie d’agents C:\ProgramData\checkmk\agent\bakery\check_mk.bakery.yml ci-dessous global: une ligne disabled_sections: répertoriant les sections sélectionnées.

Par exemple, si vous sélectionniez à la fois System uptime et Web Services, le fichier de configuration correspondant ressemblerait à ceci :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
global:
    disabled_sections: [uptime, wmi_webservices]
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é !

Les utilisateurs de la communauté Checkmk CRE peuvent créer manuellement une entrée dans le fichier de configuration C:\ProgramData\checkmk\agent\check_mk.user.yml et y indiquer les sections à désactiver. Toutes les sections pouvant être désactivées sont répertoriées dans ce fichier, sous global:, dans la section _sections:.

8. Extension de l'agent à l'aide de plugins

8.1. Que sont les plugins d'agent ?

Le programme de l'agent check_mk_agent.exe contient un ensemble complet de sections qui fournissent des données de supervision pour divers plugins de supervision, lesquels sont ensuite automatiquement détectés par la reconnaissance du service. Cela inclut toutes les surveillances importantes du système d'exploitation.

De plus, il est possible d’étendre l’agent à l’aide de plugins d’agent. Il s’agit de petits scripts ou programmes appelés par l’agent qui l’étendent avec des sections supplémentaires contenant des données de supervision complémentaires. Le projet Checkmk fournit un certain nombre de ces plugins qui, s’ils sont correctement installés et configurés, fournissent automatiquement de nouveaux services dans la reconnaissance du service.

Pourquoi ces plugins ne sont-ils pas simplement intégrés en dur dans l’agent ? Pour chacun des plugins, l’une des raisons suivantes s’applique :

  • Le plugin ne peut récupérer ses données que via des interfaces internes que l'agent ne fournit pas (exemple : PowerShell).

  • Le plugin nécessite de toute façon une configuration, sans laquelle il ne fonctionnerait pas (exemple : mk_oracle.ps1).

  • Le plugin est si spécifique qu’il n’est pas nécessaire à la plupart des utilisateurs (exemple : citrix_licenses.vbs).

8.2. Installation manuelle

Les plug-ins inclus pour Windows se trouvent tous sur l’ordinateur hôte surveillé, dans le répertoire d’installation de l’agent, sous C:\Program Files (x86)\checkmk\service\plugins. Ils y sont stockés afin d’être directement disponibles. Les plug-ins pour Windows se trouvent également sur le serveur Checkmk, sous ~/share/check_mk/agents/windows/plugins.

Ils sont également disponibles depuis la page de téléchargement de l’agent dans le menu de configuration (comme décrit dans le chapitre Installation) dans la case Plugins :

Download page with agent plug-ins.
Début de la liste des plugins d'agent disponibles

Pour tous les plugins d'agent que nous fournissons, il existe des plugins de supervision correspondants qui peuvent évaluer leurs données et générer des services. Ceux-ci sont déjà installés, de sorte que les nouveaux services détectés sont immédiatement reconnus et peuvent être configurés.

Remarque : avant d'installer un plugin sur l'ordinateur hôte, consultez le fichier correspondant. Vous y trouverez souvent des informations importantes concernant l'utilisation correcte du plugin.

L'installation proprement dite est ensuite simple : Copiez le fichier dans C:\ProgramData\checkmk\agent\plugins.

Une fois que le plugin se trouve dans le répertoire approprié, il sera automatiquement appelé par l’agent et une nouvelle section sera créée dans la sortie de l’agent. Celle-ci porte généralement le même nom que le plugin. Les plugins complexes (par exemple mk_oracle.ps1) créent même tout un ensemble de nouvelles sections.

8.3. Configuration

Certains plugins nécessitent un fichier de configuration dans C:\ProgramData\checkmk\agent\config pour fonctionner. Pour d’autres, la configuration est facultative (par exemple mssql.vbs) et permet d’activer des fonctionnalités spéciales ou des personnalisations. D’autres encore fonctionnent tout simplement ainsi. Vous disposez de plusieurs sources d’information :

  • La documentation des plugins de supervision associés sur votre instance Checkmk, accessible via Setup > Services > Catalog of check plugins.

  • Les commentaires dans le fichier du plugin (souvent très utiles !)

  • Un article pertinent dans ce guide de l'utilisateur (par exemple sur la supervision d'Oracle)

Pour les langages spéciaux (de script), il peut être nécessaire de les activer au préalable dans la configuration de l'agent. Par exemple, les scripts Python ne seront pas exécutés à moins d'être explicitement activés. Vous pouvez le faire en ajoutant les extensions de fichiers dans le fichier de configuration check_mk.user.yml, dans la section global, comme indiqué dans l'extrait suivant :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
global:
    execute: [exe, bat, vbs, cmd, ps1, py]
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Important : l'utilisation de tels plugins nécessite que les fichiers puissent également être appelés dans une ligne de commande standard sans chemins d'accès spéciaux. Dans le cas de Python, celui-ci doit être correctement installé et le chemin d'accès à l'interpréteur doit figurer dans les variables d'environnement. Vous trouverez des instructions sur la manière de configurer correctement Python directement sur les pages de la Python Software Foundation.

8.4. Personnalisation de l'exécution d'un plugin spécifique

Chaque plugin peut être exécuté selon différents modes. Les options suivantes peuvent être saisies dans le fichier de configuration.

Option Valeur Description

pattern

'@user\*.ps1'

Définit la portée des options suivantes. Des caractères génériques peuvent également être utilisés ici. Les options suivantes s’appliquent alors à tous les plugins auxquels l’expression s’applique. Leading détermine si le plugin doit être exécuté directement depuis le répertoire d’installation sous C:\Program Files (x86)\ ou depuis le répertoire de données sous C:\ProgramData.

run

yes/no

Détermine si l'exécution d'un plugin doit être supprimée.

async

yes/no

Exécute un plugin de manière asynchrone et stocke les données dans un fichier. En cas d'exécution synchrone, la sortie est transmise directement à l'agent.

timeout

60

Définit la durée d'exécution maximale. Passé ce délai, le plugin sera arrêté même si aucune sortie n'a été générée. La valeur par défaut est basée sur la valeur par défaut de l'intervalle de requête de l'agent.

cache_age

60

Définit, en secondes, la durée de validité d'une sortie.

retry_count

1

Nombre d'échecs autorisés pour un plugin avant que la sortie ne soit supprimée du cache.

description

'Text'

Vous pouvez saisir ici un texte libre qui sera ajouté aux journaux.

Une configuration du plugin Veeam ressemble alors par exemple à ceci (l'extrait est raccourci et ne contient que la partie pertinente pour l'exemple) :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
plugins:
    enabled: yes
    execution:
        - pattern: $CUSTOM_PLUGINS_PATH$\veeam_backup_status.ps1
          async: yes
          timeout: 120
          cache_age: 300
          retry_count: 2
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Selon la configuration exemplaire ci-dessus, le plugin situé dans le répertoire de données C:\ProgramData\checkmk\agent\plugins est exécuté de manière asynchrone toutes les cinq minutes (300 secondes) et peut s'exécuter pendant deux minutes (120 secondes) au maximum. Si le plugin atteint ce timeout, il effectuera une deuxième tentative pour obtenir un résultat.

8.5. Installation via la boulangerie d’agents

CEE Dans les éditions commerciales, les plugins inclus peuvent être configurés via la boulangerie d’agents. Celui-ci se charge à la fois de l'installation du plugin lui-même et de la création correcte du fichier de configuration, si nécessaire.

Chaque plugin est configuré via une règle d'agent. Vous trouverez les jeux de règles appropriés dans Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Agent Plugins :

Page with rules for configuring agent plug-ins.
Liste des règles pour les plugins d'agent

8.6. Exécution manuelle

Les plugins d'agent étant des programmes exécutables, vous pouvez les lancer manuellement à des fins de test et de diagnostic. Cependant, certains plugins nécessitent que l'agent définisse certaines variables d'environnement pour trouver leur fichier de configuration, par exemple. Si nécessaire, définissez-les manuellement si elles sont requises dans le script ou le programme.

9. Intégration des anciens plugins de supervision Nagios

9.1. Exécution des plugins via MRPE

Il existe deux bonnes raisons de continuer à utiliser les plugins Nagios sous Checkmk. Si vous avez migré votre supervision d’une solution basée sur Nagios vers Checkmk, vous pouvez continuer à utiliser d’anciens plugins de supervision pour lesquels il n’existe pas encore d’équivalent Checkmk. Dans de nombreux cas, il s’agit de plugins développés en interne en Perl ou en shell.

La deuxième raison est la véritable supervision de bout en bout. Supposons que vous disposiez d’un serveur Checkmk, d’un serveur web et d’un serveur de base de données répartis dans un grand centre de données. Dans un tel cas, les temps de réponse du serveur de base de données mesurés depuis le serveur Checkmk ne sont pas très significatifs. Il est bien plus important de connaître ces valeurs pour la connexion entre le serveur web et le serveur de base de données.

L'agent Checkmk fournit un mécanisme simple pour répondre à ces deux exigences : le Remote Plugin Executor de Checkmk, ou MRPE en abrégé. Ce nom est délibérément une analogie avec le NRPE de Nagios, qui y remplit la même fonction.

Le MRPE est intégré à l’agent et est contrôlé par divers fichiers de configuration.

Activation et désactivation du MRPE

Par défaut, la prise en compte des plugins MRPE est activée. Si vous ne souhaitez pas utiliser cette fonctionnalité, vous pouvez la désactiver dans le fichier de configuration en ajoutant la définition suivante :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
mrpe:
  enabled: no
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Limitation de la durée d'exécution

Il arrive parfois que la durée d'exécution d'un script ou d'un plugin Nagios soit imprévisible et, dans le pire des cas, qu'un plugin ne s'exécute jamais jusqu'au bout. Pour garder le contrôle dans ce cas, vous pouvez limiter la durée d'exécution maximale des plugins MRPE. La valeur indiquée ici correspond également à la valeur par défaut en secondes. Des ajustements ne sont donc nécessaires que si vous souhaitez définir un intervalle plus court ou plus long :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
mrpe:
  # enabled: yes
  timeout: 60
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Ajout de plugins MRPE

Pour indiquer à l'agent où se trouve le fichier à exécuter et comment l'appeler, ajoutez une entrée dans la configuration MRPE :

C:\ProgramData\Checkmk\agent\check_mk.user.yml
mrpe:
  config:
  - check = MyServiceName 'C:\ProgramData\checkmk\agent\mrpe\my_check_plugin.bat' -w 10 -c 20 MyParameter
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é !

Il n'est pas nécessaire de placer le fichier dans le répertoire de l'agent également, bien qu'il soit pratique de réaliser une collection de tous les fichiers au même endroit. Dans cet exemple de configuration, vous pouvez désormais voir les éléments suivants de la ligne concernée :

Élément Description

MyServiceName

Le nom du service tel qu'il doit s'afficher dans Checkmk.

'C:\ProgramData\checkmk\agent\mrpe\my_check_plugin.bat'

Programme à exécuter ; mettez les espaces entre guillemets.

-w 10 -c 20

Options transmises : une valeur seuil de 10 pour WARN et de 20 pour CRIT.

MyParameter

Exemple de transmission d'autres paramètres.

Une fois le plugin MRPE configuré, il sera immédiatement actif sans redémarrage de l'agent et sera ajouté à la sortie. Dans la reconnaissance du service, vous trouverez désormais automatiquement votre nouveau service :

agent windows service discovery

9.2. MRPE avec la boulangerie d’agents

CEE Au lieu de configurer directement sur un ordinateur hôte dans le fichier de configuration spécifique à l'utilisateur, vous pouvez également définir vos plug-ins MRPE directement dans le menu Setup. Pour ce faire, utilisez le jeu de règles « Setup > Agents > Windows, Linux, Solaris, AIX > Agent > Agent rules > Execute MRPE checks ». L'entrée nécessaire est alors automatiquement créée dans le fichier de configuration de la boulangerie d’agents.

10. Supervision du matériel

La supervision matérielle des ordinateurs hôtes Windows est bien prise en charge par l’agent Checkmk, à condition que les plug-ins et extensions disponibles dans Checkmk Exchange soient adaptés. Cependant, il existe des situations où ni les plug-ins prêts à l’emploi ni les interfaces de programmation permettant de créer vos propres plug-ins ne sont disponibles, mais où un logiciel d’application ou un outil de supervision du matériel fourni par un fabricant de matériel peut fournir des données de supervision via SNMP.

Dans ce cas, définissez l’option « SNMP » sur le type de connexion approprié (SNMPv2 or v3 ou SNMPv1) dans la case « Monitoring agents » des propriétés de l’ordinateur hôte dans la Configuration. Les services disponibles à la fois via SNMP et l’agent Checkmk (par exemple, la charge de travail du processeur, les systèmes de fichiers, les cartes réseau) sont alors automatiquement récupérés par l’agent Checkmk et non via SNMP. Cela évite automatiquement les transmissions en double.

Pour plus d’informations, consultez l’article Supervision avec SNMP.

11. Désinstallation

Plusieurs options s’offrent à vous pour désinstaller l’agent sous Windows. Dans toutes les versions de Windows, vous trouverez une entrée dans le Panneau de configuration sous « Control Panel > Programs and Features > Uninstall a program ». Dans les versions plus récentes, vous pouvez également trouver l’entrée relative à l’agent Checkmk dans les paramètres sous « Settings > Apps > Apps & features ».

À partir de la ligne de commande pour les administrateurs, vous disposez de plusieurs options pour supprimer l'agent. Si vous disposez encore du dernier package MSI installé, vous pouvez l'utiliser pour la désinstallation comme suit :

C:\Users\downloads\> msiexec /x check_mk_agent.msi /qn
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Vous pouvez également utiliser l'instruction WMIC (Windows Management Instrumentation Command) pour désinstaller :

C:\> wmic product where name="Check MK Agent 2.1" call uninstall /nointeractive
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si la désinstallation a réussi, vous recevrez le message « Method execution successful. » en guise de confirmation.

Remarque : la chaîne de caractères suivant « name= » doit être exactement correcte. Si vous souhaitez désinstaller une autre version de l'agent, vous trouverez ici la liste de tous les produits installés à l'aide de la commande suivante :

C:\> wmic product get name
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Le processus peut parfois prendre beaucoup de temps et ne donne aucun message d'état, mais affiche des listes très longues. Pour filtrer les résultats, vous pouvez prolonger l'instruction avec un tuyau :

C:\> wmic product get name | findstr Check
Check MK Agent 2.3
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Étant donné que les différentes routines de Windows ne suppriment que les fichiers qui ont été placés là lors du processus d'installation, il est tout à fait normal que des fichiers restent dans les répertoires de l'agent. Ceux-ci peuvent être supprimés manuellement.

12. Fichiers et répertoires

12.1. Chemins d'accès sur l'ordinateur hôte sous supervision

Chemin d'accès Signification

C:\Program Files (x86)\checkmk\service

Répertoire d'installation des fichiers spécifiques au programme, notamment le programme de l'agent check_mk_agent.exe et l'Agent Controller cmk-agent-ctl.exe. Aucune modification n'est nécessaire ici.
L'agent est fourni sous forme de programme 32 bits et 64 bits. Le programme d'installation sélectionne automatiquement le programme adapté au système d'exploitation 32 bits ou 64 bits. Pour des raisons de compatibilité, l'agent est installé dans le répertoire Program Files (x86).

C:\Program Files (x86)\checkmk\service\check_mk.yml

Fichier de configuration par défaut de l'agent. Ne modifiez pas ce fichier.

C:\ProgramData\checkmk\agent\

Répertoire d'installation des fichiers spécifiques à l'ordinateur hôte. C'est là que se trouvent les extensions, les fichiers journaux et les fichiers de configuration spécifiques à cet ordinateur hôte.

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

Ce fichier de configuration est créé par la boulangerie d’agents et remplace les valeurs du fichier de configuration par défaut si nécessaire.

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

Fichier de configuration pour vos personnalisations individuelles. Ce fichier est lu en dernier et remplace les valeurs des autres fichiers de configuration si nécessaire.

C:\ProgramData\checkmk\agent\plugins

Répertoire des plugins qui doivent être exécutés automatiquement par l'agent et enrichir sa sortie avec des données de supervision supplémentaires.

C:\ProgramData\checkmk\agent\spool

Contient des données créées, par exemple, par des fichiers journaux qui disposent de leur propre section. Celles-ci sont également ajoutées à la sortie de l'agent. Vous pouvez en savoir plus à ce sujet dans l'article Le répertoire spool.

C:\ProgramData\checkmk\agent\registered_connections.json

Contient une liste des connexions enregistrées auprès de l'Agent Controller.

C:\ProgramData\checkmk\agent\pre_configured_connections.json

Contient une connexion préconfigurée vers une instance pour l'enregistrement automatique, intégrée au package de l'agent via la boulangerie d’agents.

C:\ProgramData\checkmk\agent\config

Stockage des fichiers de configuration pour l'agent.

C:\ProgramData\checkmk\agent\local

Répertoire pour les checks locaux personnalisés.

C:\ProgramData\checkmk\agent\mrpe

Les extensions MRPE peuvent être stockées ici.

C:\ProgramData\checkmk\agent\backup

Après chaque modification du service de l'agent Checkmk, une sauvegarde de la configuration de l'utilisateur est créée ici.

C:\ProgramData\checkmk\agent\log

Vous trouverez ici les fichiers journaux. Outre le fichier « check_mk.log » (dans toutes les éditions), qui est constamment mis à jour pendant le fonctionnement, d'autres journaux provenant de l'installation automatique ou des mises à jour peuvent être présents ici.

12.2. Chemins d'accès sur le serveur Checkmk

Chemin d'accès Signification

~/local/share/check_mk/agents/custom

Répertoire de base pour les fichiers personnalisés à fournir avec un agent précompilé.

~/share/check_mk/agents/windows/

Répertoire contenant le package MSI de l'agent. Ce répertoire contient également des exemples de configuration et tous les plugins d'agent.

~/var/agent-receiver/received-outputs

Contient, pour chaque connexion, son UUID sous la forme d'un lien symbolique pointant vers le dossier portant le nom de l'ordinateur hôte. En mode Push, ce dossier contient la sortie de l'agent.


Last modified: Wed, 18 Feb 2026 12:14:57 GMT via commit 998748fbd
Sur cette page