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. Bienvenue dans Checkmk pour Azure

Que vous soyez un utilisateur de longue date de Checkmk ou que vous veniez de nous découvrir grâce à la mise à disposition d’images prêtes à l’emploi sur le Microsoft Azure Marketplace, vous trouverez dans cet article toutes les ressources nécessaires pour configurer l’image de machine virtuelle préparée afin d’obtenir une solution de supervision adaptée à vos besoins.

Si vous découvrez Checkmk, nous vous recommandons de lire notre Guide du débutant pour vous préparer. Les images de machine virtuelle préconfigurées peuvent vous faire gagner du temps lors de l'installation, mais une certaine connaissance des concepts fondamentaux, tels que les instances, vous sera utile pendant le processus de configuration.

1.1. Les bases

Si vous êtes un utilisateur d’Azure, vous avez toujours eu la possibilité d’ajouter Checkmk à une image Ubuntu existante disponible sur le Marketplace, afin de mettre en place une « supervision dans le cloud ». Nous allons désormais plus loin en proposant une image préinstallée, basée sur Ubuntu 22.04 (Jammy Jellyfish), avec toutes les dépendances requises déjà incluses. Seule la version Checkmk Ultimate est utilisée dans ce scénario. Celui-ci sera sous statut de licence « Trial » de 30 jours sans aucune restriction lors de la configuration du premier site. À l’expiration de la période de test, Checkmk peut continuer à être utilisé en tant que instance unique avec jusqu’à 750 services surveillés sans nécessiter d’abonnement. Si davantage de services doivent être surveillés, ou si plusieurs instances sont requises, vous aurez besoin d’une clé de licence.

En général, la configuration est un peu plus complexe que, par exemple, celle d’une image Docker ; après tout, l’image fournie doit couvrir divers scénarios de déploiement :

  • Une configuration à instance unique sur un serveur à différentes échelles

  • Instance centrale dans une supervision distribuée

  • Instance distante dans une supervision distribuée

  • Opérations mixtes comprenant un site de production et un ou plusieurs sites destinés à l'exécution de tests sur un ordinateur hôte

C'est pourquoi l'image Azure ne comprend pas d'instance prête à l'emploi, ni de configuration de courrier électronique ou de pare-feu.

Dans cet article, nous vous guiderons tout au long de la configuration complète. Lorsque des informations complémentaires sont utiles, nous vous renvoyons vers des articles détaillés de notre guide de l'utilisateur.

2. Préparation

Outre le dimensionnement de la mémoire vive, du processeur et des disques durs virtuels, vous devez également réfléchir à l'emplacement de stockage des sauvegardes. Checkmk prend en charge nativement les magasins d'objets Azure, mais les sauvegardes peuvent également être stockées dans des chemins d'accès du système de fichiers, ce qui permet de les enregistrer sur des montages SMB ou WebDAV ou de les transférer de manière classique via rsync.

2.1. Création de clés SSH

Étant donné qu'Azure ne prend actuellement pas en charge les clés ED25519 ou ECDSA, vous devrez créer une paire de clés RSA pour le premier login à la machine virtuelle (VM), dont vous téléchargerez la clé publique lors de la création de la VM. Vous pouvez également laisser Azure créer la paire de clés. Dans ce cas, n'oubliez pas de télécharger la clé privée lors du processus de commande.

2.2. Détermination des ports requis

