Monitoring Kubernetes CustomResourceDefinitions (CRDs) with Checkmk?

Hello everyone,

I’m currently running a Kubernetes cluster that is monitored using Checkmk.

In addition to that, I’m scheduling daily backups using operators like cloudnative-pg and Kasten K10, which both rely heavily on CustomResourceDefinitions (CRDs) to represent backup jobs, policies and their status.

I’m wondering:

  • Is there a way to include Kubernetes CRDs in Checkmk monitoring?
  • Specifically, can Checkmk query CRDs and create services/alerts based on their state (e.g. successful backup, failed backup, last run timestamp, etc.)?
  • If this is currently not possible:
    • Is there a recommended workaround (e.g. via custom check plugins, special agents, or the Kubernetes API)?
    • Or is native CRD monitoring planned for a future Checkmk release?

Additionally, I saw that Checkmk currently supports up to Kubernetes 1.32 (see werk #18235) - are there any updates for newer versions?

Thanks in advance!

1 Like

Hi! Great question. You can definitely monitor CRDs in Checkmk, and since you’re likely moving toward Checkmk 2.4, you have a very modern way to do it.

Checkmk doesn’t query CRDs “natively” via the standard K8s agent yet, but you can bridge them using kube-state-metrics (KSM) and the Checkmk OpenTelemetry Collector.

  1. Configure KSM: Use the “Custom Resource State” feature in KSM to expose your cloudnative-pg or Kasten CRD fields (like status.phase) as Prometheus metrics.

  2. Scrape with OpenTelemetry: In Checkmk 2.4, go to Setup > Prometheus scraping. You can configure the collector to scrape the KSM Prometheus endpoint directly with no separate Prometheus server required!

  3. Automatic Services: Use Dynamic Host Management in Checkmk to automatically create services and alerts based on these metrics.

You can find more about our OpenTelemetry support here.

Regarding support for newer versions, let me see who can provide this information.

3 Likes

Hello,

Thanks for reaching out. Support for Kubernetes 1.33 is in development and will be included in an upcoming patch release. Support for newer versions will follow as well; while there is no firm timeline for 1.34 yet, we expect to enable monitoring for it shortly after.

We’ll keep you posted in this thread.

Best,
Saleh

2 Likes

quick update: Kubernetes 1.33 is now supported with Checkmk 2.4.0p22

2 Likes