SAP HANA database monitoring

Deprecation notice

This extension documentation is now deprecated and will no longer be updated. We recommend using the new SAP HANA Database extension for improved functionality and support.

Learn how to monitor your SAP HANA database using the SAP HANA database ActiveGate extension.

Starting with Dynatrace OneAgent and ActiveGate version 1.231, we are upgrading the Extension Framework (also referred to as the plugins framework) from Python 3.6 to Python 3.8.

  • Consequences: Some Dynatrace extensions running in your environment may stop working and require redeployment of a new version prepared for Python 3.8.
  • Symptoms:
    • No data is provided for affected metrics on dashboards, alerts, and custom device pages populated by the affected extension metrics.
    • Extension logs display errors. Most often this will manifest itself as Python ModuleNotFoundError in the PluginAgent log.
    • Sometimes the Python virtual machine crashes.
  • Impact: This issue affects only those extensions that use native libraries called from Python code distributed with the extension.

For remediation details, see Dynatrace Extensions.

Prerequisites

  • Environment ActiveGate with remote access to the SAP HANA database server
  • A SAP HANA database user with the PUBLIC and MONITORING roles
  • SAP hdbcli Python library present on the ActiveGate host (see configuration instructions below)

OneAgent on HANA host

You can optionally install OneAgent on a HANA host to get additional infrastructure data related to disk space and networking, as well as host crash and availability monitoring. However, OneAgent installed on a HANA host may interfere with database updates if it has automatic process injection enabled (default). If you decide to have OneAgent installed on your HANA host, make sure you disable process auto-injection.

Disable auto-injection at installation time

To install OneAgent with the parameters to enable Infrastructure Monitoring mode and disable process injection, run the command below:

/bin/sh Dynatrace-OneAgent-Linux-<version>.sh --set-monitoring-mode=infra-only --set-auto-injection-enabled=false

Disable auto-injection after OneAgent installation

To disable auto-injection after OneAgent is installed

  1. Open a terminal on your HANA host.
  2. Run the oneagentctl command-line tool with the following parameters to enable Infrastructure Monitoring mode and disable process injection. The command will also restart the OneAgent service to automatically apply your changes.
./oneagentctl --set-monitoring-mode=infra-only --set-auto-injection-enabled=false --restart-service

For more information, see OneAgent configuration via command-line interface

Dynatrace web UI

  1. Go to Hosts or Hosts Classic (latest Dynatrace).
  2. Find your HANA host and select it.
  3. Select More () > Settings > Monitoring.
  4. Turn off Full-stack monitoring and Auto-injection.

Extension installation

To install the SAP HANA database extension

  1. In Dynatrace Hub, select SAP HANA Database.

  2. Select Download to get the extension ZIP file. Don't rename the file.

  3. Unzip the ZIP file to the plugin_deployment directory of your ActiveGate host.

  4. Download the SAP hdbcli python wheel file for your ActiveGate's operating system.

    • For ActiveGate version 1.230 and earlier, use the closest Python 3 version (cp3x) that is at or below version 3.6.
    • For ActiveGate version 1.231+, use the closest version of the library (cp3x) that is at or below version 3.8.

    If there is no cp38 version of the .whl file for your OS, use the version that is closest to either cp36 or cp38, depending on your ActiveGate version.

  5. Rename the file extension from .whl to .zip.

  6. Unzip the contents of the file into plugin_deployment/<EXTENSION-SPECIFIC-DIRECTORY>.
    The resulting file structure should look like this:

    plugin_deployment
    - <EXTENSION-SPECIFIC-DIRECTORY>
    - all files from unzipping extension ZIP file
    - hdbcli
    - __init__.py
    - dbapi.py
    - resultrow.py
    - hdbcli-<VERSION>.dist-info
    - pyhdbcli.abi3.so/pyhdbcli.pyd
  7. In Dynatrace, go to Settings > Monitoring > Monitored technologies.

  8. Select Add new technology monitoring > Add ActiveGate extension.

  9. Select Upload extension and upload the extension ZIP file.

  10. After you upload the extension, go to Settings > Monitoring > Monitored technologies and switch to the Custom extensions tab.

  11. Find the extension and select it to open it for Endpoint configuration.

  12. Enter the endpoint information.

    SAP HANA database endpoint configuration

    Setting

    Details

    Endpoint name

    Enter a meaningful endpoint name.

    Debug logging?

    Select this only if a Dynatrace product expert requests it to investigate an issue.

    Name of custom device

    optional The default device name is <Host> - <Database Name>.

    Name of group

    optional Enter a custom group name for the new entity to be created. The default group name is SAP HANADB.

    Host

    The DNS or IP address that the database resides on.

    Port

    The default port is 3<Instance Number>15 or 3<Instance Number>40-42.

    Database user

    The user name of a SAP HANA database user with the PUBLIC and MONITORING roles.

    Database password

    The password of a SAP HANA database user with the PUBLIC and MONITORING roles.

    Capture slow-running queries

    SAP HANA Database extension version 1.004+ Some metrics require queries that can take longer than the extension timeout. This allows specific endpoints to not capture these metrics.1 Default is to capture these metrics.

    Choose ActiveGate

    Type or select an ActiveGate.

    1

    Currently, the only metric that would not be captured is Heap - Temporary Memory Used. See the Additional Information in the SAP HANA Documentation for more information about the view this metric uses.

