Available solutions
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
|
| Client-side error count | The total number of 4xx errors for requests made in a bucket. |
Dependent item | oci.obj.storage.client.errors Preprocessing
|
| 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
|
| Post object request count | The total number of HTTP |
Dependent item | oci.obj.storage.requests.post Preprocessing
|
| Put object request count | The total number of |
Dependent item | oci.obj.storage.requests.put Preprocessing
|
| 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
|
| 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
|
| 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
|
| 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
|
| Get enabled object lifecycle management | Indicates whether a bucket has any executable Object Lifecycle Management policies configured. 1 - if policies are configured 0 - if no policies are configured |
Script | oci.obj.storage.metrics.olm.get Preprocessing
|
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 |