Dans une configuration Checkmk à instance unique, où les ordinateurs hôtes envoient également des données à l'instance Checkmk en mode Push, les ports suivants du serveur Checkmk doivent être accessibles :

  • Depuis les ordinateurs hôtes sous supervision : le port 80/443 (HTTP/HTTPS, lors de l'enregistrement de l'agent) et le port 8000 (l'Agent Receiver, en permanence).

  • Pour la gestion via le navigateur et l'API REST : port 80/443 (HTTP/HTTPS)

Le partage de ces ports est prédéfini dans notre configuration « Inbound port rules ». Pour une sécurité optimale, vous devriez restreindre davantage l'accès dans l'onglet « Networking ».

Consultez notre aperçu de tous les ports utilisés si vous souhaitez mettre en place une supervision distribuée ou, par exemple, effectuer des requêtes d'état via l'interface Livestatus.

2.3. Réservation d'une image sur la Marketplace

Les instances de VM suivantes constituent une recommandation pour le dimensionnement du nombre de services à soumettre à la supervision. Lors de la commande de l'instance, désactivez l'option « burstable ».

Type Noyaux de processeur RAM (Go) SSD (Go) Services Checkmk

B4MS

4

16

32

12 000

B8MS

8

32

64

30 000

B12MS

12

48

96

60 000

Ces calculs de dimensionnement se basent sur environ 15 % de services assurés par des agents spéciaux et des contrôles actifs, ainsi que sur 25 services ou plus par ordinateur hôte fourni via un agent en mode Push. Dans certaines circonstances, un nombre nettement plus élevé de services est possible dans le cadre d’une supervision purement synthétique (dans laquelle les données sont principalement fournies par des agents spéciaux). Lors de l’utilisation d’agents en mode Pull, le nombre de services spécifié ne peut être atteint que grâce à une optimisation constante.

Le dimensionnement de l'espace disque dur repose sur l'expérience acquise dans des environnements de serveurs Windows et Linux classiques. Si de nombreux services génèrent un volume important de métriques, un espace de stockage plus important peut s'avérer nécessaire.

2.4. Réservation d'espace de stockage de sauvegarde

En raison des coûts de trafic avantageux, nous vous recommandons d’utiliser Azure Blob Storage. Pour le calcul de l’espace de stockage requis, veuillez consulter les remarques concernant le format de données RRD. À titre indicatif pour le calcul d’une sauvegarde complète, les bases de données tourniquet auront atteint un peu plus d’un tiers de leur capacité maximale après 10 jours. Cela signifie qu’après ce délai, il est judicieux de réexaminer la taille de l’espace de stockage de sauvegarde qui a été réservé.

3. Configuration

3.1. Login à la machine virtuelle

Le login en tant qu'utilisateur root est désactivé sur les images AWS/Azure. À la place, l'utilisateur ubuntu est utilisé ; celui-ci dispose des autorisations nécessaires pour exécuter sudo avec des instructions arbitraires sans invite de mot de passe. Si vous avez créé une paire de clés distincte pour vous connecter à la machine virtuelle (VM), vous devez spécifier le chemin d'accès à sa clé privée à l'aide du paramètre -i. Bien entendu, l'adresse IP doit être remplacée par celle sous laquelle la machine virtuelle (VM) est accessible à distance :

user@host:~$ ssh -i /path/to/id_file.priv ubuntu@192.0.2.123
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 vous trouvez désormais à l'invite de l'utilisateur ubuntu. L'invite réelle peut contenir le nom de domaine spécifié lors de la création de la VM ou une adresse IP en tant que nom de domaine. Nous utiliserons le nom de domaine cloud tout au long du reste de cet article :

ubuntu@cloud:~$

3.2. Configuration d'une instance

Une instance Checkmk doit avoir un nom unique et être facilement identifiable. Ici, comme dans la plupart des autres sections de ce manuel, nous utilisons mysite comme nom d'instance. Dans cet exemple, le mot de passe de l'administrateur de l'instance cmkadmin est défini sur t0p53cr3t.

La création d'une instance s'effectue à l'aide de l'outil d'administration Checkmk omd. La dernière version de Checkmk est toujours préinstallée :

ubuntu@cloud:~$ sudo omd create --admin-password t0p53cr3t mysite
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Updating core configuration...
Generating configuration for core (type cmc)...
Starting full compilation for all hosts
 Creating global helper config...OK
 Creating cmc protobuf configuration...OK
Executing post-create script "01_create-sample-config.py"...OK
Executing post-create script "02_cmk-compute-api-spec"...OK
Executing post-create script "03_message-broker-certs"...OK
Restarting Apache...OK
Created new site mysite with version 2.4.0p24.cce.

  The site can be started with omd start mysite.
  The default web UI is available at http://cloud/mysite/

  The admin user for the web applications is cmkadmin with password: t0p53cr3t
  For command line administration of the site, log in with 'omd su mysite'.
  After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.
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é !

Démarrez maintenant l'instance nouvellement créée avec

ubuntu@cloud:~$ sudo omd start mysite
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é !

L'URL figurant dans la sortie d'instruction ci-dessus (http://cloud/mysite) contient le nom de domaine utilisé en interne par votre machine virtuelle AWS ou Azure. Comme elle n'est généralement pas résolue en externe, cette URL a une utilité limitée. En règle générale, vous y accéderez initialement à l'aide de l'adresse IP ou d'un nom de domaine stocké sur votre propre serveur DNS.

3.3. Stockage des certificats

Pour que le système Apache puisse effectivement écouter sur le port HTTPS 443, il aura besoin de certificats valides. Les certificats auto-signés de Snakeoil Inc. sont générés à cette fin lors du premier démarrage de la machine virtuelle. Nous vous recommandons vivement de les remplacer dès que possible par vos propres certificats, qui permettent de vérifier facilement la chaîne de certificats complète.

Ce faisant, la configuration d'Apache suit de près les normes Ubuntu, et les chemins d'accès aux certificats modifiés doivent être saisis dans le fichier `/etc/apache2/sites-enabled/000-default.conf`.

3.4. Configuration d'un système de courrier électronique

Étant donné que les chemins d'accès pour les notifications dans Checkmk sont nombreux et peuvent varier, aucun système de courrier électronique par défaut n'est prédéfini.

Checkmk sans système de courrier électronique

Il est également possible de se passer complètement d’un système de courrier électronique local si vous souhaitez uniquement activer la livraison traçable de courriers électroniques HTML via SMTP ou si vous comptez sur des plugins de notification pour des plateformes telles que Microsoft Teams ou Slack.

Notez toutefois que les notifications groupées ne sont pas possibles dans cette configuration.

Agent de transport de courrier (MTA) en mode relais uniquement ou complet

En règle générale, vous souhaiterez mettre en place un système de courrier électronique en raison de sa plus grande flexibilité. Pour les environnements de petite taille, le MTA Nullmailer, qui assure uniquement le relais, a fait ses preuves.

Pour les installations plus importantes, où des événements imprévus peuvent générer plusieurs centaines de courriers électroniques, nous vous recommandons d'installer un MTA complet tel que Postfix.

3.5. Ajout d'ordinateurs hôtes à une supervision

Localhost en mode Pull

Dans la grande majorité des cas, le serveur Checkmk lui-même doit être le premier ordinateur hôte que vous ajoutez à la supervision. Pour ce faire, vous devez d'abord installer l'agent Linux sur le serveur Checkmk. Cet agent communique avec le serveur en mode Pull. Si vous trouvez trop fastidieux de télécharger le paquet de l'agent via l'interface web puis de le transférer via scp, vous pouvez installer l'agent dans sa configuration par défaut (« Vanilla ») directement à partir du système de fichiers :

ubuntu@cloud:~$ sudo apt install $(sudo find /opt/omd/versions/ -name 'check-mk-agent_*.deb' | tail -n1)
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é !

Immédiatement après l'installation, l'agent Checkmk écoute en mode legacy pull non chiffré sur le port 6556. Par conséquent, procédez sans délai à un enregistrement afin d'empêcher des tiers non autorisés d'accéder à la sortie de l'agent :

ubuntu@cloud:~$ sudo cmk-agent-ctl register --hostname localhost --server localhost --site mysite --user cmkadmin
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é !

Ordinateurs hôtes en mode Push

Si les ordinateurs hôtes à surveiller se trouvent derrière un pare-feu et ne sont donc pas directement accessibles par le serveur Checkmk, le mode Push est souvent le mode de communication privilégié. Vous pouvez sélectionner le mode Push à l'aide de l'option «Checkmk agent connection mode» dans les propriétés de l'ordinateur hôte, dans la section «Agents de supervision». Vous pouvez également combiner le mode Push avec des paquets d'agents préconfigurés pour l'enregistrement automatique afin d'améliorer encore davantage la commodité.

3.6. Mise à jour de Checkmk

Checkez régulièrement la page de téléchargement pour vérifier la disponibilité de mises à jour et téléchargez le paquet mis à jour à l'aide de l'instruction wget qui y est indiquée.

L'installation d'une mise à jour s'effectue en deux étapes, car omd peut gérer plusieurs instances, chacune avec une version différente de Checkmk, sur le même serveur.

Installation d'une nouvelle version de Checkmk et mise à jour de l'instance

La première étape consiste à installer le paquet, dans l'exemple suivant la version 2.4.0p24 :

ubuntu@cloud:~$ sudo apt install ./check-mk-cloud-2.4.0p24_0.jammy_amd64.deb
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é !

L'étape suivante consiste à mettre à jour votre ou vos instances :

ubuntu@cloud:~$ sudo omd stop mysite
ubuntu@cloud:~$ sudo omd update mysite
ubuntu@cloud:~$ sudo omd start mysite
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é !

Suppression des paquets qui ne sont plus nécessaires

Si vous gérez plusieurs instances sur le serveur (par exemple, une pour la production et une autre pour le test des extensions), assurez-vous que toutes sont mises à jour :

ubuntu@cloud:~$ omd sites
SITE         VERSION        COMMENTS
mysite       2.4.0p24.cce   default version
mytestsite   2.4.0p3.cce
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é !

Via le gestionnaire de packs Ubuntu, vous pouvez ensuite désinstaller les versions de Checkmk qui ne sont plus utilisées :

ubuntu@cloud:~$ sudo apt purge check-mk-cloud-2.4.0p3
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. Post-traitement

4.1. Configuration des sauvegardes

Checkmk dispose d'une fonction de sauvegarde pratique, qui se configure sous « Setup > Maintenance > Backups > Backup targets ». Sous « Add backup target », vous ajoutez un emplacement de stockage. Il est conseillé de sélectionner « Azure Blob Storage » comme Destination en raison de la rapidité et du faible coût du transfert de données.

Outre les informations d'identification, vous devez également spécifier un chemin d'accès au dossier où l'archive est stockée temporairement avant d'être copiée vers le magasin d'objets. Cela peut se faire sous /tmp. Si votre machine virtuelle Azure fournit un disque volatile (éphémère) sous /mnt, vous pouvez également y créer un répertoire servant de cache :

ubuntu@cloud:~$ sudo mkdir -p /mnt/backup/mysite
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 que l'utilisateur de l'instance puisse écrire dans ce répertoire, vous devez le lui transférer :

ubuntu@cloud:~$ sudo chown mysite:mysite /mnt/backup/mysite
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é !

Procédure de restauration

La restauration d'une sauvegarde doit toujours être effectuée sur exactement la même version de Checkmk que celle utilisée pour la créer. Si une sauvegarde doit être utilisée pour migrer vers un autre type de machine virtuelle, vers un autre fournisseur de cloud ou d'une installation sur site vers le cloud (ou inversement), effectuez toujours d'abord une mise à niveau vers le niveau de correctif le plus élevé disponible de Checkmk avant la sauvegarde finale et la migration.

Les points suivants s'appliquent à la restauration d'une sauvegarde :

  1. Sur le système cible, installez exactement la version de Checkmk qui a été utilisée pour créer la sauvegarde.

  2. Créez une instance de supervision à l'adresse omd create en utilisant le même nom d'instance que le système source.

  3. Spécifiez la destination de la sauvegarde et téléchargez la clé de sauvegarde.

  4. Effectuez la restauration proprement dite.

5. Supervision d'Azure

Checkmk offre non seulement une image Azure, mais également une supervision complète de votre infrastructure Azure. Même si Checkmk devait être votre premier ou votre seul projet Azure, il vaut déjà la peine de surveiller les performances de la machine virtuelle, l'état des coffres-forts de sauvegarde et le niveau des coûts engagés.


Last modified: Wed, 17 Dec 2025 10:35:53 GMT via commit daefb5a4b
Sur cette page