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. Introduction

Checkmk comprend un module complet dédié à la supervision de Microsoft Azure, composé d’un connecteur vers Azure et d’une collection exhaustive de plugins de supervision qui récupèrent et évaluent pour vous diverses métriques et états.
Outre les informations générales sur les coûts générés par votre environnement Azure et l'état actuel des services Azure dans votre région, vous pouvez surveiller les produits Azure suivants avec toutes les éditions de Checkmk :
Avec l'
Checkmk Ultimate, vous pouvez également intégrer les produits suivants à votre système de supervision :
Vous trouverez la liste complète de tous les plugins de supervision disponibles pour la supervision de Microsoft Azure dans notre Catalogue de plugins de supervision et nous décrivons comment intégrer vos clusters AKS (Azure Kubernetes Service) dans Checkmk dans l'article Surveillance de Kubernetes.
2. Configuration de la supervision via la Configuration rapide (facultatif)
La manière la plus rapide de configurer une supervision claire et intuitive pour les environnements Azure consiste à utiliser notre Configuration rapide. Pour ce faire, rendez-vous sur Setup > Quick Setup > Microsoft Azure et cliquez sur « Add configuration ». La Configuration rapide vous guidera ensuite étape par étape jusqu’à votre objectif.
Le principal avantage de la Configuration rapide est que toute erreur s’affiche immédiatement pendant le processus de configuration. Au pire, vous recevrez alors une indication claire et précise de ce que vous devez corriger avant de pouvoir passer à l’étape suivante.
Vous trouverez des instructions détaillées sur la manière d’effectuer les préparatifs nécessaires dans votre environnement Azure dans le chapitre « Préparation d’Azure pour Checkmk ».
Si vous souhaitez ou devez modifier ultérieurement la configuration créée par la Configuration rapide, vous pouvez revenir sur Setup > Quick Setup.
Cliquez ensuite sur l’icône «
» (Modifier la configuration), puis sélectionnez le composant que vous souhaitez modifier.
Les autres chapitres de cet article sont uniquement destinés à servir de référence aux utilisateurs de la Configuration rapide. Toutefois, si votre environnement Azure est relativement complexe, il est recommandé de poursuivre la configuration en suivant les étapes suivantes. |
3. Préparation d'Azure pour Checkmk
Pour surveiller Azure avec Checkmk, vous aurez besoin de certaines données provenant de votre environnement Azure. Au minimum, l'ID de répertoire (également appelé ID de locataire) et un ID d'application (également appelé ID de client) seront requis. Dans la plupart des cas, vous devrez également saisir votre ID d'abonnement. Une exception à cette règle s'applique si vous souhaitez uniquement surveiller votre Azure AD ; dans ce cas, vous n'aurez pas besoin de saisir votre ID d'abonnement.
Dans les chapitres suivants, nous vous indiquerons où trouver ces données et quelles conditions vous devez remplir.
À ce stade, il convient de noter que les portails web des hyperscalers et des fournisseurs de services cloud sont soumis à des modifications constantes. Nous nous efforçons de maintenir les informations suivantes à jour tout en veillant à ce qu’elles restent suffisamment générales pour garantir que les emplacements et les fonctions correspondants dans le portail puissent toujours être trouvés, même si une capture d’écran ne correspond plus à 100 % à ce que vous voyez actuellement. |
3.1. Création d'une application
Commencez par enregistrer une application dans Azure.
Cette application sera utilisée par Checkmk pour lire les données souhaitées depuis Azure.
Vous trouverez cette option dans le portail Azure sous « (All services > Identity > Identity management > ) App registrations ».
Vous pouvez également utiliser la recherche du portail et saisir « App registrations ».
Une fois sur la page, vous devez cliquer sur « New registration ».
Attribuez un nom d'identification de votre choix.
Dans l'exemple, nous utilisons my-checkmk-app.
Ce nom est toutefois uniquement à titre informatif.
La référence à l'application se fait plutôt via l'ID d'application, que vous verrez à l'étape suivante.
Vous n'avez rien à modifier dans la section Supported account types et le champ Redirect URI doit rester vide.
Confirmez vos saisies en cliquant sur « Register ».

Une fois l'application créée, vous devriez voir un aperçu de cette nouvelle application. Si ce n'est pas le cas, vous trouverez la nouvelle application dans la liste de toutes les applications décrites ci-dessus, sous l'onglet « All applications ». Dans les détails de l'application, vous trouverez désormais à la fois l'Application (client) ID et l'Directory (tenant) ID, que vous devrez saisir ultérieurement dans Checkmk.

