Available solutions
Oracle Cloud Autonomous Database by HTTP
Overview
This template monitors Oracle Cloud Infrastructure (OCI) autonomous database (serverless) resources.
This template is not meant to be used independently, but together with Oracle Cloud by HTTP as a template for LLD host prototypes.
For communication with OCI, this template utilizes script items which execute HTTP GET and POST requests.
POST requests are required for OCI Monitoring API as it utilizes Monitoring Query Language (MQL) which uses
the HTTP request body for queries.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- Oracle Cloud Infrastructure
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
This template is not meant to be used independently. A host with the Oracle Cloud by HTTP template will
discover OCI autonomous databases automatically, create host prototypes for each discovered database, and apply
it to this template.
If needed, you can specify an HTTP proxy for the template to use by changing the value of the
{$OCI.HTTP.PROXY} user macro.
If using a proxy, the returned OK HTTP response could change from "200" to a different value. In that case,
please adjust the user macro {$OCI.HTTP.RETURN.CODE.OK}.
The LLD filter values and trigger threshold values can be changed with the respective user macros.
Macros used
| Name | Description | Default |
|---|---|---|
| {$OCI.HTTP.PROXY} | Set an HTTP proxy for OCI API requests if needed. |
|
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Oracle Cloud Autonomous Database", e.g. {$HTTP.TLS.VERIFY:"Oracle Cloud Autonomous Database"}. |
full |
| {$OCI.HTTP.RETURN.CODE.OK} | Set the HTTP return code that represents an OK response from the API. The default is "200", but can vary, for example, if a proxy is used. |
200 |
| {$OCI.AUTONOMOUS.DB.CPU.UTIL.WARN} | Sets the percentage threshold for creating a "warning" severity event about CPU resource utilization. |
75 |
| {$OCI.AUTONOMOUS.DB.CPU.UTIL.HIGH} | Sets the percentage threshold for creating a "high" severity event about CPU resource utilization. |
90 |
| {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.WARN} | Sets the percentage threshold for creating a "warning" severity event about storage resource utilization. |
75 |
| {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.HIGH} | Sets the percentage threshold for creating a "high" severity event about storage resource utilization. |
90 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| State | Gets the autonomous database state. |
Script | oci.aut.db.state Preprocessing
|
| Get frequent metrics | Gets all metrics related to the database that have a collection frequency of 1 minute. |
Script | oci.aut.db.metrics.frequent.get |
| CPU time | Average rate of accumulation of CPU time by foreground sessions in the database over the selected time interval. |
Dependent item | oci.aut.db.cpu.time Preprocessing
|
| CPU utilization, in % | The CPU usage expressed as a percentage, aggregated across all consumer groups. The utilization percentage is reported with respect to the number of CPUs the database is allowed to use. |
Dependent item | oci.aut.db.cpu.util Preprocessing
|
| Current logons | The number of successful logons during the selected time interval. |
Dependent item | oci.aut.db.logons Preprocessing
|
| DB block changes | The number of changes that were part of an update or delete operation that were made to all blocks in the SGA. Such changes generate redo log entries and thus become permanent changes to the database if the transaction is committed. This statistic approximates total database work and indicates the rate at which buffers are being dirtied during the selected time interval. |
Dependent item | oci.aut.db.block.changes Preprocessing
|
| DB time | The amount of time database user sessions spend executing database code (CPU time + wait time). Database time is used to infer database call latency as it increases in direct proportion to both database call latency (response time) and call volume. It is calculated as the average rate of accumulation of database time by foreground sessions in the database over the selected time interval. |
Dependent item | oci.aut.db.time Preprocessing
|
| Execute count | The number of user and recursive calls that executed SQL statements during the selected time interval. |
Dependent item | oci.aut.db.exec.count Preprocessing
|
| Failed connections | The number of failed database connections. |
Dependent item | oci.aut.db.conn.failed Preprocessing
|
| Failed logons | The number of logons that failed because of an invalid user name and/or password during the selected time interval. |
Dependent item | oci.aut.db.logons.failed Preprocessing
|
| Parse count (hard) | The number of parse calls (real parses) during the selected time interval. A hard parse is an expensive operation in terms of memory use as it requires Oracle to allocate a workheap and other memory structures and then build a parse tree. |
Dependent item | oci.aut.db.parse.count.hard Preprocessing
|
| Session logical reads | The sum of This includes logical reads of database blocks from either the buffer cache or process private memory. |
Dependent item | oci.aut.db.logical.reads.session Preprocessing
|
| Parse count (total) | The number of hard and soft parses during the selected time interval. |
Dependent item | oci.aut.db.parse.count.total Preprocessing
|
| Parse count (failures) | The number of parse failures during the selected time interval. |
Dependent item | oci.aut.db.parse.count.failed Preprocessing
|
| Physical reads | The number of data blocks read from disk during the selected time interval. |
Dependent item | oci.aut.db.physical.reads Preprocessing
|
| Physical read total bytes | The size in bytes of disk reads by all database instance activity including application reads, backup and recovery, and other utilities during the selected time interval. |
Dependent item | oci.aut.db.physical.read.bytes Preprocessing
|
| Physical writes | The number of data blocks written to disk during the selected time interval. |
Dependent item | oci.aut.db.physical.writes Preprocessing
|
| Physical write total bytes | The size in bytes of all disk writes for the database instance including application activity, backup and recovery, and other utilities during the selected time interval. |
Dependent item | oci.aut.db.physical.write.bytes Preprocessing
|
| Queued statements | The number of queued SQL statements aggregated across all consumer groups during the selected time interval. |
Dependent item | oci.aut.db.queued.statements Preprocessing
|
| Redo generated | Amount of redo generated in bytes during the selected time interval. |
Dependent item | oci.aut.db.redo.gen Preprocessing
|
| Running statements | The number of running SQL statements aggregated across all consumer groups during the selected time interval. |
Dependent item | oci.aut.db.statements.running Preprocessing
|
| Sessions | The number of sessions in the database. |
Dependent item | oci.aut.db.sessions Preprocessing
|
| Bytes received via SQL*Net from client | The number of bytes received from the client over Oracle Net Services during the selected time interval. |
Dependent item | oci.aut.db.sqlnet.bytes.recv.client Preprocessing
|
| Bytes received via SQL*Net from DBLink | The number of bytes received from a database link over Oracle Net Services during the selected time interval. |
Dependent item | oci.aut.db.sqlnet.bytes.recv.dblink Preprocessing
|
| Bytes sent via SQL*Net to client | The number of bytes sent to the client from the foreground processes during the selected time interval. |
Dependent item | oci.aut.db.sqlnet.bytes.sent.client Preprocessing
|
| Bytes sent via SQL*Net to DBLink | The number of bytes sent over a database link during the selected time interval. |
Dependent item | oci.aut.db.sqlnet.bytes.sent.dblink Preprocessing
|
| Transaction count | The combined number of user commits and user rollbacks during the selected time interval. |
Dependent item | oci.aut.db.transaction.count Preprocessing
|
| User calls | The combined number of logons, parses, and execute calls during the selected time interval. |
Dependent item | oci.aut.db.user.calls Preprocessing
|
| User commits | The number of user commits during the selected time interval. When a user commits a transaction, the generated redo that reflects the changes made to database blocks must be written to disk. Commits often represent the closest thing to a user transaction rate. |
Dependent item | oci.aut.db.user.commits Preprocessing
|
| User rollbacks | Number of times users manually issue the transactions during the selected time interval. |
Dependent item | oci.aut.db.user.rollbacks Preprocessing
|
| Wait time | Average rate of accumulation of non-idle wait time by foreground sessions in the database over the selected time interval. |
Dependent item | oci.aut.db.wait.time Preprocessing
|
| Get database stats | Gets all metrics related to specific database that have a collection frequency of 5 minutes. |
Script | oci.aut.db.metrics.stats |
| Database availability | The database is available for connections in the given minute. |
Dependent item | oci.aut.db.availability Preprocessing
|
| Connection latency | The time taken to connect to an Oracle Autonomous Database Serverless instance in each region from a Compute service virtual machine in the same region. |
Dependent item | oci.aut.db.latency.conn Preprocessing
|
| Query latency | The time taken to display the results of a simple query on the user's screen. |
Dependent item | oci.aut.db.latency.query Preprocessing
|
| Get storage stats | Gets all storage metrics related to a specific database that have a collection frequency of 60 minutes. |
Script | oci.aut.db.metrics.storage.stats |
| Storage space allocated | Amount of space allocated to the database for all tablespaces during the selected time interval. |
Dependent item | oci.aut.db.storage.space.alloc Preprocessing
|
| Maximum storage space | Maximum amount of storage reserved for the database during the selected time interval. |
Dependent item | oci.aut.db.storage.space.max Preprocessing
|
| Storage space used | Maximum amount of space used during the selected time interval. |
Dependent item | oci.aut.db.storage.space.used Preprocessing
|
| Storage utilization, in % | The percentage of the reserved maximum storage currently allocated for all database tablespaces. Represents the total reserved space for all tablespaces. |
Dependent item | oci.aut.db.storage.space.util Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| OCI Autonomous DB: Restore has failed | Autonomous database restore has failed. |
last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state) = 9 |
Warning | |
| OCI Autonomous DB: Database is not available or accessible | Autonomous database is not available or accessible. |
last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state) = 19 or last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state) = 20 |
High | |
| OCI Autonomous DB: Available, needs attention | Autonomous database is available, but needs attention. |
last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state) = 12 |
Warning | |
| OCI Autonomous DB: State unknown | Autonomous database state is unknown. |
last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state) = 0 |
Warning | |
| OCI Autonomous DB: State has changed | Autonomous database state has changed. |
last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state,#1)<>last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.state,#2) |
Info | Manual close: Yes Depends on:
|
| OCI Autonomous DB: Current CPU utilization is too high | Current CPU utilization has exceeded |
min(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.cpu.util,5m) >= {$OCI.AUTONOMOUS.DB.CPU.UTIL.HIGH} |
High | |
| OCI Autonomous DB: Current CPU utilization is high | Current CPU utilization has exceeded |
min(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.cpu.util,5m) >= {$OCI.AUTONOMOUS.DB.CPU.UTIL.WARN} |
Warning | Depends on:
|
| OCI Autonomous DB: Database is not available | Autonomous database is not available. |
last(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.availability) = 0 |
High | Depends on:
|
| OCI Autonomous DB: Current storage utilization is too high | Current storage utilization has exceeded |
min(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.storage.space.util,5m) >= {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.HIGH} |
High | |
| OCI Autonomous DB: Current storage utilization is high | Current storage utilization has exceeded |
min(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.storage.space.util,5m) >= {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.WARN} |
Warning | Depends on:
|