OCI special agent - full Oracle Cloud Infrastructure tenancy monitoring

Hi everyone,

I’d like to share something we’ve been running in production at BSC for a while and have now open-sourced - a special agent that brings a full Oracle Cloud Infrastructure (OCI) tenancy into Checkmk.

We’re an Oracle + Checkmk shop and run Checkmk over OCI for our managed-service customers. The OCI Console as a second pane of glass never sat right - outages not paged, cost overruns not flagged, backup failures noticed late. So we built the integration we wanted, used it in production for months, and decided open-sourcing it beats keeping it to ourselves.


:wrench: What it monitors

  • Compute - instance state, shape, CPU/RAM, cost per instance.

  • Block/boot volumes & volume groups - capacity, backup age (FULL + INCREMENTAL), cross-region replica sync, backup-policy compliance.

  • File & object storage - usage, replicas, tiers, cost.

  • Load balancers - health, backend sets, listeners, certificate expiry.

  • Oracle databases - Base DB Systems and Autonomous DB (state, compute, storage, backups, Data Guard).

  • Cost & usage - monthly spend by service, region, and compartment, as services with thresholds.

  • VCN inventory + topology - network and resource topology views, regions → compartments → resources.

  • OCI announcements & region status - provided as Checkmk services against the tenancy host.

:gear: How it works

Checkmk Special Agent using read-only OCI API keys; nothing installed inside the tenancy. Multi-region and multi-compartment by default, with per-region parallelism to keep runtime bounded on large tenancies. All list calls paginated and retried against the usual API quirks.

:package: Getting it

Checkmk 2.3+ - works on all editions including Raw (tested against 2.4). You’ll need pip install oci in the site environment; the README covers the OCI-side setup including a least-privilege IAM policy.

GPL-2.0, maintained best-effort via GitHub issues.

:telescope: What’s next

The thing we’re exploring now is supplementing API polling with OCI’s OTel metric streaming - polling the monitoring APIs at scale gets expensive, and streaming looks like a better fit alongside where Checkmk is heading with OpenTelemetry.

:speech_balloon: Feedback wanted

  • Anyone monitoring large OCI tenancies - interested in where it creaks.

  • Which OCI services are missing that you’d want next?

  • Opinions on the OTel-streaming direction very welcome.

Thanks, Mark

nice!

does it also work with Oracles Sovereign Cloud?

It should do as long as you have access to the home regions OCI API’s. Haven’t tested it myself but if you set the home region in the rule to point to the sovereign region it should be able to work out the rest.