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 propose une supervision efficace de Google Cloud Platform (GCP), comprenant un connecteur vers GCP et une impressionnante collection 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 Google Cloud et l'état actuel des services Google dans votre région, vous pouvez effectuer la supervision des produits Google Cloud suivants avec 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 GCP dans notre Catalogue de plugins de supervision. Nous décrivons également comment intégrer vos clusters GKE (Google Kubernetes Engine) 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 la supervision de projets GCP individuels consiste à utiliser notre Configuration rapide. Pour ce faire, ouvrez Setup > Quick Setup > Google Cloud Platform (GCP) et cliquez sur « Add configuration ». La Configuration rapide vous guidera ensuite étape par étape jusqu’à votre objectif.
Vous trouverez des instructions détaillées sur la manière d'obtenir les informations nécessaires concernant votre projet dans GCP au chapitre « Préparation de GCP pour Checkmk ».
Le principal avantage de la Configuration rapide réside dans le fait que toute erreur est immédiatement signalée pendant le processus de configuration. Dans le pire des cas, vous recevrez alors une indication claire et précise de ce que vous devez corriger avant de pouvoir passer à l'étape suivante.
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 GCP est assez complexe, il est recommandé de poursuivre la configuration en suivant les étapes suivantes. |
3. Mise en œuvre concrète de la supervision du GCP
3.1. Ordinateurs hôtes et services
Dans Checkmk, tous les objets à surveiller sont organisés selon une structure hiérarchique d'hôtes et de services. Cependant, le concept d'hôte n'existe pas sous cette forme dans les services basés sur le cloud. Afin de préserver la simplicité et la cohérence de Checkmk, nous effectuons l'affectation des objets GCP à notre schéma hôte/service. Chacun de vos projets dans Google Cloud est affecté à son propre hôte dans Checkmk. Tous les produits cloud que vous souhaitez superviser dans ce projet seront alors répartis entre plusieurs services sur cet ordinateur hôte dédié.
Un petit projet dans lequel une seule machine virtuelle Compute Engine est en cours d'exécution peut alors se présenter comme suit dans la supervision Checkmk :

3.2. Accès à GCP
GCP fournit une API basée sur HTTP grâce à laquelle les données de surveillance peuvent également être récupérées.
Checkmk accède à cette API via l’agent spécial agent_gcp.
Celui-ci remplace l’agent Checkmk, mais — contrairement à ce dernier — s’exécute localement sur le serveur Checkmk.
4. Préparation de GCP pour Checkmk
4.1. Obtention d'un identifiant de projet
Connectez-vous à la console Google Cloud. Assurez-vous que le bon projet est sélectionné dans la barre de titre ou sélectionnez ici le projet à soumettre à la supervision.
Ouvrez ensuite le tableau de bord du projet. Vous devriez y trouver — si le tableau de bord correspond toujours à la configuration standard — une fiche contenant l'Project ID. Copiez ou notez ces informations.

Si la fiche contenant les informations sur le projet n'apparaît plus dans votre tableau de bord, vous pouvez également trouver l'ID nécessaire via l'Project settings :