3.2. Création d'un secret client pour l'application
Vous aurez ensuite besoin d’un secret client permettant à Checkmk de se connecter à l’API Azure. Pour générer ce secret, cliquez sur « Certificates & secrets » dans l’aperçu de l’application, puis sur l’onglet « Client secrets » et enfin sur « New client secret ».

La boîte de dialogue « Add a client secret » s’ouvre alors. Attribuez-lui un nom de votre choix et sélectionnez la durée de validité de la clé. Si vous activez ultérieurement l’option « App Registrations » dans la règle de l’agent spécial, vous bénéficierez d’un service pratique qui vous rappellera lorsque cette période de validité touche à sa fin. Confirmez le dialogue en cliquant sur « Add ».

Il est important que vous copiez immédiatement le contenu de l'Valuee dans ce nouveau secret, car après un certain temps, seuls les trois premiers caractères de ces secrets s'afficheront dans le portail Azure.

3.3. Facultatif : ajout d’autorisations API supplémentaires
Vous devez accorder à l'application des autorisations API supplémentaires si vous souhaitez effectuer la supervision des services suivants avec Checkmk :
Les utilisateurs dans Active Directory
Synchronisation AD Connect
Enregistrements d'applications
Vous commencez à attribuer les autorisations dans l'aperçu de votre nouvelle application, que vous devriez toujours avoir ouvert depuis la section précédente.
Cliquez sur « API permissions », puis sur « Add a permission. ».
Dans le dialogue qui s'ouvre, vous devez rechercher et cliquer sur « Microsoft Graph ».
Sélectionnez ensuite « Application permissions » et saisissez « Directory.Read.All » dans le champ de recherche.
Cochez la case à cocher correspondante et cliquez sur « Add permissions ».
Une autorisation supplémentaire de la part d'un administrateur de votre environnement Azure est requise pour cette autorisation (Admin consent required).
Si vous ne voyez pas le bouton « Grant admin consent » au-dessus de la liste des autorisations accordées, vous devez contacter l'administrateur responsable.
3.4. Attribution d'un rôle à l'application
Pour permettre à Checkmk d’accéder aux données de supervision via la nouvelle application, vous devez attribuer un rôle à l’application au niveau de l’abonnement. Pour ce faire, sélectionnez « All services » dans le menu de navigation principal à gauche, puis, sous « General », l’entrée « Subscriptions ». Là encore, vous pouvez utiliser la fonction de recherche du portail si vous ne trouvez pas le bouton correspondant.
Si vous disposez de plusieurs abonnements, vous devez maintenant cliquer sur le nom de l'abonnement que vous souhaitez superviser. Vous serez alors redirigé vers une page d'aperçu de votre abonnement. Notez l'Subscription ID qui y figure. Vous devrez la saisir ultérieurement dans la règle d'agent spécial.
Cliquez ensuite sur « Access Control (IAM) », puis sur « Add » et enfin sur « Add role assignment: ».

Sélectionnez maintenant le rôle nommé « Reader » et associé à l’Type « BuiltInRole ». Comme il existe au total plus de 100 rôles dont le nom contient le mot « Reader », il est important d’être vigilant à ce stade. Cliquez ensuite sur « Next » pour accéder à l’onglet « Members ».
Cliquez ici sur « + Select members. »

Dans le dialogue « Select members », saisissez le nom de l’application que vous avez créée précédemment dans le champ de recherche, sélectionnez cette application, puis cliquez sur « Select. » Après deux clics supplémentaires sur « Review + assign », la configuration dans le portail Azure sera terminée.
4. Configuration de la supervision de base dans Checkmk
Avant de commencer la configuration dans Checkmk, assurez-vous d'avoir à portée de main les quatre informations spécifiques à Azure suivantes, que vous avez obtenues au chapitre précédent :
Votre ID de locataire (également appelé « ID de répertoire »)
L'ID d'application (ID client) de l'application
Le secret client de cette application
Votre ID d'abonnement
4.1. Création d'un ordinateur hôte pour Azure
Même si vous n’avez pas affaire à un ordinateur hôte dans Azure, créez un hôte pour votre répertoire Azure dans Checkmk. Vous pouvez définir le nom de domaine à votre guise. Important : Azure étant un service et ne disposant donc pas d’adresse IP ni de nom DNS (l’agent spécial se charge lui-même de l’accès), vous devez définir l’IP address family sur No IP.

