Configurer la collecte des métriques de surveillance SAP HANA

Ce guide vous explique comment configurer l'agent Google Cloud pour SAP afin de collecter les métriques de surveillance SAP HANA de vos systèmes SAP HANA.

Pour en savoir plus sur cette fonctionnalité, consultez la page Surveiller SAP HANA à l'aide de l'agent Google Cloud pour SAP.

Avant de commencer

Définir des rôles IAM

Pour autoriser l'agent Google Cloud pour SAP à collecter les métriques de surveillance SAP HANA, vous devez vous assurer que le compte de service utilisé par votre instance de VM Compute Engine ou votre serveur de solution Bare Metal inclut les rôles suivants :

Pour ajouter ces rôles requis à votre compte de service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à IAM

  2. Sélectionnez votre projet Google Cloud.

  3. Identifiez le compte de service auquel vous souhaitez ajouter un rôle.

    • Si ce compte de service ne figure pas déjà sur la liste des comptes principaux, cela signifie qu'aucun rôle ne lui a encore été attribué. Cliquez sur Ajouter, puis saisissez l'adresse e-mail du compte de service.
    • Si le compte de service figure déjà sur la liste des comptes principaux, il possède des rôles. Cliquez sur le bouton Modifier correspondant au compte de service que vous souhaitez modifier.
  4. Sélectionnez le rôle requis dans la liste des rôles disponibles :

    • Lecteur de Compute
    • Monitoring > Rédacteur de statistiques de surveillance
    • Secret Manager > Accesseur de secrets de Secret Manager
  5. Cliquez sur Ajouter ou sur Enregistrer pour appliquer le ou les rôles sélectionnés au compte de service.

Activer la collecte des métriques de surveillance SAP HANA

Pour activer la collecte des métriques de surveillance SAP HANA à l'aide de l'agent Google Cloud pour SAP, procédez comme suit :

  1. Établissez une connexion SSH avec votre instance de VM Compute Engine ou votre serveur de solution Bare Metal.

  2. Modifiez le fichier de configuration de l'agent :

    /etc/google-cloud-sap-agent/configuration.json

    Vous pouvez également effectuer cette configuration en exécutant des commandes. Pour en savoir plus, consultez Commandes de configuration pour l'agent Google Cloud pour SAP.

  3. Dans la section hana_monitoring_configuration, procédez comme suit :

    • Pour le paramètre enabled, définissez la valeur true.
    • Dans la section hana_instances, spécifiez les instances SAP HANA que l'agent doit surveiller.
    • Vous pouvez également définir des requêtes personnalisées. Pour en savoir plus sur la définition de requêtes personnalisées et pour consulter des exemples, consultez la section Définir des requêtes personnalisées.
    • Vous pouvez également désactiver les requêtes intégrées ou par défaut. Pour obtenir des instructions, consultez la section Désactiver une requête SQL.

      Pour plus d'informations sur les paramètres de configuration, consultez Paramètres de configuration.

  4. Si vous le souhaitez, dans la section cloud_properties, vous pouvez mettre à jour les valeurs de paramètres définies automatiquement. Pour ce faire, ajoutez la section cloud_properties à votre fichier de configuration, puis spécifiez les paramètres requis et leurs valeurs.

  5. Enregistrez le fichier de configuration.

  6. Redémarrez l'agent pour que les nouveaux paramètres prennent effet :

    sudo systemctl restart google-cloud-sap-agent

Exemples de fichiers de configuration

Instance de VM Compute Engine

