A Kubernetes operator that collects counts and attributes of cluster resources and exports them as OpenTelemetry gauge metrics to configurable data sinks (e.g., Dynatrace).
- Flexible targeting: Monitor any Kubernetes or Crossplane resource by GroupVersionKind
- Federation: Aggregate metrics across multiple clusters
- Rich dimensions: Extract labels, annotations, conditions, or any field as metric attributes
- Comprehensive Resource Tracking: Quantifies and catalogs various resource types, providing a holistic view of resource distribution and utilization.
- Multi-dimensional Analysis: Examines specific attributes and dimensions of resources, generating nuanced metrics for deeper understanding of system behavior.
- Comparative Analytics: Enables side-by-side analysis of different resource configurations, highlighting patterns and potential imbalances in resource allocation.
- Custom Component Focus: Tailored to monitor and analyze complex, custom-defined resources across your infrastructure.
- Predictive Insights: Aggregates data over time to identify emerging trends, supporting data-driven decision making for future system enhancements.
- Strategic Decision Support: Offers data-backed insights to guide product evolution.
- Customizable Alerting System: Allows defining alerts based on specific metric thresholds, enabling proactive response to potential issues or significant changes in system state.
- Pluggable sinks: Send to any OTLP-compatible endpoint via
DataSinkCRDs - Standardized: Full OpenTelemetry protocol support
- ServiceMonitor integration: Create
ServiceMonitorresources for Prometheus scraping
- Pod-level log aggregation & collection not currently supported
- Pod metrics collection feature in backlog
| Topic | Description |
|---|---|
| Installation | Helm deployment and post-install setup |
| Architecture | Resource types, flows, and data model |
| Usage | Metric, ManagedMetric, FederatedMetric, FederatedManagedMetric examples |
| Dimensions Configuration | Projections, valueFrom, cardinality |
| Metrics Export | DataSink (OTLP push), ServiceMonitor (Prometheus scrape) |
| Remote Cluster Access | RemoteClusterAccess and FederatedClusterAccess |
| RBAC | Permissions required for monitored resources |
| Development | Local development with kind |
Via Open Control Plane (name must match your ControlPlane resource):
apiVersion: metrics.services.open-control-plane.io/v1alpha1
kind: MetricsOperator
metadata:
name: my-mcp
namespace: <your-ocp-namespace>
spec:
version: "v0.13.0" # pick latest version from GitHub ReleasesOR Via Helm:
helm upgrade --install metrics-operator oci://ghcr.io/openmcp-project/charts/metrics-operator \
--namespace metrics-operator-system \
--create-namespace \
--version=<version>See Installation for full setup instructions including DataSink configuration.
Feature requests, bug reports, and contributions are welcome via GitHub issues. See our Contribution Guidelines.
Report security issues following our security policy. Do not open public GitHub issues for security problems.
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.
Copyright OpenControlPlane contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.
OpenControlPlane is part of ApeiroRA, an EU Important Project of Common European Interest (IPCEI-CIS).
Copyright Linux Foundation Europe. For web site terms of use, trademark policy and other project policies please see https://linuxfoundation.eu/en/policies.