Il est préférable d'enregistrer avec l'Save & view folder à ce stade, car bien sûr, la reconnaissance du service ne peut pas encore fonctionner.
4.2. Configuration de l'agent Azure
Étant donné qu’Azure ne peut pas être interrogé via l’agent Checkmk standard, vous devez maintenant configurer l’agent spécial Azure. Dans ce cas, Checkmk ne contacte pas l’ordinateur hôte cible via le port TCP 6556 comme d’habitude, mais appelle un utilitaire qui communique avec le système cible via l’API spécifique à l’application d’Azure.
Pour ce faire, sous « Setup > Agents > VM, cloud, container > Microsoft Azure », créez une règle dont les conditions s’appliquent exclusivement à l’ordinateur hôte Azure qui vient d’être créé. Vous y trouverez les champs de saisie pour les identifiants et le secret :

Vous pouvez également sélectionner ici les groupes de ressources ou les ressources que vous souhaitez superviser. Si vous n’avez pas checké « explicitly specified groups », tous les groupes de ressources sont automatiquement supervisés.
4.3. Test
Si vous effectuez maintenant une reconnaissance du service sur l'ordinateur hôte Azure, le service appelé Azure Agent Info devrait au moins être détecté :

Si l'accès à l'API ne fonctionne pas (en raison d'un identifiant incorrect, d'autorisations inappropriées ou d'un secret client erroné, comme dans l'exemple ci-dessous), un message d'erreur correspondant s'affichera dans le texte d'état de Azure Agent Info :

4.4. Rendre les groupes de ressources disponibles en tant qu’ordinateurs hôtes
Pour plus de clarté, la supervision Azure dans Checkmk a été conçue de manière à ce que chaque groupe de ressources Azure soit représenté par un hôte logique (pour ainsi dire) dans Checkmk. Ceci est réalisé à l’aide du mécanisme de ferroutage. Ce ferroutage récupère les données de l’hôte Azure à l’aide d’agents spéciaux, puis les redirige au sein de Checkmk vers ces hôtes de groupes de ressources.
Les hôtes de groupes de ressources n’apparaissent pas automatiquement dans Checkmk. Ajoutez ces hôtes manuellement ou, si vous le souhaitez, à l’aide de la gestion dynamique des hôtes. Important — lors de cette opération, les noms des hôtes doivent correspondre exactement aux noms des groupes de ressources — et cela tient compte de la casse ! Si vous n’êtes pas certain de l’orthographe exacte des noms des groupes, vous pouvez effectuer cette opération directement à partir du service Azure Agent Info sur l’hôte Azure.
L’instruction |
Configurez les hôtes du groupe de ressources sans adresse IP (à l'instar de l'hôte Azure), puis sélectionnez No API integrations, no Checkmk agent comme agent et Always use and expect piggyback data comme hôte ferrouté.

Si vous effectuez maintenant une reconnaissance du service sur l'un de ces ordinateurs hôtes du groupe de ressources, vous constaterez qu'il existe des services supplémentaires spécifiquement liés à ce groupe de ressources :

