SAP HANA

Supported OS Linux Windows Mac OS

Intégration2.2.1

Présentation

Ce check permet de surveiller SAP HANA 2.0 SPS 2 avec l’Agent Datadog.

Implémentation

Installation

Le check SAP HANA est inclus avec le package de l’Agent Datadog. Pour utiliser cette intégration, vous devez installer manuellement la bibliothèque hdbcli.

Pour Unix :

sudo -Hu dd-agent /opt/datadog-agent/embedded/bin/pip install hdbcli==2.10.15

Pour Windows :

"C:\Program Files\Datadog\Datadog Agent\embedded<VERSION_MAJEURE_PYTHON>\python.exe" -m pip install hdbcli==2.10.15

Préparer HANA

Pour interroger certaines vues, vous devez accorder des autorisations spécifiques à l’utilisateur de surveillance HANA de votre choix. Pour en savoir plus, consultez la section Accorder des autorisations.

Pour découvrir comment configurer le numéro de port pour les bases de données locataire, multi-locataires et système HANA, consultez la section de la documentation SAP relative aux connexions (en anglais).

Création des utilisateurs
  1. Pour créer un utilisateur, connectez-vous à la base de données système et exécutez la commande suivante :

    CREATE RESTRICTED USER <USER> PASSWORD <PASSWORD>;
    
  2. Exécutez la commande suivante pour autoriser l’utilisateur à se connecter au système :

    ALTER USER <USER> ENABLE CLIENT CONNECT;
    
  3. (facultatif) Pour éviter toute interruption de service, vous pouvez définir un mot de passe à long terme :

    ALTER USER <USER> DISABLE PASSWORD LIFETIME;
    
Accorder des autorisations
  1. Exécutez la commande suivante pour créer un rôle de surveillance (du nom de DD_MONITOR pour les exemples ci-dessous) :

    CREATE ROLE DD_MONITOR;
    
  2. Exécutez la commande suivante pour accorder un accès en lecture seule à l’ensemble des vues système :

    GRANT CATALOG READ TO DD_MONITOR;
    
  3. Exécutez les commandes suivantes afin d’accorder certaines autorisations pour chaque vue du système :

    GRANT SELECT ON SYS.M_DATABASE TO DD_MONITOR;
    GRANT SELECT ON SYS.M_DATABASES TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_BACKUP_PROGRESS TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_CONNECTIONS TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_DISK_USAGE TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_LICENSES TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_RS_MEMORY TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_SERVICE_COMPONENT_MEMORY TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_SERVICE_MEMORY TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_SERVICE_STATISTICS TO DD_MONITOR;
    GRANT SELECT ON SYS_DATABASES.M_VOLUME_IO_TOTAL_STATISTICS TO DD_MONITOR;
    
  4. Enfin, exécutez la commande suivante pour attribuer le rôle de surveillance à l’utilisateur de votre choix :

    GRANT DD_MONITOR TO <USER>;
    

Configuration

  1. Modifiez le fichier sap_hana.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance sap_hana. Consultez le fichier d’exemple sap_hana.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

  2. Redémarrez l’Agent.

Validation

Lancez la sous-commande status de l’Agent et cherchez sap_hana dans la section Checks.

Données collectées

Métriques

