Déterminer l'utilisation du serveur pour les rapports

Vous pouvez consulter un historique des données d'utilisation du serveur à l'aide de l'outil Stackdriver Logging disponible dans Google Cloud Console. Par exemple, vous pouvez identifier toutes les fois où une VM appartenant à un nœud donné est placée sur un serveur physique et récupérer les ID de ce serveur.

Avant de commencer

Pour consulter l'utilisation du serveur physique sur Stackdriver Logging, vous devez activer l'API Stackdriver Logging avant de lancer des VM sur des nœuds à locataire unique. Ainsi, vous pouvez collecter les données depuis le début. Si vous n'avez pas activé la journalisation avant de lancer les VM, vous pouvez toujours activer le service, mais vous ne collecterez des données qu'à partir de l'activation de la journalisation.

Activer l'API Stackdriver Logging

Obtenir des ID de serveur

Pour obtenir l'ID de serveur physique de vos nœuds à locataire unique, procédez comme suit :

  1. Dans Cloud Console, accédez à la page Stackdriver Logging > Journaux (Visionneuse de journaux) :

    Accéder à la page "Visionneuse de journaux"

  2. Sélectionnez un projet Google Cloud existant si vous y êtes invité.

  3. Dans le premier menu déroulant, sélectionnez GCE VM Instance (Instance de VM GCE).

  4. Dans le troisième menu déroulant, sélectionnez un délai afin de restreindre les résultats.

  5. Dans la zone de texte, saisissez text:NotifyInstanceLocation.

    Capture d'écran des résultats du filtrage

  6. Développez les résultats de chaque entrée et recherchez le champ serverId. Le champ serverId est un identifiant unique pour la machine physique supportant votre nœud à locataire unique. Les serveurs physiques supportant le type de nœud n1-node-96-624 possèdent 56 cœurs physiques.

    Capture d'écran de l'ID du serveur

Exporter des données de licence vers BigQuery

Il est possible d'exporter vers un ensemble de données BigQuery les informations relatives aux événements système afin de déterminer l'utilisation par cœur ou par socket :

  1. Dans le premier menu déroulant, assurez-vous que la valeur Instance de VM GCE est sélectionnée.
  2. Cliquez sur Créer une exportation en haut de la visionneuse de journaux.
  3. Créez un récepteur de données en renseignant un Nom de récepteur, puis en sélectionnant BigQuery dans le champ Service du récepteur, et en choisissant un ensemble de données BigQuery.

Une fois créé, le récepteur de données recevra toutes les données relatives à l'activité du journal d'audit. Cela signifie que BigQuery recevra toutes les données à venir concernant l'utilisation du serveur. Notez que toute donnée antérieure à l'intégration de BigQuery ne sera PAS accessible.

Exemples de requêtes permettant d'identifier l'utilisation du serveur dans BigQuery

Dans cette section, nous partons du principe que vous savez exécuter des requêtes dans BigQuery.

Identifiez la liste des instances utilisant vos images personnalisées à l'aide de la requête suivante sur la table cloudaudit_googleapis_com_activity_[DATE] :

-- QUERY TO IDENTIFY ALL INSTANCE IDs USING A SPECIFIC SOURCE IMAGE
    SELECT resource.labels.instance_id, resource.labels.project_id, resource.labels.zone, disks.initializeparams.sourceimage
    FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_activity_*`, UNNEST(protopayload_auditlog.request_instances_insert.disks) AS disks
    WHERE disks.initializeparams.sourceimage LIKE '%[BYOL_IMAGE_NAME]%'
    

Ensuite, à partir de la liste des instances de VM, utilisez la requête suivante afin d'identifier les hôtes de chaque instance :

-- QUERY TO IDENTIFY ALL SERVER IDs USED BY A PROJECT
    SELECT protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.serverid, protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.timestamp,
    56 AS physical_cores
    FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_system_event_*`
    GROUP BY 1,2
    

Exemple de requête de jointure :

-- QUERY TO IDENTIFY ALL INSTANCE IDs USING A SPECIFIC SOURCE IMAGE
    SELECT
    resource.labels.instance_id, protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.serverid as server_id, protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.timestamp,
    56 AS physical_cores,
    2 AS physical_sockets
    FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_system_event_*`
    WHERE resource.labels.instance_id IN (
    SELECT resource.labels.instance_id
    FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_activity_*`, UNNEST(protopayload_auditlog.request_instances_insert.disks) AS disks
    WHERE disks.initializeparams.sourceimage LIKE '%[BYOL_IMAGE_NAME]%')
    GROUP BY 1,2,3
    ORDER BY 1 ASC,3 ASC;
    

où :

  • [MY_BYOL_PROJECT_SINK_NAME] est le nom du récepteur de données que vous avez créé
  • [BYOL_IMAGE_NAME] est le nom de l'image utilisée pour exploiter le modèle BYOL (Bring Your Own Licence)

Pour obtenir des informations sur l'utilisation des caractères génériques dans la sélection des dates ou pour obtenir des conseils utiles sur les requêtes sur des journaux d'audit Cloud sur BigQuery, veuillez consulter la documentation sur les journaux d'audit Cloud.

Étape suivante