L'exemple suivant est un fichier de configuration terminé de l'agent Google Cloud pour SAP s'exécutant sur unune instance de VM Compute Engine, où la collecte des métriques de surveillance SAP HANA est activée. Notez que la requête personnalisée incluse dans cet exemple, nommée custom_query, suit les consignes sur la définition de requêtes personnalisées spécifiées à la section Définir des requêtes personnalisées.

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": false,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "vm-instance-1",
    "image": "rhel-8"
  },
  "discovery_configuration": {
    "enable_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": true,
    "sample_interval_sec": 60,
    "query_timeout_sec": 30,
    "execution_threads": 20,
    "hana_instances": [
      {
        "name": "local",
        "sid": "DEH",
        "host": "localhost",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name",
        "hdbuserstore_key": "user_store_key"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name",
        "hdbuserstore_key": "user_store_key"
      }
    ],
    "queries": [
      {
        "name": "custom_query",
        "enabled": true,
        "sql": "SELECT * FROM MyTable;",
        "columns": [
          {
            "name": "string",
            "metric_type": "METRIC_LABEL",
            "value_type": "VALUE_STRING"
          },
          {
            "name": "bool",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_BOOL"
          },
          {
            "name": "int",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_INT64"
          },
          {
            "name": "double",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_DOUBLE"
          }
        ]
      },
      {
        "name": "default_host_queries",
        "enabled": false
      }
    ]
  }
}

Serveur de solution Bare Metal

