• Home
  • Technology support
  • Dynatrace Extensions
  • Dynatrace extension required
  • SAP HANA database monitoring

SAP HANA database monitoring

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:

shell
/bin/sh Dynatrace-OneAgent-Linux-<version>.sh --set-infra-only=true --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.
shell
./oneagentctl --set-infra-only=true --set-auto-injection-enabled=false --restart-service

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

Dynatrace web UI

  1. In the Dynatrace menu, go to Hosts.
  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 the Dynatrace menu, go to Hub.

  2. Find and select SAP HANA Database.

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

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

  5. 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.

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

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

    File structure
    plaintext
    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
  8. In Dynatrace, go to Settings > Monitoring > Monitored technologies.

  9. Select Add new technology monitoring and then Add ActiveGate extension.

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

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

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

  13. Enter the endpoint information.

    Example configuration page

    SAP HANA database endpoint configuration

    SettingDetails

    Endpoint name

    Enter a meaningful endpoint name.

    Debug logging?

    Select this only if Dynatrace ONE requests it so they can 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

NameCommentSplittings
License StatusTRUE, FALSE, EXPIRING_SOON (License Expires in less than 15 days)SYSTEM_ID

Infrastructure

NameCommentSplittings
Disk I/O Speed - ReadMB/secHOST, SERVICE_NAME, TYPE
Disk I/O Speed - WriteMB/secHOST, SERVICE_NAME, TYPE
Disk UsageBytesHOST
Host CPU Utilization%HOST
Network Traffic Rates - ReceivedKB/secHOST, INTERFACE
Network Traffic Rates - TransmittedKB/secHOST, INTERFACE
Open ConnectionsCount of connections in RUNNING status-

Memory

NameCommentSplittings
Column Tables Memory UsedAmount of used memory for the Column Store TablesHOST, SERVICE_NAME
Global Memory Allocation LimitAllocation limit for all processesHOST
Heap - Temporary Memory UsedSum of the Temporary Objects Sizes by HostHOST
Host Used MemorySize of the memory pool for all SAP HANA processesHOST
Host Used Physical MemoryUsed physical memory on the hostHOST
Max Heap Memory UsageMax Memory Used in the categories Pool/ColumnStoreTables, Pool/PersistenceManager, Pool/RowEngine, Pool/StatisticsHOST, CATEGORY
Row Store Allocated SizeThe amount of memory allocated for Row StoreHOST, SERVICE_NAME
Unloads Due To Low MemoryNumber of Unloads due to reason "LOW MEMORY"-

Replication

NameCommentSplittings
Full Sync StatusDISABLED, ENABLED, ACTIVEHOSTS, SERVICE_NAME
Oldest Replication SnapshotSeconds between now and the earliest snapshot for replication-
Replication ErrorsNumber of replications with status ERROR-
Replication Log Shipping DelayNumber of seconds between the last log position time and the shipped log position timeHOSTS, SERVICE_NAME
Replication ModeSYNC, SYNCMEM, ASYNC, UNKNOWNHOSTS, SERVICE_NAME
Replication StatusINITIALIZING, SYNCING, ACTIVE, ERROR, UNKNOWNHOSTS, SERVICE_NAME
Secondary Failover CountNumber of times the primary has failed over to the secondary hostHOSTS, SERVICE_NAME
Services Unknown Replication CountNumber of services with replication status as UNKNOWN-

Backups

NameCommentSplittings
Backup FailuresNumber of backups in the FAILED stateTYPE
Previous Backup DurationNumber of seconds between the start and end of the most recent backupTYPE
Time Since Previous BackupNumber of seconds since previous back upTYPE

Services

NameCommentSplittings
Service CPU Utilization%HOST, SERVICE_NAME
Service Memory UsageBytesHOST, SERVICE_NAME
Service StatusNO, YES, UNKNOWN, STARTING, STOPPINGHOST, SERVICE_NAME
Service Response TimeIn milliseconds, the average of the last 1,000 requests to each serviceHOST, SERVICE_NAME

Savepoints

NameCommentSplittings
SavepointsThe number of savepoints taken during that timeframe-
Savepoints Critical Phase DurationAmount of time spent in the critical phase portion of creating the savepointSERVICE_NAME
Time Since Previous SavepointTime since previous savepoint was taken.-

SQL statements

NameCommentSplittings
Expensive Statements exceeding Duration LimitNumber of statements that took over the configured duration limit-
Expensive Statements exceeding Memory LimitNumber of statements that took over the configured memory limit-
Min SQL Plan Cache Hit RatioMinimum hit ratio of the SQL Plan Cache-

Transactions

NameCommentSplittings
Blocked TransactionsNumber of blocked transactions-
Current Transaction LocksNumber of transactions with a lock where the status is not INACTIVE-
Max MergeDog Thread DurationThe max execution time of the delta merge where the motivation is AUTO or CRITICAL-
Max Redo SizeMax size of the redo log amount-
Max Undo SizeMax size of the undo log amount-
Waiting ThreadsNumber of threads that are not in the state INACTIVE or RUNNING-