Monitor health and performance of the Oracle Cloud Infrastructure.



This extension is executed by the ActiveGate (remote monitoring). You need to have an ActiveGate provisioned in your environment and networking set up so the ActiveGate can connect to the subject OCI tenant you are about to monitor.
To start, activate the extension in your environment using the in-product Hub. Then provide your OCI monitoring endpoint whereabouts. You will need to provide:
For each endpoint you are about to monitor on your OCI.
The User account provided in the configuration must also the minimum permissions listed below to collect metrics for all feature sets.
- Allow group <group name> to read metrics in compartment <compartment name>- Allow group <group name> to read buckets in compartment <compartment name>- Allow group <group name> to read objectstorage-namespaces in compartment <compartment name>- Allow group <group name> to inspect buckets in compartment <compartment name>- Allow group <group name> to inspect instances in compartment <compartment name>- Allow group <group name> to inspect load-balancers in compartment <compartment name>- Allow group <group name> to inspect vnic-attachments in compartment <compartment name>- Allow group <group name> to inspect objects in compartment <compartment name>- Allow group <group_name> to inspect alarms in tenancy
For more information, see Permissions Required for Each API Operation.
The PEM key file will need to be placed on any ActiveGate that is running the extension, in a location that is accessible to the extension. The recommended default location for the PEM file is:
<CONFIG>/remotepluginmodule/agent/conf/certificates/(default: /var/lib/dynatrace/remotepluginmodule/agent/conf/certificates/)
%PROGRAMDATA%\dynatrace\remotepluginmodule\agent\conf\certificates
Note: Because the configuration requires the Compartment ID and region, a new endpoint or monitoring configuration will need to be created to monitor a new region or compartment.
Go to Oracle documentation for details on how to set up the monitoring endpoint access:
To import tags from OCI, two additional configuration options are required:
_Entities.Read_ and _Entities.Write_ scopes.Refer to the documentation for creating an API token with the correct scopes.
This extension monitors basics of the Oracle Cloud Infrastructure.
This is intended for users, who:
Want to monitor foundation of their Oracle Cloud Infrastructure, including:
This extension does not cover every single service available on Oracle Cloud.
This extension focuses on basic Oracle Cloud Infrastructure services and does not look to monitor Oracle SaaS offerings like e.g. CX, HCM, ERP, SCM, EPM and alike.
Are you looking to extend OCI services visibility to all service available on Oracle Cloud? Look here: Any OCI service metric and log ingestion can be set up leveraging Oracle Connector Hub and push-based ingest. Look for this technology hub tile for instructions how to do it and limitations that come with it.
Push-based ingest requires you to set up ingest functions in OCI and doesn't provide analysis screens for ingested metrics, but it can cover any service metrics. For more information, see Oracle Connector Hub signals ingest. This extension is built on top of the Extension Framework 2.0 and delivers:
Metrics collected:
No. This extension is designed to understand specific services metrics and topology, and present their signals on dashboards and predefined analysis screens. Ingesting metrics from other services can be set up leveraging Oracle Connector Hub and push-based ingest. Look for Oracle Connector Hub signals ingest technology support on the Dynatrace Hub.
OCI performance counters are available though a number of different endpoints, whose specific URLs reflect specific monitored services and regions in which those services run. Oracle published the list of API reference endpoints here.
None of these URLs needs to be provided in the extension configuration. Oracle SDK builds those URLs using input the extension requires (Compartment ID, Tenancy, Region) and specific service it monitors (compute, load balancer, VCN, VPN and so on - they are listed above). Oracle SDK libraries are embedded in this extension distribution.
Permissions required are METRIC_READ and METRIC_INSPECT found at Permissions Required for Each API Operation.
In case of connection issues, you may want to test OCI connectivity from the ActiveGate.
In this blog Oracle explains how to reach the OCI Rest APIs via curl request. Alternatively, you may choose to install CLI following these instructions.
Run CLI tests by following these instructions.
Extension supports proxy connection. You can add your proxy settings in monitoring configuration. However, note that this extension works with proxies in a slightly different way than other extensions.
This extension uses Oracle SDK to connect to Oracle cloud and Oracle SDK has its own proxy support implemented, basing on environment proxy settings. On ActiveGates, environment proxy settings are controlled by the custom.properties file; see ActiveGate documentation for details. These settings will apply to the extension operation even if you don’t set up a proxy in the extension configuration because Oracle SDK will use them anyway. This means that:
The formula for DDU consumption of the extension will be published at a later date. For now, when estimating consumption of this Preview version of the extension, take into account the numbers of:
10 metrics per cloud:oci:compute_instance4 metrics per cloud:oci:instance_pool27 metrics per cloud:oci:load_balancer9 metrics per cloud:oci:network_load_balancer12 metrics per cloud:oci:vcn6 metrics per cloud:oci:vpn5 metrics per cloud:oci:block_volume10 metrics per cloud:oci:file_system2 metrics per cloud:oci:object_store12 metrics per cloud:oci:api_gateway2 metrics per cloud:oci:function
and aggregate these for all OCI tenants you plan to monitor. This way you arrive at the number of metric points that monitoring will bring every monitoring interval.
Metric to DDU consumption multiplier is:
number of metrics * 525.6 DDUs/year
DDU cost above does not include any possible Log events or Custom events triggered by the extension. For more information on this, see the DDU log event cost and DDU custom event cost pages.
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 |
|---|---|---|
| API Requests | cloud.oci.api_gateway.http_requests | Number of incoming API client requests to the API gateway |
| API Responses | cloud.oci.api_gateway.http_responses | Number of http responses that the API gateway has sent back |
| Bytes Sent | cloud.oci.api_gateway.bytes_sent | Number of bytes sent by the API gateway to API clients |
| Bytes Received | cloud.oci.api_gateway.bytes_received | Number of bytes received by the API gateway from API clients |
| Gateway Latency | cloud.oci.api_gateway.latency | Average time that it takes for a request to be processed and its response to be sent |
| Internal Latency | cloud.oci.api_gateway.internal_latency | Time spent internally in the API gateway to process the request |
| Backend Latency | cloud.oci.api_gateway.integration_latency | Time between the API gateway sending a request to the back-end service and receiving a response from the back-end service |
| Backend Responses | cloud.oci.api_gateway.backend_http_responses | Count of the HTTP responses returned by the back-end services |
| Usage Plan Requests | cloud.oci.api_gateway.usage_plan_requests | Number of requests to a given entitlement |
| Subscriber Requests | cloud.oci.api_gateway.subscriber_requests | Number of requests made by a subscriber |
| Subscriber Quota Proportion Used | cloud.oci.api_gateway.subscriber_quota_proportion_used | Proportion of an entitlement's quota that has been consumed by a subscriber |
| Subscriber Rate Limit Proportion Used | cloud.oci.api_gateway.subscriber_rate_limit_proportion_used | Proportion of an entitlement's rate limit that has been consumed by a subscriber |
| Metric name | Metric key | Description |
|---|---|---|
| Volume Read Throughput | cloud.oci.block_volume.read.throughput | Read throughput, expressed as bytes read per interval. |
| Volume Write Throughput | cloud.oci.block_volume.write.throughput | Write throughput, expressed as bytes written per interval. |
| Volume Read Operations | cloud.oci.block_volume.read.ops | Activity level from I/O reads, expressed as reads per interval. |
| Volume Write Operations | cloud.oci.block_volume.write.ops | Activity level from I/O writes, expressed as writes per interval. |
| Volume Throttled Operations | cloud.oci.block_volume.throttled.ops | Total sum of all the I/O operations that were throttled during a given time interval. |
| Metric name | Metric key | Description |
|---|---|---|
| Instance Pool Size | cloud.oci.instance_pool.size | Number of instances in the pool. |
| Instances Provisioning | cloud.oci.instance_pool.provisioning | Number of instances in the pool that are provisioning. |
| Instances Running | cloud.oci.instance_pool.running | Number of running instances in the pool. |
| Instances Terminated | cloud.oci.instance_pool.terminated | Number of instances in the pool that are terminating or terminated. |
| Metric name | Metric key | Description |
|---|---|---|
| Bucket Size | cloud.oci.object_store.size | Total size of objects in a bucket |
| Number of Objects | cloud.oci.object_store.count.gauge | Total number of objects in a bucket |
| Metric name | Metric key | Description |
|---|---|---|
| CPU Utilization | cloud.oci.compute.cpu.util | Activity level from CPU, expressed as a percentage of total time. |
| Disk Read Bytes | cloud.oci.compute.disk.read.bytes | Read Throughput, expressed as bytes read per interval. |
| Disk Write Bytes | cloud.oci.compute.disk.write.bytes | Write throughput, expressed as bytes written per interval. |
| Disk Read I/O | cloud.oci.compute.disk.read.io | Activity level from I/O reads, expressed as reads per interval. |
| Disk Write I/O | cloud.oci.compute.disk.write.io | Activity level from I/O writes, expressed as writes per interval. |
| Load Average | cloud.oci.compute.load | Average system load. |
| Memory Allocation Stalls | cloud.oci.compute.memory.allocation.stalls | Number of times page reclaim was called directly. |
| Memory Utilization | cloud.oci.compute.memory.util | Space currently in use, measured by pagtes, expressed as a percentage of used pages. |
| Network Receive Bytes | cloud.oci.compute.network.receive.bytes | Network receipt throughput, expressed as bytes received. |
| Network Transmit Bytes | cloud.oci.compute.network.transmit.bytes | Network transmission throughput, expressed as bytes transmitted. |
| Metric name | Metric key | Description |
|---|---|---|
| IPSec Tunnel State | cloud.oci.vpn.tunnel_state | Whether the tunnel is up (1) or down (0). |
| Packets Received | cloud.oci.vpn.packets_received | Number of packets received at the Oracle end of the connection |
| Bytes Received | cloud.oci.vpn.bytes_received | Number of bytes received at the Oracle end of the connection |
| Packets Sent | cloud.oci.vpn.packets_sent | Number of packets sent from the Oracle end of the connection |
| Bytes Sent | cloud.oci.vpn.bytes_sent | Number of bytes sent from the Oracle end of the connection |
| Packets with Errors | cloud.oci.vpn.packets_error | Number of packets dropped at the Oracle end of the connection |
| Metric name | Metric key | Description |
|---|---|---|
| Read Throughput | cloud.oci.filesystem.read.throughput | File System Read Throughput |
| Write Throughput | cloud.oci.filesystem.write.throughput | File System Write Throughput |
| Read Requests | cloud.oci.filesystem.read.requests | File System Read Requests |
| Write Requests | cloud.oci.filesystem.write.requests | File System Write Requests |
| Read Latency | cloud.oci.filesystem.read.latency | File System Read Latency |
| Write Latency | cloud.oci.filesystem.write.latency | File System Write Latency |
| Metadata Read Latency | cloud.oci.filesystem.metadata.read.latency | File System Metadata Read Latency |
| Metadata Write Latency | cloud.oci.filesystem.metadata.write.latency | File System Metadata Write Latency |
| Metadata IOPS | cloud.oci.filesystem.metadata.iops | File System Metadata IOPS |
| Usage | cloud.oci.filesystem.usage | File System Usage |
| Metric name | Metric key | Description |
|---|---|---|
| — | cloud.oci.function.function_invocation_count | — |
| Function Duration | cloud.oci.function.function_execution_duration | Total function execution duration |
| — | cloud.oci.function.function_error_response_count | — |
| — | cloud.oci.function.function_throttled_response_count | — |
| Metric name | Metric key | Description |
|---|---|---|
| FastConnect Bits Received | cloud.oci.fast_connect.bits_received | Number of bits received on the FastConnect interface at the Oracle end of the connection. |
| FastConnect Bits Sent | cloud.oci.fast_connect.bits_sent | Number of bits sent from the FastConnect interface at the Oracle end of the connection. |
| FastConnect Connection State | cloud.oci.fast_connect.connection_state | The values are up (1) or down (0). |
| FastConnect Error Packets | cloud.oci.fast_connect.packets_error | Number of packets dropped due to errors at the Oracle end of the connection. |
| FastConnect Discard Packets | cloud.oci.fast_connect.packets_discarded | Number of packets discarded at the Oracle end of the connection. |
| FastConnect Ipv4 BGP Session State | cloud.oci.fast_connect.packets_bgp_session_state | The values are up (1) or down (0). |
| Metric name | Metric key | Description |
|---|---|---|
| Inbound Requests | cloud.oci.load_balancer.http.requests | The number of incoming client requests to the backend set. |
| Active Connections | cloud.oci.load_balancer.active.connections | The number of active connections. |
| Active SSL Connections | cloud.oci.load_balancer.active.ssl.connections | The number of active SSL connections. |
| Bytes Received | cloud.oci.load_balancer.bytes.received | The number of bytes received by the load balancer. |
| Bytes Sent | cloud.oci.load_balancer.bytes.sent | The number of bytes sent by the load balancer. |
| Accepted Connections | cloud.oci.load_balancer.accepted.connections | The number of connections accepted by the load balancer. |
| Handled Connections | cloud.oci.load_balancer.handled.connections | The number of connections handled by the load balancer. |
| Failed SSL Handshakes | cloud.oci.load_balancer.failed.ssl.handshake | The number of failed SSL handshakes. |
| Accepted SSL Handshakes | cloud.oci.load_balancer.accepted.ssl.handshake | The number of accepted SSL handshakes. |
| Failed Client SSL Cert Verifications | cloud.oci.load_balancer.failed.ssl.client.cert.verify | The number of failed client SSL certificate verifications. |
| Peak Bandwidth | cloud.oci.load_balancer.peak.bandwidth | Maximum bits per second bandwidth used during the specified interval. |
| Metric name | Metric key | Description |
|---|---|---|
| Backend Servers | cloud.oci.load_balancer.backend.servers | The number of backend servers in the backend set. |
| Unhealthy Backend Servers | cloud.oci.load_balancer.unhealthy.backend.servers | The number of unhealthy backend servers in the backend set. |
| HTTP Responses | cloud.oci.load_balancer.http.responses | The number of HTTP responses received. |
| Average HTTP Response Time | cloud.oci.load_balancer.response.time.http | Average response time of backend servers, HTTP only. |
| Average TCP Response Time | cloud.oci.load_balancer.response.time.tcp | Average time to the first byte of response from backend servers, TCP only. |
| Backend Timeouts | cloud.oci.load_balancer.backend.timeouts | The number of timeouts across all backend servers. |
| Keep-alive Connections | cloud.oci.load_balancer.keepalive.connections | The number of keep-alive connections. |
| Closed Connections | cloud.oci.load_balancer.closed.connections | The number of connections closed between the load balancer and backend servers. |
| Invalid Header Responses | cloud.oci.load_balancer.invalid.header.responses | The number of invalid header responses across all backend servers. |
| HTTP 200 Responses | cloud.oci.load_balancer.http.responses.200 | The number of HTTP 200 responses received. |
| HTTP 2xx Responses | cloud.oci.load_balancer.http.responses.2xx | The number of HTTP 2xx responses received. |
| HTTP 3xx Responses | cloud.oci.load_balancer.http.responses.3xx | The number of HTTP 3xx responses received. |
| HTTP 4xx Responses | cloud.oci.load_balancer.http.responses.4xx | The number of HTTP 4xx responses received. |
| HTTP 5xx Responses | cloud.oci.load_balancer.http.responses.5xx | The number of HTTP 5xx responses received. |
| HTTP 502 Responses | cloud.oci.load_balancer.http.responses.502 | The number of HTTP 502 responses received. |
| HTTP 504 Responses | cloud.oci.load_balancer.http.responses.504 | The number of HTTP 504 responses received. |
| Metric name | Metric key | Description |
|---|---|---|
| Processed Bytes | cloud.oci.network_load_balancer.processed.bytes | The total number of bytes processed by the network load balancer, including TCP/IP headers. |
| Processed Packets | cloud.oci.network_load_balancer.processed.packets | The total number of packets processed by the network load balancer. |
| Ingress Packets Dropped by Security List | cloud.oci.network_load_balancer.ingress.packets.dropped | The packets received from the network, destined for the network load balancer, dropped because of security rule violations. |
| Egress Packets Dropped by Security List | cloud.oci.network_load_balancer.egress.packets.dropped | The packets sent by the network load balancer, destined for the network, dropped because of security rule violations. |
| Healthy Backends | cloud.oci.network_load_balancer.healthy.backends | The number of healthy backend servers present in the network load balancer. |
| Unhealthy Backends | cloud.oci.network_load_balancer.unhealthy.backends | The number of unhealthy backend servers present in the network load balancer. |
| New Connections | cloud.oci.network_load_balancer.new.connections | The total number of new connections established between client and a backend server. |
| New TCP Connections | cloud.oci.network_load_balancer.new.connections.tcp | The total number of new TCP connections established between client and a backend server. |
| New UDP Connections | cloud.oci.network_load_balancer.new.connections.udp | The total number of new UDP connections established between client and a backend server. |
| Metric name | Metric key | Description |
|---|---|---|
| OCI Compartment Alarms Configured | cloud.oci.compartment.configured_alarm_count.gauge | Number of Alarms configured for this OCI Compartments |
| Metric name | Metric key | Description |
|---|---|---|
| Ingress Packets Dropped by Security List | cloud.oci.vcn.ingress.packets.dropped.sl | Packets received from the network, destined for the VNIC, dropped due to security rule violations. |
| Egress Packets Dropped by Security List | cloud.oci.vcn.egress.packets.dropped.sl | Packets sent by the VNIC, destined for the network, dropped due to security rule violations. |
| Packets from Network | cloud.oci.vcn.packets.from.network | Packets received at the VNIC from the network, after drops. |
| Packets to Network | cloud.oci.vcn.packets.to.network | Packets sent from the VNIC to the network, before drops. |
| Bytes from Network | cloud.oci.vcn.bytes.from.network | Bytes received at the VNIC from the network, after drops. |
| Bytes to Network | cloud.oci.vcn.bytes.to.network | Bytes sent from the VNIC to the network, before drops. |
| Throttled Ingress Packets | cloud.oci.vcn.throttled.ingress.packets | Packets sent from the VNIC, destined for the network, dropped due to throttling. |
| Throttled Egress Packets | cloud.oci.vcn.throttled.egress.packets | Packets received from the network, destined for the VNIC, dropped due to throttling. |
| Ingress Packets Dropped by Full Connection Tracking Table | cloud.oci.vcn.ingress.packets.dropped.fctt | Packets received from the network, destined for the VNIC, dropped due to full connection tracking table. |
| Egress Packets Dropped by Full Connection Tracking Table | cloud.oci.vcn.egress.packets.dropped.fctt | Packets sent from the VNIC, destined for the network, dropped due to full connection tracking table. |
| Connection Tracking Table Utilization | cloud.oci.vcn.ctt.util | Total utilization percentage (0-100%) of the connection tracking table. |
| Connection Tracking Table Full | cloud.oci.vcn.ctt.full | Boolean (0/false, 1/true) that indicates the connection tracking table is full. |
| Metric name | Metric key | Description |
|---|---|---|
| DRG Packet Drops | cloud.oci.dynamic_routing_gateway.packet_drops | The number of packets sent from the DRG attachment and dropped by the DRG. |