Oracle Cloud Autonomous Database

Oracle Autonomous Database is an Oracle Database that tunes, patches and scales itself on Oracle Cloud Infrastructure.

Available solutions

Zabbix version 7.4 7.2 7.0 6.4 6.0
Source: templates/cloud/oracle_cloud

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

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.CpuTime

  • JavaScript: return Math.round(value * 100) / 100;

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.CpuUtilization

  • JavaScript: return Math.round(value * 100) / 100;

  • Discard unchanged with heartbeat: 1h

Current logons

The number of successful logons during the selected time interval.

Dependent item oci.aut.db.logons

Preprocessing

  • JSON Path: $.CurrentLogons

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.DBBlockChanges

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.DBTime

  • JavaScript: return Math.round(value * 100) / 100;

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.ExecuteCount

  • Discard unchanged with heartbeat: 1h

Failed connections

The number of failed database connections.

Dependent item oci.aut.db.conn.failed

Preprocessing

  • JSON Path: $.FailedConnections

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.FailedLogons

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.HardParseCount

  • Discard unchanged with heartbeat: 1h

Session logical reads

The sum of db block gets and consistent gets during the selected time interval.

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

  • JSON Path: $.LogicalReads

  • Discard unchanged with heartbeat: 1h

Parse count (total)

The number of hard and soft parses during the selected time interval.

Dependent item oci.aut.db.parse.count.total

Preprocessing

  • JSON Path: $.ParseCount

  • Discard unchanged with heartbeat: 1h

Parse count (failures)

The number of parse failures during the selected time interval.

Dependent item oci.aut.db.parse.count.failed

Preprocessing

  • JSON Path: $.ParseFailureCount

  • Discard unchanged with heartbeat: 1h

Physical reads

The number of data blocks read from disk during the selected time interval.

Dependent item oci.aut.db.physical.reads

Preprocessing

  • JSON Path: $.PhysicalReads

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.PhysicalReadTotalBytes

  • Discard unchanged with heartbeat: 1h

Physical writes

The number of data blocks written to disk during the selected time interval.

Dependent item oci.aut.db.physical.writes

Preprocessing

  • JSON Path: $.PhysicalWrites

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.PhysicalWriteTotalBytes

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.QueuedStatements

  • Discard unchanged with heartbeat: 1h

Redo generated

Amount of redo generated in bytes during the selected time interval.

Dependent item oci.aut.db.redo.gen

Preprocessing

  • JSON Path: $.RedoGenerated

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.RunningStatements

  • Discard unchanged with heartbeat: 1h

Sessions

The number of sessions in the database.

Dependent item oci.aut.db.sessions

Preprocessing

  • JSON Path: $.Sessions

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.SQLNetBytesFromClient

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.SQLNetBytesFromDBLink

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.SQLNetBytesToClient

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.SQLNetBytesToDBLink

  • Discard unchanged with heartbeat: 1h

Transaction count

The combined number of user commits and user rollbacks during the selected time interval.

Dependent item oci.aut.db.transaction.count

Preprocessing

  • JSON Path: $.TransactionCount

  • Discard unchanged with heartbeat: 1h

User calls

The combined number of logons, parses, and execute calls during the selected time interval.

Dependent item oci.aut.db.user.calls

Preprocessing

  • JSON Path: $.UserCalls

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.UserCommits

  • Discard unchanged with heartbeat: 1h

User rollbacks

Number of times users manually issue the ROLLBACK statement or an error occurs during a user's

transactions during the selected time interval.

Dependent item oci.aut.db.user.rollbacks

Preprocessing

  • JSON Path: $.UserRollbacks

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.WaitTime

  • JavaScript: return Math.round(value * 100) / 100;

  • Discard unchanged with heartbeat: 1h

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

  • JSON Path: $.DatabaseAvailability

  • Discard unchanged with heartbeat: 5h

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

  • JSON Path: $.ConnectionLatency

  • Custom multiplier: 0.001

  • Discard unchanged with heartbeat: 5h

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

  • JSON Path: $.QueryLatency

  • Custom multiplier: 0.001

  • Discard unchanged with heartbeat: 5h

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

  • JSON Path: $.StorageAllocated

  • Custom multiplier: 1073741824

  • Discard unchanged with heartbeat: 12h

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

  • JSON Path: $.StorageMax

  • Custom multiplier: 1073741824

  • Discard unchanged with heartbeat: 12h

Storage space used

Maximum amount of space used during the selected time interval.

Dependent item oci.aut.db.storage.space.used

Preprocessing

  • JSON Path: $.StorageUsed

  • Custom multiplier: 1073741824

  • Discard unchanged with heartbeat: 12h

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

  • JSON Path: $.StorageUtilization

  • Discard unchanged with heartbeat: 12h

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: Restore has failed
  • OCI Autonomous DB: Database is not available or accessible
  • OCI Autonomous DB: Available, needs attention
  • OCI Autonomous DB: State unknown
OCI Autonomous DB: Current CPU utilization is too high

Current CPU utilization has exceeded {$OCI.AUTONOMOUS.DB.CPU.UTIL.HIGH}% of the max available value.

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 {$OCI.AUTONOMOUS.DB.CPU.UTIL.WARN}% of the max available value.

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: Current CPU utilization is too high
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: Database is not available or accessible
OCI Autonomous DB: Current storage utilization is too high

Current storage utilization has exceeded {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.HIGH}% of the max available value.

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 {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.WARN}% of the max available value.

min(/Oracle Cloud Autonomous Database by HTTP/oci.aut.db.storage.space.util,5m) >= {$OCI.AUTONOMOUS.DB.STORAGE.UTIL.WARN} Warning Depends on:
  • OCI Autonomous DB: Current storage utilization is too high

Articles and documentation

+ Propose new article

Не нашли то, что искали?