L'exemple suivant est un fichier de configuration terminé de l'agent Google Cloud pour SAP s'exécutant sur unserveur de solution Bare Metal, où la collecte des métriques de surveillance SAP HANA est activée. Notez que la requête personnalisée incluse dans cet exemple, nommée custom_query, suit les consignes sur la définition de requêtes personnalisées spécifiées à la section Définir des requêtes personnalisées.

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "bms-machine-1"
"region": "us-central1", "image": "rhel-8" }, "discovery_configuration": { "enable_discovery": true }, "hana_monitoring_configuration": { "enabled": true, "sample_interval_sec": 60, "query_timeout_sec": 30, "execution_threads": 20, "hana_instances": [ { "name": "local", "sid": "DEH", "host": "localhost", "port": "30015", "user": "system", "secret_name": "password-secret-name", "hdbuserstore_key": "user_store_key" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "secret_name": "password-secret-name", "hdbuserstore_key": "user_store_key" } ], "queries": [ { "name": "custom_query", "enabled": true, "sql": "SELECT * FROM MyTable;", "columns": [ { "name": "string", "metric_type": "METRIC_LABEL", "value_type": "VALUE_STRING" }, { "name": "bool", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_BOOL" }, { "name": "int", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_INT64" }, { "name": "double", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_DOUBLE" } ] }, { "name": "default_host_queries", "enabled": false } ] } }

Définir une requête SQL personnalisée

L'agent Google Cloud pour SAP collecte les métriques de surveillance SAP HANA en exécutant des requêtes SQL sur vos instances SAP HANA. Outre ces requêtes par défaut, vous pouvez définir et exécuter des requêtes SQL personnalisées en procédant comme suit :

  1. Établissez une connexion SSH avec votre instance de VM Compute Engine ou votre serveur de solution Bare Metal.

  2. Modifiez le fichier de configuration de l'agent :

    /etc/google-cloud-sap-agent/configuration.json
  3. Dans la section hana_monitoring_configuration.queries, définissez votre requête personnalisée.

    Pour en savoir plus sur la définition de requêtes personnalisées et pour consulter des exemples, consultez la section Définir des requêtes personnalisées.

  4. Pour activer une requête personnalisée, définissez son paramètre enabled sur true.

  5. Enregistrez le fichier de configuration.

  6. Redémarrez l'agent pour que les nouveaux paramètres prennent effet :

    sudo systemctl restart google-cloud-sap-agent

Désactiver une requête SQL

Si vous ne souhaitez exécuter aucune des requêtes SQL intégrées fournies par l'agent Google Cloud pour SAP ou des requêtes personnalisées que vous définissez, vous pouvez désactiver la requête SQL en procédant comme suit :

  1. Établissez une connexion SSH avec votre instance de VM Compute Engine ou votre serveur de solution Bare Metal.

  2. Modifiez le fichier de configuration de l'agent :

    /etc/google-cloud-sap-agent/configuration.json
  3. Pour désactiver une requête intégrée ou par défaut, incluez les éléments suivants dans la section hana_monitoring_configuration.queries :

    {
    "name": "default_QUERY_NAME",
    "enabled": false
    }

    Remplacez QUERY_NAME par le nom de la requête par défaut. Pour en savoir plus sur les requêtes par défaut, consultez la documentation de référence sur les requêtes par défaut.

  4. Pour désactiver une requête personnalisée, définissez le paramètre enabled sur false pour cette requête personnalisée.

  5. Enregistrez le fichier de configuration.

  6. Redémarrez l'agent pour que les nouveaux paramètres prennent effet :

    sudo systemctl restart google-cloud-sap-agent

Paramètres de configuration

Le tableau suivant explique les paramètres de configuration de l'agent Google Cloud pour SAP qui sont spécifiques à la collecte des métriques de surveillance pour SAP HANA.

Paramètres
provide_sap_host_agent_metrics

Boolean

Pour activer la collecte des métriques requises par l'agent hôte SAP, spécifiez true. La valeur par défaut est true.
Ne définissez pas provide_sap_host_agent_metrics sur false, sauf si vous êtes dirigé par le service client Cloud Customer Care ou l'assistance SAP.

bare_metal

Boolean

Lorsque l'agent est installé sur un serveur de solution Bare Metal, spécifiez true. La valeur par défaut est false.

log_level

String

Pour définir le niveau de journalisation de l'agent, définissez la valeur requise. Les niveaux de journalisation disponibles sont les suivants :

  • DEBUG
  • INFO
  • WARNING
  • ERROR

La valeur par défaut est INFO. Ne modifiez pas le niveau de journalisation, sauf si vous êtes dirigé par le service client Cloud Customer Care.

log_to_cloud

Boolean

Pour rediriger les journaux de l'agent vers Cloud Logging, spécifiez true. La valeur par défaut est true.

cloud_properties.project_id

String

Si votre système SAP s'exécute sur un serveur de solution Bare Metal, spécifiez l'ID du projet Google Cloud que vous utilisez avec la solution Bare Metal.

Lorsque l'agent s'exécute sur une instance de VM, il détecte automatiquement l'ID du projet par défaut.

cloud_properties.instance_name

String

Si votre système SAP s'exécute sur une instance de VM Compute Engine, spécifiez le nom de cette instance. L'agent détecte automatiquement le nom de l'instance de VM lors de l'installation.

Si votre système SAP s'exécute sur un serveur de solution Bare Metal, spécifiez le nom de ce serveur.

cloud_properties.region

String

Si votre système SAP s'exécute sur un serveur de solution Bare Metal, spécifiez la région du serveur de solution Bare Metal.

Lorsque l'agent s'exécute sur une instance de VM, il utilise par défaut la région de l'instance de VM sur laquelle il est installé.

cloud_properties.zone

String

Lorsque l'agent s'exécute sur une instance de VM, il utilise par défaut la zone de l'instance de VM sur laquelle il est installé.

cloud_properties.image

String

Indiquez le nom d'image de l'OS de l'instance.

Lorsque l'agent s'exécute sur une instance de VM, il détecte par défaut l'image d'OS de l'instance de VM sur laquelle il est installé.

cloud_properties.numeric_project_id

String

Spécifiez l'ID numérique du projet Google Cloud dans lequel le système SAP est exécuté.

Lorsque l'agent s'exécute sur une instance de VM, il détecte automatiquement l'ID numérique du projet par défaut.

discovery_configuration.enable_workload_discovery

Boolean

Pour permettre à l'agent de collecter les noms et les versions des produits SAP exécutés sur l'hôte, spécifiez true. La valeur par défaut est true.

Pour plus d'informations, consultez le codebase de l'agent dans le dépôt GitHub google-cloud-sap-agent sous GoogleCloudPlatform/sapagent.

discovery_configuration.enable_discovery

Boolean

Pour envoyer à Cloud Logging les informations collectées par l'agent sur les produits SAP exécutés sur l'hôte, spécifiez true. La valeur par défaut est true.

Si vous spécifiez la valeur false, l'agent stocke les informations collectées sur l'hôte et ne les envoie pas à Cloud Logging.

hana_monitoring_configuration.enabled

Boolean

Facultatif. Pour autoriser l'agent Google Cloud pour SAP à collecter les métriques de surveillance SAP HANA, spécifiez true. La valeur par défaut est false.

Les paramètres enfants suivants ne s'appliquent que lorsque vous spécifiez hana_monitoring_configuration.enabled: true.
hana_monitoring_configuration.sample_interval_sec

Int

Facultatif. Spécifiez l'intervalle d'échantillonnage, en secondes, qui détermine la fréquence à laquelle l'agent Google Cloud pour SAP interroge vos instances SAP HANA pour collecter les métriques de surveillance SAP HANA. La valeur par défaut est de 300 secondes.

Pour chaque requête définie dans le fichier de configuration de l'agent Google Cloud pour SAP, vous pouvez remplacer l'intervalle d'échantillonnage global en spécifiant l'intervalle requis sur le paramètre sample_interval_sec. Les intervalles d'échantillonnage doivent être d'au moins 5 secondes.

hana_monitoring_configuration.query_timeout_sec

Int

Facultatif. Indiquez le délai avant expiration de chaque requête adressée aux instances SAP HANA. La valeur par défaut est de 300 secondes.

hana_monitoring_configuration.execution_threads

Int

Facultatif. Spécifiez le nombre de threads utilisés pour envoyer des requêtes aux instances SAP HANA. Chaque requête s'exécute sur son propre thread. La valeur par défaut est 10.

hana_monitoring_configuration.hana_instances.name

String

Spécifiez l'identifiant de nom de votre instance SAP HANA.

hana_monitoring_configuration.hana_instances.sid

String

Spécifiez le SID de votre instance SAP HANA. Cette chaîne est ajoutée en tant que libellé à toutes les métriques résultant de l'interrogation de vos instances SAP HANA.

hana_monitoring_configuration.hana_instances.host

String

Spécifiez l'identifiant de la machine locale ou distante qui héberge votre instance SAP HANA. Les valeurs acceptées sont les suivantes :

  • Si l'hôte est un ordinateur local, spécifiez la chaîne localhost ou l'adresse IP de rebouclage de l'hôte local, comme 127.0.0.1.
  • Si l'hôte est une machine distante, spécifiez son adresse IP interne ou externe.
hana_monitoring_configuration.hana_instances.port

String

Spécifiez le port sur lequel l'instance SAP HANA accepte les requêtes. Pour la première ou la seule instance de base de données locataire, le port est 3NN15, où NN correspond au numéro de l'instance SAP HANA.

hana_monitoring_configuration.hana_instances.user

String

Spécifiez le compte utilisateur utilisé pour interroger l'instance SAP HANA.

hana_monitoring_configuration.hana_instances.password

String

Facultatif. Spécifiez le mot de passe, en texte brut, qui authentifie le compte utilisateur pour interroger l'instance SAP HANA.

Pour l'authentification, vous devez spécifier l'un des éléments suivants :

  • Le mot de passe en texte brut du paramètre password.
  • (Recommandé) Si vous utilisez Secret Manager pour stocker le mot de passe en tant que secret, vous devez spécifier le nom de secret correspondant au paramètre secret_name.
  • (Recommandé) Une clé hdbuserstore pour le paramètre hdbuserstore_key.
hana_monitoring_configuration.hana_instances.secret_name

String

Facultatif. Spécifiez le nom du secret dans Secret Manager qui stocke le mot de passe du compte utilisateur.

hana_monitoring_configuration.hana_instances.hdbuserstore_key

String

Pour authentifier l'utilisateur SAP HANA que vous spécifiez pour user, spécifiez une clé hdbuserstore que vous avez créée pour cet utilisateur.

Pour utiliser une clé hdbuserstore pour l'authentification, assurez-vous de remplir les conditions suivantes :

  • Les outils SAP hdbsql et hdduserstore sont installés sur l'instance de calcul hébergeant l'agent.
  • La clé hdbuserstore correspond à une instance SAP HANA spécifique. Vous ne pouvez pas utiliser de clés contenant les noms d'hôte de plusieurs instances SAP HANA.

Si vous spécifiez hdbuserstore_key, vous pouvez ignorer les paramètres host et port.

hana_monitoring_configuration.hana_instances.enable_ssl

Boolean

Facultatif. Indique si SSL est activé ou non dans votre instance SAP HANA. La valeur par défaut est false.

hana_monitoring_configuration.hana_instances.host_name_in_certificate

String

Si vous spécifiez enable_ssl: true pour une instance SAP HANA, vous devez spécifier le nom d'hôte défini dans le certificat SSL.

hana_monitoring_configuration.hana_instances.tls_root_ca_file

String

Si vous spécifiez enable_ssl: true pour une instance SAP HANA, vous devez spécifier le chemin d'accès à votre certificat de sécurité.

hana_monitoring_configuration.queries.enabled

Boolean

Facultatif. Pour activer une requête SQL pour toutes vos instances SAP HANA, spécifiez la valeur true du paramètre enabled pour cette requête SQL.

hana_monitoring_configuration.queries.name

String

Si vous avez défini des requêtes personnalisées dans votre fichier de configuration, vous devez spécifier un nom unique pour chacune d'entre elles.

Le nom de la requête doit être unique, car il permet de créer l'URL par défaut de la métrique dans Monitoring.

hana_monitoring_configuration.queries.sql

String

Spécifiez l'instruction SQL que l'agent émet à vos instances SAP HANA.

L'instruction SQL doit être conforme à la syntaxe SQL définie par SAP dans la documentation SAP HANA SQL and System Views Reference.
hana_monitoring_configuration.queries.sample_interval_sec

Int

Facultatif. Spécifiez l'intervalle d'échantillonnage pour la requête SQL. Cette opération remplace l'intervalle d'échantillonnage global. Sa valeur doit être d'au moins 5 secondes.

hana_monitoring_configuration.queries.columns.name

String

Spécifiez un nom qui identifie de manière unique chaque colonne.

Le nom de colonne doit être unique, car il permet de créer l'URL par défaut de la métrique dans Monitoring.

hana_monitoring_configuration.queries.columns.metric_type

String

Pour le traitement par Monitoring, spécifiez l'un des types de métriques suivants : METRIC_LABEL, METRIC_GAUGE ou METRIC_CUMULATIVE.

Les métriques de type METRIC_LABEL sont ajoutées en tant que libellés à toutes les métriques METRIC_GAUGE et METRIC_CUMULATIVE envoyées à Monitoring.

hana_monitoring_configuration.queries.columns.value_type

String

Pour la gestion par Monitoring, spécifiez un type de données compatible avec le type de métrique.

Les types de données acceptés sont les suivants : VALUE_BOOL, VALUE_INT64, VALUE_STRING ou VALUE_DOUBLE. Pour en savoir plus, consultez la page Combinaison acceptée.

hana_monitoring_configuration.queries.columns.name_override

String

Facultatif. Pour le traitement par Monitoring, spécifiez le chemin d'accès que vous souhaitez afficher dans l'URL de la métrique au lieu des noms de requête et de colonne. Exemple :

  • URL par défaut de la métrique : workload.googleapis.com/sap/hanamonitoring/QUERY_NAME/COLUMN_NAME
  • URL de métrique utilisant un chemin personnalisé : workload.googleapis.com/sap/hanamonitoring/CUSTOM_PATH

Afficher les métriques collectées

Pour visualiser les métriques de surveillance SAP HANA collectées par l'agent, vous pouvez utiliser les tableaux de bord personnalisés suivants fournis par Google Cloud :

  • Présentation détaillée de l'agent pour SAP HANA : Ce tableau de bord fournit des graphiques qui indiquent l'état des métriques suivantes : mémoire de l'instance, mémoire de service utilisée, mémoire maximale estimée du schéma, taille totale de la mémoire du rowstore, anomalies de lecture du schéma, anomalies d'écriture du schéma, anomalies de décompte du dernier enregistrement compressé du schéma, connexions système, alertes, pourcentage de processeur pour les cinq premières VM, pourcentage de mémoire pour les cinq premières VM et hôtes par région.

    Le fichier JSON de ce tableau de bord est agent-for-sap-hana-detailed-overview.json.

  • Performances de l'agent pour SAP HANA : Ce tableau de bord fournit des graphiques qui indiquent des valeurs de métriques brutes pour les métriques suivantes : mémoire de l'instance, anomalies de lecture et d'écriture de schéma, performances du schéma, utilisation de la mémoire, anomalies de décompte d'enregistrements du schéma, mémoire totale du service utilisée, taille de la mémoire du rowstore, connexions inactives du système et connexions en cours, mémoire de connexion et de rowstore, enregistrements totaux du schéma et taille totale maximale estimée du schéma.

    Le fichier JSON de ce tableau de bord est agent-for-sap-hana-performance.json.

Installer des tableaux de bord

Pour installer un tableau de bord personnalisé, procédez comme suit :

Console Google Cloud

  1. Dans la console Google Cloud, accédez à la page Monitoring :

    Accéder à Monitoring

  2. Dans le panneau de navigation Monitoring, cliquez sur Tableaux de bords.

  3. Cliquez sur l'onglet Exemple de bibliothèque.

    Affichage de l'onglet "Exemple de bibliothèque" sélectionné.

  4. Pour filtrer les tableaux de bord personnalisés spécifiques à l'agent, saisissez Agent for SAP dans le champ Filtre.

  5. (Facultatif) Pour afficher les détails d'un tableau de bord ou pour prévisualiser son contenu, cliquez sur Aperçu.

  6. Sélectionnez le tableau de bord que vous souhaitez installer.

  7. Cliquez sur Importer, puis sur Confirmer.

    Le tableau de bord est ajouté aux tableaux de bord disponibles dans votre projet Google Cloud. Pour afficher votre tableau de bord, suivez les instructions de la section Afficher le tableau de bord installé.

Google Cloud CLI

  1. Ouvrez Cloud Shell.

    Ouvrir Cloud Shell

  2. Dans Cloud Shell, clonez ou téléchargez le dépôt :

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/

  3. Dans Cloud Shell, installez le tableau de bord requis à l'aide du fichier JSON correspondant :

    gcloud monitoring dashboards create --config-from-file=CONFIG_FROM_FILE

    Remplacez CONFIG_FROM_FILE par le chemin d'accès au fichier JSON contenant la configuration du tableau de bord. Les fichiers de configuration du tableau de bord peuvent se trouver à l'emplacement monitoring-dashboard-samples/dashboards/google-cloud-agent-for-sap.

    Le tableau de bord est ajouté aux tableaux de bord disponibles dans votre projet Google Cloud. Pour afficher votre tableau de bord, suivez les instructions de la section Afficher le tableau de bord installé.

Afficher les tableaux de bord installés

Pour afficher les tableaux de bord installés, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Monitoring :

    Accéder à Monitoring

  2. Dans le panneau de navigation Monitoring, cliquez sur Tableaux de bords.

  3. Cliquez sur le nom du tableau de bord dans la liste.

Si vous disposez d'un grand nombre de tableaux de bord, vous pouvez appliquer un filtre pour n'afficher que les tableaux de bord personnalisés ou le nom du nouveau tableau de bord. Pour en savoir plus sur le filtrage de cette liste, consultez la section Afficher des tableaux de bord personnalisés.

L'image suivante est un exemple qui montre une partie du tableau de bord personnalisé pour les métriques SAP HANA dans Monitoring.

Capture d'écran montrant le tableau de bord personnalisé pour les métriques SAP HANA dans Monitoring