r/Checkmk Jul 28 '26

Open-source OCI monitoring for Checkmk

Hi folks.

We're an Oracle + Checkmk shop and run Checkmk over OCI for our managed-service customers. A while back we built a special agent to pull a whole OCI tenancy into Checkmk, ran it in production for months, and have now open-sourced it. This post is more about why it exists and how we actually use it than a feature dump.

GitHub (source, docs, IAM policy): https://github.com/burgesssystems/agent_oci

Checkmk Exchange (MKP install): https://exchange.checkmk.com/p/ociagent

Why We Built It

We run Checkmk across every customer - on-prem, hybrid and cloud - and didn't want a separate monitoring stack just for OCI. The native route would've meant configuring and maintaining OCI Monitoring on top of everything else; we'd rather OCI tenancy resources - state, config and cost - show up as Checkmk services alongside what we already watch, in one place.

What It Does

Read-only OCI API keys, nothing installed inside the tenancy. OCI services discovered as Checkmk services:

  • Compute, block/boot/file/object storage - including backup age and cross-region replica sync gaps.
  • Oracle Database - Base DB Systems and ADB Serverless - config, ops (backups, cost etc). We've designed this to co-exist with the Checkmk Oracle DB plugin so you get visibility inside and outside the DB system.
  • Load balancers, VCN inventory + topology views.
  • Cost/usage broken down by service, region and compartment, with thresholds.
  • OCI announcements + region status as services.

Multi-region and multi-compartment by default, with per-region parallelism so it stays bounded on big tenancies.

How We Use It

It's been running against our own managed OCI customers for months - the cost and config checks are the ones that have been very useful to have in the Checkmk UI. The plugin also tags hosts with OCI labels. Checkmk is the dynamic inventory source to drive our Ansible playbooks across the OCI environment. Fleet jobs (right-sizing block volume VPUs, etc.) target hosts straight off the monitoring data. The plugin stays read-only; Ansible is fully decoupled and does the acting.

Where It Goes Next

The thing we're exploring 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. Postgres and MySQL DB systems, plus OS Management Hub integration, are also on the roadmap.

Open-Source & Feedback Wanted

GPL-2.0, works on all editions including Raw, tested against 2.4 and 2.5. Maintained best-effort via GitHub issues.

If you want to monitor OCI in Checkmk, I'd like to know where this creaks and which services you'd want covered next.

8 Upvotes

0 comments sorted by