4.2. Création d'un utilisateur
Ensuite, ouvrez la gestion des utilisateurs sous IAM & Admin.
Dans l'aperçu situé à gauche, vous devez maintenant sélectionner « Service Accounts », puis cliquer en haut sur « Create Service Account ».
Choisissez ici un nom pour le compte de service.
Nous vous recommandons de donner à ce compte un nom qui indique clairement à quoi il sert, par exemple « checkmk-monitoring ».
En plus d’un nom descriptif, vous pouvez éventuellement saisir une description — une description
du compte de service.
Après avoir cliqué sur « Create and continue », vous devrez attribuer les deux rôles, « Monitoring Viewer » et « Cloud Asset Viewer », à ce compte de service.
Pour ce faire, cliquez dans le champ « Select a role » et saisissez le nom du rôle.
Remarque : si vous saisissez « Supervision Viewer » dans le champ, une série de rôles portant des noms similaires s’affichera. Veillez à sélectionner bien « Supervision Viewer ».
Une fois les rôles sélectionnés, vous pouvez ignorer l'étape facultative suivante et cliquer directement sur «Done».
4.3. Création d’une clé
Afin de pouvoir accéder aux données de supervision et d’actifs de votre Google Cloud via ce nouveau compte de service, vous devrez encore créer une clé. Vous enregistrerez cette clé ultérieurement dans la règle correspondante dans Checkmk ou dans l’Password store.
Dans l’aperçu d’Service accounts for project My Project, vous pouvez cliquer sur les trois points situés dans la ligne correspondant à votre nouveau compte de service et sélectionner « Manage keys ».
Cliquez ensuite sur « Add key », puis sur « Create new key ».
Veillez à sélectionner « JSON » comme format et cliquez sur « Create ».
Ce clic sur « Create » — facilement négligé — télécharge un fichier au format JSON.
Conservez ce fichier en lieu sûr pour le moment, car vous ne pourrez pas le télécharger à nouveau.
Nous vous recommandons toutefois de supprimer ce fichier après avoir enregistré son contenu dans Checkmk (voir Création d’une règle pour les agents GCP).
Si nécessaire, une nouvelle clé doit être créée et l’ancienne supprimée définitivement.
4.4. Activation des API dans le projet GCP
Sur la page d’aperçu de votre projet GCP, vous trouverez également l’entrée «APIs & Services».
Dans cet aperçu, checkez si l’API «Cloud Asset API» apparaît dans la liste des «Enabled APIs & services».
Si ce n’est pas le cas, activez cette API via le bouton «Enable APIs and services».
Après l’activation, il faudra quelques minutes avant que l’API ne soit effectivement accessible.
4.5. Supervision des informations de facturation
Dans Google Cloud Platform, les informations de facturation sont stockées séparément des ressources. En règle générale, des projets distincts sont créés pour l’analyse des coûts dans GCP, dans lesquels les informations de facturation d’autres projets sont également collectées. Afin de pouvoir effectuer la supervision de ces informations avec Checkmk, il est essentiel que ces données soient exportées vers BigQuery au sein de GCP. Seules les données disponibles dans les tables BigQuery sont accessibles à distance — et donc par Checkmk. La procédure de configuration d’un tel export au sein de GCP est expliquée en détail dans le document « Exporter les données de facturation du cloud vers BigQuery » dans les pages d’aide de GCP.
Si vous avez configuré BigQuery ou si vous l’utilisez déjà, vous trouverez une liste des tables qu’il contient dans l’SQL workspace du projet de comptabilité. Ouvrez la table du projet de comptabilité et cliquez sur l’onglet «Details». Sous «Table ID», vous trouverez les informations que vous devrez saisir lors de la création de la règle dans Checkmk à l’adresse Costs > BigQuery table ID.
Le service de supervision des coûts de projet est conçu comme un aperçu. Seuls les coûts mensuels des projets individuels sont affichés et suivis. Vous pouvez définir des valeurs seuils pour ces coûts mensuels à l’aide de la règle « GCP Cost ».
5. Configuration de la supervision dans Checkmk
5.1. Création d'un ordinateur hôte pour GCP
Créez maintenant un ordinateur hôte pour la supervision de GCP dans Checkmk. Vous pouvez attribuer le nom de domaine de votre choix. Si vous souhaitez surveiller plusieurs projets dans GCP, vous devez créer un ordinateur hôte distinct dans Checkmk pour chaque projet.
Important : étant donné que GCP, en tant que service, ne dispose ni 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 familye sur No IP.

5.2. Configuration de l'agent GCP
Comme mentionné au début de cet article, les projets sur la plateforme Google Cloud sont supervisés par un agent spécial. Cet agent est configuré à l'aide d'une règle, que vous pouvez trouver via Setup > Agents > VM, cloud, container > Google Cloud Platform (GCP).
Dans le champ correspondant, saisissez l'Project ID que vous avez précédemment recherchée dans votre projet.
Sous « JSON credentials for service account », vous devez ensuite saisir la clé que vous avez créée précédemment pour votre compte de service. Vous devrez y copier l'objet JSON dans son intégralité (y compris les accolades).

Sous « GCP services to monitor », vous pouvez désormais sélectionner les produits GCP qui doivent être soumis à la supervision de l’agent spécial. Afin de rendre les requêtes API aussi économiques que possible, nous vous recommandons de ne sélectionner que les produits qui sont réellement utilisés dans votre projet.
5.3. Services sur l'ordinateur hôte GCP lui-même
Lancez maintenant la reconnaissance du service de l'hôte GCP nouvellement créé, dans lequel Checkmk devrait désormais trouver un certain nombre de services. Une fois les services ajoutés, voici à quoi cela ressemblera après avoir activé les modifications dans la supervision :