sap_hana.backup.latest
(gauge)
The time elapsed since the latest database backup was completed.
Shown as second
sap_hana.connection.empty
(gauge)
Historic connections that are removed after a period of time.
Shown as connection
sap_hana.connection.idle
(gauge)
The current number of idle connections.
Shown as connection
sap_hana.connection.open
(gauge)
The current number of connections.
Shown as connection
sap_hana.connection.queuing
(gauge)
The current number of queued connections.
Shown as connection
sap_hana.connection.running
(gauge)
The current number of running connections.
Shown as connection
sap_hana.cpu.service.utilized
(gauge)
The CPU utilization of services as a percentage.
Shown as percent
sap_hana.disk.free
(gauge)
The total free size of the disk in bytes.
Shown as byte
sap_hana.disk.size
(gauge)
The total size of the disk in bytes.
Shown as byte
sap_hana.disk.used
(gauge)
The total used size of the disk in bytes.
Shown as byte
sap_hana.disk.utilized
(gauge)
The utilization of the disk as a percentage.
Shown as percent
sap_hana.file.service.open
(gauge)
The number of open files.
Shown as file
sap_hana.license.expiration
(gauge)
The time until license expiration.
Shown as second
sap_hana.license.size
(gauge)
The total size of the license in gibibytes.
Shown as gibibyte
sap_hana.license.usable
(gauge)
The total usable size of the license in gibibytes.
Shown as gibibyte
sap_hana.license.used
(gauge)
The total used size of the license in gibibytes.
Shown as gibibyte
sap_hana.license.utilized
(gauge)
The utilization of the license as a percentage.
Shown as percent
sap_hana.memory.row_store.free
(gauge)
The total free amount of row store memory in bytes.
Shown as byte
sap_hana.memory.row_store.total
(gauge)
The total amount of row store memory in bytes.
Shown as byte
sap_hana.memory.row_store.used
(gauge)
The total used amount of row store memory in bytes.
Shown as byte
sap_hana.memory.row_store.utilized
(gauge)
The utilization of row store memory as a percentage.
Shown as percent
sap_hana.memory.service.compactor.free
(gauge)
The total free part of the service memory pool that can potentially be freed on memory shortage in bytes.
Shown as byte
sap_hana.memory.service.compactor.total
(gauge)
The total part of the service memory pool that can potentially be freed on memory shortage in bytes.
Shown as byte
sap_hana.memory.service.compactor.used
(gauge)
The total used part of the service memory pool that can potentially be freed on memory shortage in bytes.
Shown as byte
sap_hana.memory.service.compactor.utilized
(gauge)
The utilization of the part of the service memory pool that can potentially be freed on memory shortage as a percentage.
Shown as percent
sap_hana.memory.service.component.used
(gauge)
The total used amount of memory by service components in bytes.
Shown as byte
sap_hana.memory.service.heap.free
(gauge)
The total free amount of service heap memory in bytes.
Shown as byte
sap_hana.memory.service.heap.total
(gauge)
The total amount of service heap memory in bytes.
Shown as byte
sap_hana.memory.service.heap.used
(gauge)
The total used amount of service heap memory in bytes.
Shown as byte
sap_hana.memory.service.heap.utilized
(gauge)
The utilization of service heap memory as a percentage.
Shown as percent
sap_hana.memory.service.overall.free
(gauge)
The total free amount of service memory in bytes.
Shown as byte
sap_hana.memory.service.overall.physical.total
(gauge)
The total amount of service physical RAM in bytes.
Shown as byte
sap_hana.memory.service.overall.total
(gauge)
The total amount of service memory in bytes.
Shown as byte
sap_hana.memory.service.overall.used
(gauge)
The total used amount of service memory in bytes.
Shown as byte
sap_hana.memory.service.overall.utilized
(gauge)
The utilization of service memory as a percentage.
Shown as percent
sap_hana.memory.service.overall.virtual.total
(gauge)
The total amount of service virtual RAM in bytes.
Shown as byte
sap_hana.memory.service.shared.free
(gauge)
The total free amount of service shared memory in bytes.
Shown as byte
sap_hana.memory.service.shared.total
(gauge)
The total amount of service shared memory in bytes.
Shown as byte
sap_hana.memory.service.shared.used
(gauge)
The total used amount of service shared memory in bytes.
Shown as byte
sap_hana.memory.service.shared.utilized
(gauge)
The utilization of service shared memory as a percentage.
Shown as percent
sap_hana.network.service.request.active
(gauge)
The number of active requests to services.
Shown as request
sap_hana.network.service.request.external.total_finished
(count)
The number of completed external requests to services.
Shown as request
sap_hana.network.service.request.internal.total_finished
(count)
The number of completed internal requests to services.
Shown as request
sap_hana.network.service.request.pending
(gauge)
The number of pending requests to services.
Shown as request
sap_hana.network.service.request.per_second
(gauge)
The average number of requests per second of services over the last 1000 requests.
Shown as request
sap_hana.network.service.request.response_time
(gauge)
The average request response time of services over the last 1000 requests.
Shown as millisecond
sap_hana.network.service.request.total_finished
(count)
The total number of completed requests to services.
Shown as request
sap_hana.thread.service.active
(gauge)
The number of active threads used by services.
Shown as thread
sap_hana.thread.service.inactive
(gauge)
The number of inactive threads used by services.
Shown as thread
sap_hana.thread.service.total
(gauge)
The number of total threads used by services.
Shown as thread
sap_hana.uptime
(gauge)
The time elapsed since the database was started.
Shown as second
sap_hana.volume.io.read.count
(count)
The number of reads from the volume within the last interval.
Shown as read
sap_hana.volume.io.read.size.count
(count)
The number of bytes read from the volume within the last interval.
Shown as byte
sap_hana.volume.io.read.size.total
(gauge)
The total number of bytes read from the volume.
Shown as byte
sap_hana.volume.io.read.total
(gauge)
The total number of reads from the volume.
Shown as read
sap_hana.volume.io.read.utilized
(gauge)
The percentage of time spent reading from the volume.
Shown as percent
sap_hana.volume.io.throughput
(gauge)
The overall throughput of a volume in bytes per second.
Shown as byte
sap_hana.volume.io.utilized
(gauge)
The percentage of time spent accessing the volume.
Shown as percent
sap_hana.volume.io.write.count
(count)
The number of writes to the volume within the last interval.
Shown as write
sap_hana.volume.io.write.size.count
(count)
The number of bytes written to the volume within the last interval.
Shown as byte
sap_hana.volume.io.write.size.total
(gauge)
The total number of bytes written to the volume.
Shown as byte
sap_hana.volume.io.write.total
(gauge)
The total number of writes to the volume.
Shown as write
sap_hana.volume.io.write.utilized
(gauge)
The percentage of time spent writing to the volume.
Shown as percent

Événements

SAP HANA n’inclut aucun événement.

Checks de service

sap_hana.can_connect
Returns CRITICAL if the Agent is unable to connect to the monitored SAP HANA system, or OK otherwise.
Statuses: ok, critical

sap_hana.status
Returns OK if the monitored SAP HANA database is up, or CRITICAL otherwise.
Statuses: ok, critical

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.