Qubership Monitoring Operator

A comprehensive Kubernetes operator that simplifies the deployment and management of production-ready monitoring stacks. Built to handle complex monitoring environments with minimal operational overhead while providing maximum flexibility and scalability.
What is Qubership Monitoring Operator?
The Qubership Monitoring Operator is a cloud-native solution that automates the deployment and management of complete monitoring infrastructure on Kubernetes. It orchestrates industry-standard monitoring tools and provides a unified interface for comprehensive observability.
Key Benefits
- Automated Management: Deploy and manage complex monitoring stacks with a single custom resource
- Production Ready: Battle-tested configurations optimized for enterprise environments
- Multi-Stack Support: Choose between VictoriaMetrics or Prometheus based on your needs
- Resource Efficient: VictoriaMetrics uses 2-5x less RAM compared to Prometheus
- Cloud Native: Seamless integration with AWS, Azure, and Google Cloud platforms
- Complete Observability: Metrics collection, visualization, alerting, and autoscaling in one package
- Zero Downtime: Rolling updates and high availability configurations out of the box
What You Get
Core Components
- Time Series Database: VictoriaMetrics or Prometheus for metrics storage
- Visualization: Grafana with pre-built dashboards for Kubernetes and applications
- Alerting: AlertManager or VMAlert for intelligent alert management
- Metrics Collection: Automated discovery and scraping of application metrics
- Autoscaling: Horizontal Pod Autoscaler integration with custom metrics
Included Exporters
- Infrastructure: node-exporter, kube-state-metrics for Kubernetes insights
- Security: cert-exporter for TLS certificate monitoring
- Network: blackbox-exporter for endpoint monitoring and network latency tracking
- Cloud Platforms: AWS CloudWatch, Azure Monitor, Google Cloud Operations exporters
- Custom: JSON exporter for REST APIs, version exporter for application versioning
- Events: cloud-events-exporter for CloudEvents monitoring
Integrations
- Graphite: graphite-remote-adapter for Graphite integration
- Load Balancing: promxy for high availability and federation
Architecture
graph TB
subgraph "Deployment & Management"
HELM[Helm Chart]
MO[Monitoring Operator]
PM[PlatformMonitoring CR]
end
subgraph "Core Monitoring Stack"
VM[VictoriaMetrics OR Prometheus Stack]
GRAF[Grafana]
AM[AlertManager]
end
subgraph "Metrics Sources"
CLOUDS[Public Clouds<br/>AWS CloudWatch, Azure Monitor, Google Cloud Operations]
LOCAL[Local Metrics<br/>Kubernetes, Infrastructure, Network, Applications]
end
subgraph "External Integrations"
NOTIF[Notifications<br/>Slack, Email, PagerDuty]
end
%% Deployment flow
HELM -->|deploys| MO
MO -->|watches| PM
PM -->|configures| VM
PM -->|configures| GRAF
PM -->|configures| AM
%% Data flow
CLOUDS -->|metrics| VM
LOCAL -->|metrics| VM
%% Visualization & Alerting
GRAF -->|queries| VM
AM -->|alerts from| VM
AM -->|sends| NOTIF
%% Styling
classDef management fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef core fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef sources fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
classDef external fill:#fff3e0,stroke:#f57c00,stroke-width:2px
class HELM,MO,PM management
class VM,GRAF,AM core
class CLOUDS,LOCAL sources
class NOTIF external
Quick Start
Prerequisites
- Kubernetes 1.19+ cluster
- Helm 3.0+
- kubectl configured for your cluster
1. Install the Operator
Install from source:
# Clone the repository
git clone https://github.com/Netcracker/qubership-monitoring-operator.git
cd qubership-monitoring-operator
# Install the operator from local charts
helm install monitoring-operator charts/qubership-monitoring-operator \
--namespace monitoring \
--create-namespace
2. Deploy Basic Monitoring Stack
The operator comes with sensible defaults. You can deploy with zero configuration:
# Create PlatformMonitoring resource with defaults
kubectl apply -f - <<EOF
apiVersion: monitoring.qubership.org/v1alpha1
kind: PlatformMonitoring
metadata:
name: monitoring-stack
namespace: monitoring
spec: {}
EOF
What gets installed by default:
- VictoriaMetrics Operator - enabled
- VictoriaMetrics Single - time series database with 24h retention
- Grafana - visualization with pre-built dashboards
- Grafana Operator - manages Grafana instances
- kube-state-metrics - Kubernetes metrics collector
- node-exporter - infrastructure metrics collector
- Common Dashboards - essential monitoring dashboards
- Prometheus Rules - basic alerting rules
What's disabled by default:
- AlertManager (use VMAlert instead)
- All cloud exporters (AWS, Azure, GCP)
- All optional exporters (blackbox, cert, json, etc.)
- Prometheus Adapter for HPA
- Integrations (Graphite, Promxy)
3. Access Your Monitoring
# Get Grafana admin password
kubectl get secret monitoring-grafana-admin -n monitoring -o jsonpath="{.data.password}" | base64 -d
# Port forward to access Grafana
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:3000
# Open http://localhost:3000 (admin/password from above)
Documentation
Quick Guides
API Reference
Default Monitoring
- Metrics - Out-of-the-box metrics collection
- Alerts - Pre-configured alerting rules
- Dashboards - Built-in Grafana dashboards
Examples
Architecture
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
# Clone the repository
git clone https://github.com/Netcracker/qubership-monitoring-operator.git
cd qubership-monitoring-operator
# Install dependencies
go mod download
# Run tests
make test
# Run locally
make run
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Support
Star History
If this project helped you, please consider giving it a star!
Ready to get started? Follow our Quick Start guide and have monitoring running in minutes!