Metrics

Available metrics are listed below.

License

Name
Comment
Splittings
License Status
TRUE, FALSE, EXPIRING_SOON (License Expires in less than 15 days)
SYSTEM_ID

Infrastructure

Name
Comment
Splittings
Disk I/O Speed - Read
MB/sec
HOST, SERVICE_NAME, TYPE
Disk I/O Speed - Write
MB/sec
HOST, SERVICE_NAME, TYPE
Disk Usage
Bytes
HOST
Host CPU Utilization
%
HOST
Network Traffic Rates - Received
KB/sec
HOST, INTERFACE
Network Traffic Rates - Transmitted
KB/sec
HOST, INTERFACE
Open Connections
Count of connections in RUNNING status
-

Memory

Name
Comment
Splittings
Column Tables Memory Used
Amount of used memory for the Column Store Tables
HOST, SERVICE_NAME
Global Memory Allocation Limit
Allocation limit for all processes
HOST
Heap - Temporary Memory Used
Sum of the Temporary Objects Sizes by Host
HOST
Host Used Memory
Size of the memory pool for all SAP HANA processes
HOST
Host Used Physical Memory
Used physical memory on the host
HOST
Max Heap Memory Usage
Max Memory Used in the categories Pool/ColumnStoreTables, Pool/PersistenceManager, Pool/RowEngine, Pool/Statistics
HOST, CATEGORY
Row Store Allocated Size
The amount of memory allocated for Row Store
HOST, SERVICE_NAME
Unloads Due To Low Memory
Number of Unloads due to reason "LOW MEMORY"
-

Replication

Name
Comment
Splittings
Full Sync Status
DISABLED, ENABLED, ACTIVE
HOSTS, SERVICE_NAME
Oldest Replication Snapshot
Seconds between now and the earliest snapshot for replication
-
Replication Errors
Number of replications with status ERROR
-
Replication Log Shipping Delay
Number of seconds between the last log position time and the shipped log position time
HOSTS, SERVICE_NAME
Replication Mode
SYNC, SYNCMEM, ASYNC, UNKNOWN
HOSTS, SERVICE_NAME
Replication Status
INITIALIZING, SYNCING, ACTIVE, ERROR, UNKNOWN
HOSTS, SERVICE_NAME
Secondary Failover Count
Number of times the primary has failed over to the secondary host
HOSTS, SERVICE_NAME
Services Unknown Replication Count
Number of services with replication status as UNKNOWN
-

Backups

Name
Comment
Splittings
Backup Failures
Number of backups in the FAILED state
TYPE
Previous Backup Duration
Number of seconds between the start and end of the most recent backup
TYPE
Time Since Previous Backup
Number of seconds since previous back up
TYPE

Services

Name
Comment
Splittings
Service CPU Utilization
%
HOST, SERVICE_NAME
Service Memory Usage
Bytes
HOST, SERVICE_NAME
Service Status
NO, YES, UNKNOWN, STARTING, STOPPING
HOST, SERVICE_NAME
Service Response Time
In milliseconds, the average of the last 1,000 requests to each service
HOST, SERVICE_NAME

Savepoints

Name
Comment
Splittings
Savepoints
The number of savepoints taken during that timeframe
-
Savepoints Critical Phase Duration
Amount of time spent in the critical phase portion of creating the savepoint
SERVICE_NAME
Time Since Previous Savepoint
Time since previous savepoint was taken.
-

SQL statements

Name
Comment
Splittings
Expensive Statements exceeding Duration Limit
Number of statements that took over the configured duration limit
-
Expensive Statements exceeding Memory Limit
Number of statements that took over the configured memory limit
-
Min SQL Plan Cache Hit Ratio
Minimum hit ratio of the SQL Plan Cache
-

Transactions

Name
Comment
Splittings
Blocked Transactions
Number of blocked transactions
-
Current Transaction Locks
Number of transactions with a lock where the status is not INACTIVE
-
Max MergeDog Thread Duration
The max execution time of the delta merge where the motivation is AUTO or CRITICAL
-
Max Redo Size
Max size of the redo log amount
-
Max Undo Size
Max size of the undo log amount
-
Waiting Threads
Number of threads that are not in the state INACTIVE or RUNNING
-