Si vous souhaitez choisir librement les noms des ordinateurs hôtes du groupe de ressources, la règle « Setup > Agents > Access to Agents > Host name translation for piggybacked hosts » vous permet de définir une conversion des groupes de ressources en ordinateurs hôtes. |
5. Configuration avancée
5.1. Machines virtuelles (VM)
Lorsque vous utilisez Azure pour superviser des machines virtuelles qui servent simultanément d’hôtes normaux dans Checkmk, vous pouvez attribuer les services Azure associés à ces VM directement aux hôtes de VM dans Checkmk plutôt qu’aux hôtes du groupe de ressources.
Pour ce faire, dans la règle Azure, sous l’option «Map data relating to VMs», sélectionnez le paramètre «Map data to the VM itself». Pour que cela fonctionne, l’ordinateur hôte Checkmk de la VM en supervision doit porter exactement le même nom que la VM correspondante dans Azure.
5.2. Supervision des coûts
La règle « Microsoft Azure » est prédéfinie de manière à ce que Checkmk effectue également la supervision de tous les coûts engagés dans votre environnement Azure. Plus précisément, les services affichent les coûts engagés la veille. Vous pouvez ainsi déterminer rapidement s’il y a eu des changements.
Plusieurs services sont créés afin d’obtenir un meilleur aperçu des coûts engagés et de pouvoir définir des valeurs seuils spécifiques.
Les coûts totaux au niveau de votre répertoire Azure s’affichent pour l’hôte Azure que vous avez créé en premier.
De plus, des services sont créés pour chaque hôte représentant un groupe de ressources.
À ces deux niveaux, Checkmk génère un service pour les coûts par « fournisseur de ressources » (par exemple microsoft.compute et microsoft.network).
Le service « Costs Summary » affiche ensuite la somme totale pour le groupe de ressources ou pour l'ensemble du répertoire Azure.
Vous pouvez utiliser la règle Azure Usage Details (Costs) pour définir des valeurs seuils individuelles pour tous ces services.
Si vous ne souhaitez pas effectuer la supervision des coûts, vous devez désactiver l'option « Usage Details » dans la règle « Microsoft Azure ».
5.3. Importation de balises depuis Azure
Par défaut, Checkmk importe toutes les balises de votre environnement Azure et les convertit en étiquettes d’hôte et de service. L’affectation s’effectue comme prévu. Les balises associées à un groupe de ressources sont attribuées dans Checkmk à l’hôte représentant ce groupe de ressources, et les balises d’une machine virtuelle deviennent des étiquettes d’hôte pour cette machine virtuelle.
Toutes les étiquettes ainsi créées reçoivent le préfixe cmk/azure/.
De plus, les caractères et les valeurs qui entraîneraient des étiquettes non valides dans Checkmk sont remplacés.
Les valeurs vides (c'est-à-dire le champ « Value » dans Azure) sont remplacées par true et les deux-points présents dans le nom ou la valeur sont remplacés par un trait de soulignement.
Pour des raisons de compatibilité, les balises provenant d’Azure sont également importées sans le préfixe |
L'option « Filter tags imported as host/service labels » vous permet de contrôler l'importation des balises depuis Azure. Si vous cochez cette case à cocher, vous pouvez empêcher complètement l'importation avec Do not import tags. Si vous sélectionnez Filter valid tags by key pattern ici, vous pouvez saisir une expression régulière dans le champ suivant. Checkmk ne générera alors des étiquettes qu'à partir des balises correspondant à cette expression régulière.
5.4. Limite pour les requêtes API
Actuellement, les requêtes API dont Checkmk a besoin pour la supervision d’Azure (contrairement à AWS) sont gratuites — il existe toutefois une limite au nombre de requêtes autorisées par période de temps (« limite de débit »). À ce jour, les requêtes API dont Checkmk a besoin pour la supervision sont gratuites avec Azure (contrairement à AWS). Il existe toutefois une limite au nombre de requêtes par période de temps (« limites de débit »).
En raison de la structure de l’API, Checkmk nécessite au moins une ou plusieurs requêtes par ressource demandée. Par conséquent, le nombre total de requêtes évolue linéairement avec le nombre de ressources sous supervision. Si la limite de requêtes est atteinte ou dépassée, la requête échoue avec un code HTTP 429 (trop de requêtes), et le service d’Check_MKs pour l’ordinateur hôte Azure est signalé comme « CRIT ».
Cette limite résulte de l’algorithme dit « token bucket » d’Azure. Tout commence par un « crédit » de 250 requêtes restantes — chaque requête en consomme une. Simultanément, 25 requêtes par seconde sont ajoutées au crédit. La sortie du service Azure Agent Info vous permet de voir combien de requêtes il reste actuellement.
Concrètement, cela signifie que :
Si votre taux de requêtes est suffisamment faible, le nombre de requêtes disponibles est toujours légèrement inférieur à 250.
Si votre taux est trop élevé, le crédit diminuera progressivement jusqu’à 0, puis des erreurs se produiront de manière sporadique lors de la requête.
Dans ce cas, vous pouvez réduire le taux d'interrogation en interrogeant moins de groupes de ressources ou de ressources, ou en réduisant l'intervalle de vérification pour la vérification active d'Check_MK sur l'ordinateur hôte Azure. Cela est possible grâce à la règle Normal check interval for service checks.
Afin que vous puissiez réagir à temps, le service Azure Agent Info effectue la supervision du nombre de requêtes restantes. Par défaut, aucune valeur seuil n'est définie. Vous pouvez les définir vous-même dans la règle Azure Agent Info.
L'article « Comprendre comment Azure Resource Manager limite les requêtes » sur Microsoft Learn explique cela plus en détail.
6. Tableaux de bord
Pour vous permettre de vous familiariser facilement avec la supervision Azure, Checkmk fournit, dans Checkmk Ultimate,
deux tableaux de bord intégrés : Azure VM instances et Azure storage accounts.
Ces deux tableaux de bord sont accessibles via les entrées de supervision, sous Monitor > Cloud.
Pour vous donner une idée plus précise, voici deux exemples illustrant la structure de ces tableaux de bord. Tout d’abord, le tableau de bord des instances de machines virtuelles, dans lequel vous pouvez comparer l’état actuel sur le côté gauche et l’historique chronologique des métriques les plus importantes sur le côté droit :

Le tableau de bord des comptes de stockage est structuré de manière très similaire. Sur le côté gauche, vous trouverez les données actuelles pour les compartiments respectifs. Sur la droite, les métriques les plus importantes sont à nouveau affichées par ordre chronologique :