5.4. Création d'ordinateurs hôtes pour les instances de machine virtuelle Compute Engine
Les services attribués aux instances de machine virtuelle Compute Engine ne sont pas attribués à l’hôte GCP, mais à ce que l’on appelle des hôtes ferroutés.
Le fonctionnement est le suivant : les données récupérées depuis l’hôte GCP sont distribuées à ces hôtes ferroutés, qui fonctionnent sans agent de supervision propre.
Un hôte ferrouté est attribué à chaque instance de machine virtuelle.
Les noms de ces hôtes ferroutés sont composés de l’ID de votre projet, d’un trait de soulignement et du nom complet de l’instance.
Par exemple, si votre projet porte l’ID my-project-19001216 et que vous effectuez la supervision d’une VM nommée my-instance01, l’hôte ferrouté sera nommé my-project-19001216_my-instance01.
Vous pouvez soit créer ces hôtes manuellement, soit — si possible — laisser cette tâche à la gestion dynamique des hôtes.
Configuration de la gestion dynamique des hôtes
En tant qu’utilisateur de l’une de nos éditions commerciales,
vous pouvez simplement laisser la gestion dynamique des hôtes se charger de la création et de la suppression des hôtes pour vos instances de machine virtuelle.
L’entrée Setup > Hosts > Dynamic host management vous mène à la page d’aperçu de toutes les connexions déjà configurées.
Cliquez sur
Add connection, puis attribuez à la connexion un ID et un Title.
Toutes les options disponibles dans l'Connection properties ne sont pas abordées ci-dessous. Consultez l'aide en ligne et l'article principal lié ci-dessus si vous avez des questions.
Tout d'abord, assurez-vous que le mode Show more est activé dans la case de dialogue « Connection properties » afin que toutes les options disponibles s'affichent.
Ensuite, sous « Piggyback creation options », cliquez sur « Add new element ». Personnalisez le dossier dans lequel les ordinateurs hôtes de vos instances de VM doivent être créés. Les paramètres présélectionnés (Host attributes) sont globalement corrects pour les hôtes ferroutés et n’ont pas vraiment besoin d’être modifiés.
En activant l'option « Delete vanished hosts », vous pouvez vous assurer que les hôtes ferroutés pour lesquels aucune nouvelle donnée n'est reçue pendant une période de temps spécifiée seront automatiquement supprimés.
Dans le cadre de la supervision de vos projets GCP, l'option « Restrict source hosts » doit être activée. Saisissez ici votre ordinateur hôte GCP à partir de la section « Création d'un ordinateur hôte pour GCP » dans Checkmk.
À titre d'exemple, la configuration d'une telle connexion pourrait alors se présenter comme suit :

Création manuelle d'ordinateurs hôtes pour les instances de VM
Vous pouvez également créer manuellement des ordinateurs hôtes pour les données ferroutées. Ce faisant, il est important que les noms des ordinateurs hôtes correspondent exactement au schéma décrit ci-dessus.
L’instruction |
Configurez les ordinateurs hôtes pour ces machines virtuelles Compute Engine sans adresse IP (à l'instar de l'ordinateur hôte GCP) et sélectionnez No API integrations, no Checkmk agent comme agent de supervision. Si vous sélectionnez également l'option « Always use and expect piggyback data » sous « Piggyback », vous recevrez une alerte en conséquence si les données ne parviennent pas.

6. Options de diagnostic
6.1. Le service Exceptions
Le service « Exceptions » vous aide à configurer une supervision GCP et vous assiste également en cas de problèmes futurs rencontrés lors de la communication avec l’API Google Cloud. Tous les messages d’erreur que l’API Google Cloud renvoie à l’agent spécial sont collectés et traités ici. En cas d’erreur, ce service devient par défaut « CRIT » et, dans son message d’Summary, il vous indiquera où se situe le problème.

En cliquant sur le nom du service, vous obtiendrez alors un message très détaillé, souvent accompagné d’un lien vers l’emplacement exact de votre projet GCP où un paramètre différent est nécessaire, par exemple. Dans l’exemple suivant, l’Cloud Asset API est désactivée dans le projet surveillé.

Un clic sur l'
« WWW globe » vous mènera alors à la page exacte de votre projet où cette API peut être activée.
7. Tableaux de bord
Pour vous permettre de vous familiariser facilement avec la supervision de GCP, Checkmk fournit, dans Checkmk Ultimate,
deux tableaux de bord intégrés : GCP GCE instances et GCP storage buckets.
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 Compute Engine, où vous pouvez comparer l’état actuel à gauche et l’historique chronologique des métriques les plus importantes à droite :

Le tableau de bord des compartiments 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. À droite, les métriques les plus importantes sont à nouveau affichées par ordre chronologique :

