Monitor Sybase ASE database for performance and health, using remote monitoring.
Monitor Sybase ASE performance metrics to optimize database operations and ensure stability.
This Dynatrace extension monitors Sybase Adaptive Server Enterprise's health and performance. It is a remote monitoring solution implemented as an extension for Dynatrace ActiveGates. Metrics are obtained from the Sybase ASE monitoring tables using the Dynatrace JDBC datasource.
This extension is intended for users, who:
This extension enables you to:
Activate this extension on your Dynatrace tenant using the Dynatrace Hub.
This extension requires you to place the JDBC driver in the correct directory on their ActiveGate.
The jconn42.jar JDBC driver jar file can be found in your Sybase installation directory under:
<Sybase Installation Directory>/jConnect/classes/jconn42.jar
If you have jconn4.jar inside the directory above instead of jconn42.jar, download the updated version from the SAP marketplace following instructions in the SAP jConnect for JDBC Installation Guide.
The Jar file must be placed in the libs directory of your ActiveGate:
C:\ProgramData\dynatrace\remotepluginmodule\agent\conf\userdata\lib/var/lib/dynatrace/remotepluginmodule/agent/conf/userdata/libsThe extension must also be given a user account to query the monitoring views. Such account can be created using the following statement:
CREATE LOGIN dynatrace WITH PASSWORD <password>;GRANT ROLE mon_role TO dynatrace;
This user must be granted the mon_role role in order to read from the monitoring tables. Other user creation parameters can be found on the Sybase documentation.
Once your user is created and granted the correct permissions, you can create a monitoring configuration on an ActiveGate that can connect to the database. The host, port, connection string, and credentials are all required in order to connect to Sybase ASE. The connection string should be in a format similar to jdbc:sybase:Tds:<Ip Address>:<Port>
The Sybase Adaptive Server Enterprise extension is built on top of the Extension Framework 2.0, utilizing the JDBC datasource to obtain metrics. The extension uses features added in Dynatrace version 1.300, so your ActiveGate must be running version 1.300 or higher. This extension is limited to metrics available in the Sybase monitoring views.
The extension package contains:
The following entities are monitored:
The formula for DDU consumption of the extension is:
( (40 * # of Databases)+ (9 * # of Devices)+ (11 * # of IO Controllers)+ (14 * # of Cache Pools)) * 525.6 DDUs/year
DDU cost above doesn't include any possible Log events or Custom events triggered by the extension. For more information on this, see DDU log event cost and DDU custom event cost.
When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.
In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.
All metrics that aren't categorized into any feature set are considered to be the default and are always reported.
A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.
| Metric name | Metric key | Description |
|---|---|---|
| — | sybase.database.distinct_users | — |
| Metric name | Metric key | Description |
|---|---|---|
| Active Sessions | sybase.database.active_sessions.count | Number of active sessions on this Database |
| Metric name | Metric key | Description |
|---|---|---|
| User CPU Busy | sybase.database.percent_user_busy | Percent User CPU Busy |
| System CPU Busy | sybase.database.percent_system_busy | Percent System CPU Busy |
| IO CPU Busy | sybase.database.percent_io_busy | Percent IO CPU Busy |
| Run Queue Length | sybase.database.run_queue_length | Run queue length |
| Kernel Run Queue Length | sybase.database.kernel_run_queue_length | Kernel run queue length |
| Outstanding disk I/Os | sybase.database.outstanding_disk_ios | Outstanding disk I/Os |
| Disk Reads | sybase.database.disk_reads_per_second | Disk reads per second |
| Disk Writes | sybase.database.disk_writes_per_second | Disk writes per second |
| Network Reads | sybase.database.network_reads_per_second | Network reads per second |
| Network Writes | sybase.database.network_writes_per_second | Network writes per second |
| Metric name | Metric key | Description |
|---|---|---|
| Packets Sent | sybase.database.network.io_packets_sent.count | Number of packets sent |
| Packets Received | sybase.database.network.io_packets_received.count | Number of packets received |
| Bytes Sent | sybase.database.network.io_bytes_sent.count | Number of bytes sent |
| Bytes Received | sybase.database.network.io_bytes_received.count | Number of bytes received |
| Metric name | Metric key | Description |
|---|---|---|
| License Quantity | sybase.database.license_quantity | Quantity of licenses used for this feature. |
| License Expiration | sybase.database.license_expiry | Time Until License Expiration |
| Grace Period Expiration | sybase.database.grace_expiry | Time Until Grace Period Expiration |
| Metric name | Metric key | Description |
|---|---|---|
| Blocking Polls | sybase.io_controller.blocking_polls.count | Number of blocking polls |
| Non-Blocking Polls | sybase.io_controller.non_blocking_polls.count | Number of nonblocking polls |
| Event Polls | sybase.io_controller.blocking_event_polls.count | Number of polls returning an event |
| Non-Blocking Event Polls | sybase.io_controller.non_blocking_event_polls.count | Number of nonblocking polls returning an event |
| Full Polls | sybase.io_controller.full_polls.count | Number of polls returning the maximum number of events |
| Events Polled | sybase.io_controller.events.count | Number of events polled |
| Pending IOPS | sybase.io_controller.iops_pending.count | Number of pending I/O operations |
| Completed IOPS | sybase.io_controller.iops_completed.count | Number of completed I/O operations |
| Deferred IOPS | sybase.io_controller.iops_deferred.count | Number of I/O operations deferred or delayed |
| IO Controller Reads | sybase.io_controller.io_reads.count | Number of read or receive operations |
| IO Controller Writes | sybase.io_controller.io_writes.count | Number of write or send operations |
| Metric name | Metric key | Description |
|---|---|---|
| CPU Time | sybase.database.cpu_time.count | Total time, in seconds, the engine has been running. |
| System CPU Time | sybase.database.system_cpu_time.count | Time, in seconds, the engine has been executing system database services. |
| User CPU Time | sybase.database.user_cpu_time.count | Time, in seconds, the engine has been executing user commands. |
| IO CPU Time | sybase.database.io_cpu_time.count | The amount of time, in seconds, the engine has been waiting for issued IOs to complete. |
| IDLE CPU Time | sybase.database.idle_cpu_time.count | Time, in seconds, the engine has been in idle spin mode. |
| Database Connections | sybase.database.connections.count | Number of connections this engine handles. |
| Disk IO Checks | sybase.database.disk_io_checks.count | Number of times the engine or disk controller (for process or threaded mode, respectively) checks for asynchronous disk I/O. In process mode, use i/o polling process count to modify the frequency of these checks. |
| Disk IO Polled | sybase.database.disk_io_polled.count | Number of times the engine or disk controller (for process or threaded mode, respectively) polls for completion of outstanding asynchronous disk I/O, which occurs when disk I/O checks indicate that asynchronous I/O has been posted, but is not yet complete. |
| Disk IO Completed | sybase.database.disk_io_completed.count | Number of asynchronous disk I/Os completed when the engine or disk controller (for process or threaded mode, respectively) polls for outstanding asynchronous disk I/O. |
| Context Switches | sybase.database.context_switches.count | Number of context switches. |
| Max GC Queue Size | sybase.database.max_gc_queue_size | Maximum number of items the SAP ASE server can queue for housekeeper garbage collection in this engine. |
| GC Pending Items | sybase.database.gc_pending_items | Number of items yet to be collected by housekeeper garbage collector on this engine. |
| GC Overflows | sybase.database.gc_overflows | Number of items that could not be queued to housekeeper garbage collector due to queue overflows. |
| Metric name | Metric key | Description |
|---|---|---|
| Database Status | sybase.database.database_status | The status of a database |
| Metric name | Metric key | Description |
|---|---|---|
| Reads | sybase.device.io_reads.count | Number of reads from the device |
| APF Reads | sybase.device.io_apf_writes.count | Number of asynchronous prefetch (APF) reads from the device |
| Writes | sybase.device.io_write.count | Number of writes to the device |
| Mirrored Device IO Requests | sybase.device.io_mirrored_device_requests.count | Number of I/O requests to a mirrored device (if mirrored) |
| Mirrored Device Tasks Waiting | sybase.device.io_mirrored_device_tasks_waiting.count | Number of tasks forced to wait for synchronization of an I/O request to a mirrored device (if mirrored) |
| Device IO Time | sybase.device.io_time.count | Total amount of time (in milliseconds) spent waiting for I/O requests to be satisfied |
| Metric name | Metric key | Description |
|---|---|---|
| Deadlocks | sybase.database.deadlocks.count | Total number of deadlocks that have occurred. |
| Connections | sybase.database.active_connections.count | Number of active inbound connections. |
| Transactions | sybase.database.transactions.count | Number of transactions run, server-wide. |
| Transaction Rollbacks | sybase.database.transaction_rollbacks.count | Total number of transactions rolled back |
| Select Operations | sybase.database.selects.count | Total number of select operations executed |
| Update Operations | sybase.database.updates.count | Total number of update operations executed |
| Insert Operations | sybase.database.inserts.count | Total number of insert operations executed |
| Delete Operations | sybase.database.deletes.count | Total number of delete operations executed |
| Merge Operations | sybase.database.merges.count | Total number of merge operations executed |
| Temporary Tables | sybase.database.temporary_tables.count | Total number of temporary tables created |
| Metric name | Metric key | Description |
|---|---|---|
| Waiting Locks | sybase.database.waiting_locks.count | Locks that are in a waiting state |
| Metric name | Metric key | Description |
|---|---|---|
| Number of Buffer Pools | sybase.cache.buffer_pools | Number of buffer pools within the cache |
| Cache Searches | sybase.cache.searches.count | Cache searches directed to the cache |
| Data Cache Physical Reads | sybase.cache.physical_reads.count | Number of buffers read into the cache from disk |
| Data Cache Logical Reads | sybase.cache.logical_reads.count | Number of buffers retrieved from the cache |
| Data Cache Physical Writes | sybase.cache.physical_writes.count | Number of buffers written from the cache to disk |
| Data Cache Stalls | sybase.cache.io_stalls.count | Number of times I/O operations were delayed because no clean buffers were available in the wash area |
| Data Cache Size | sybase.cache.size | Total size of cache, in kilobytes |
| Data Cache APF Reads | sybase.cache.apf_reads.count | Number of asynchronous prefetch (APF) reads for this data cache |
| APF Limit | sybase.cache.apf_limit | The configured asynchronous prefetch limit for this pool |
| Cache Hit Rate | sybase.cache.hit_percent | The percent of reads that hit the Data Cache |
| Cache Miss Rate | sybase.cache.miss_percent | The percent of reads that missed the Data Cache and read from disk |
| IO Buffer Size | sybase.cache.io_buffer_size | Size (in bytes) of the I/O buffer for the pool |
| Allocated Bytes | sybase.cache.memory_allocated | Number of bytes allocated for the pool |
| Cache Pool Wash Size | sybase.cache.wash_size | The wash size, in kilobytes, for a memory pool |
| Metric name | Metric key | Description |
|---|---|---|
| Device Size | sybase.device.size | Size of the device, in megabytes |
| Filesystem Size | sybase.device.fs_size | Size of the file system, in megabytes |
| Filesystem Free Space | sybase.device.fs_free | Amount of available free space, in megabytes, on the file system |
| Metric name | Metric key | Description |
|---|---|---|
| Database Size | sybase.database.total.size | The total size of a Database in Mb |
| Database Free Size | sybase.database.free.size | The free space of a Database in Mb |