Oracle Cloud Object Storage

Oracle Cloud Infrastructure Object Storage is a durable store for unstructured data of any type, organised into buckets.

Available solutions

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

Oracle Cloud Object Storage by HTTP

Overview

This template monitors Oracle Cloud Infrastructure (OCI) object storage 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 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 object storage buckets automatically, create host prototypes for each discovered bucket, and apply it 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}.

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 Object Storage", e.g. {$HTTP.TLS.VERIFY:"Oracle Cloud Object Storage"}.

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

Items

Name Description Type Key and additional info
Get frequent metrics

Gets all metrics related to a specific bucket that have frequent update time (100 milliseconds).

Script oci.obj.storage.metrics.frequent.get
All requests count

The total number of all HTTP requests made in a bucket.

Dependent item oci.obj.storage.requests

Preprocessing

  • JSON Path: $.AllRequests

  • Discard unchanged with heartbeat: 1h

Client-side error count

The total number of 4xx errors for requests made in a bucket.

Dependent item oci.obj.storage.client.errors

Preprocessing

  • JSON Path: $.ClientErrors

  • Discard unchanged with heartbeat: 1h

First byte latency time

The per-request time measured from the time Object Storage receives the complete request to when Object Storage returns the first byte of the response.

Dependent item oci.obj.storage.latency.byte

Preprocessing

  • JSON Path: $.FirstByteLatency

  • Custom multiplier: 0.001

  • Discard unchanged with heartbeat: 1h

Post object request count

The total number of HTTP POST requests made in a bucket.

Dependent item oci.obj.storage.requests.post

Preprocessing

  • JSON Path: $.PostRequests

  • Discard unchanged with heartbeat: 1h

Put object request count

The total number of PutObject requests made in a bucket.

Dependent item oci.obj.storage.requests.put

Preprocessing

  • JSON Path: $.PutRequests

  • Discard unchanged with heartbeat: 1h

Overall latency time

The per-request time from the first byte received by Object Storage to the last byte sent from

Object Storage.

Dependent item oci.obj.storage.latency.overall

Preprocessing

  • JSON Path: $.TotalRequestLatency

  • Custom multiplier: 0.001

  • Discard unchanged with heartbeat: 1h

Get hourly metrics

Gets all metrics related to specific bucket that have update time of 1 hour.

Script oci.obj.storage.metrics.hourly.get
Number of objects

The count of objects in the bucket, excluding any multipart upload parts that have not been discarded (aborted) or committed.

Dependent item oci.obj.storage.objects

Preprocessing

  • JSON Path: $.ObjectCount

  • Discard unchanged with heartbeat: 12h

Bucket size

The size of the bucket, excluding any multipart upload parts that have not been discarded (aborted) or committed.

Dependent item oci.obj.storage.size

Preprocessing

  • JSON Path: $.StoredBytes

  • Discard unchanged with heartbeat: 12h

Incomplete multipart upload size

The size of any multipart upload parts that have not been discarded (aborted) or committed.

Dependent item oci.obj.storage.size.incomplete

Preprocessing

  • JSON Path: $.UncommittedParts

  • Discard unchanged with heartbeat: 12h

Get enabled object lifecycle management

Indicates whether a bucket has any executable Object Lifecycle Management policies configured. EnabledOLM emits:

1 - if policies are configured

0 - if no policies are configured

Script oci.obj.storage.metrics.olm.get

Preprocessing

  • Discard unchanged with heartbeat: 1d

Triggers

Name Description Expression Severity Dependencies and additional info
OCI Object Storage: Object lifecycle management policy has changed

The object lifecycle management policy configuration has changed.

last(/Oracle Cloud Object Storage by HTTP/oci.obj.storage.metrics.olm.get,#1)<>last(/Oracle Cloud Object Storage by HTTP/oci.obj.storage.metrics.olm.get,#2) and length(last(/Oracle Cloud Object Storage by HTTP/oci.obj.storage.metrics.olm.get))>0 Info

Articles and documentation

+ Propose new article

Vous n’avez pas trouvé ce que vous cherchiez ?