Basic Components¶
This document describes the monitoring components and their deployment scenarios.
Component Overview¶
The Qubership Monitoring Operator includes many components that serve various monitoring functions. Not all projects need all functions, so you can specify which components to install.
Always Installed¶
monitoring-operator
- Core operator that manages all other components
Default Configuration¶
By default, the following components are installed:
monitoring-operator
- Core operatoralertmanager
- Alert management and routinggrafana
- Visualization and dashboardsgrafana-operator
- Grafana managementkube-state-metrics
- Kubernetes state metrics collectionnode-exporter
- Node-level system metricsvictoriametrics
- Time series database and storagevm-operator
- VictoriaMetrics management
Available Components¶
Core Monitoring Stack¶
VictoriaMetrics Stack¶
vmoperator
- VictoriaMetrics operatorvmagent
- Metrics collection agentvmalert
- Alerting componentvmalertmanager
- Alert managementvmauth
- Authentication proxyvmsingle
- Single-node VictoriaMetricsvmuser
- User management
Grafana Stack¶
grafana-operator
- Grafana instance managementgrafana
- Visualization and dashboard platformgrafana-dashboards
- Pre-built monitoring dashboards
AlertManager¶
alertmanager
- Alert routing, grouping, and notification management
Prometheus Stack¶
prometheus-operator
- Prometheus instance managementprometheus
- Time series database and monitoring engineprometheus-rules
- Alerting and recording ruleskubernetes-monitors
- Kubernetes-specific monitoring targets
Metrics Exporters¶
Core Exporters¶
node-exporter
- Hardware and OS metricskube-state-metrics
- Kubernetes object state metrics
Specialized Exporters¶
blackbox-exporter
- External endpoint probingcert-exporter
- TLS certificate monitoringversion-exporter
- Version trackingnetwork-latency-exporter
- Network latency measurements
Cloud Exporters¶
cloudwatch-exporter
- AWS CloudWatch metricspromitor-agent-scraper
- Azure Monitor metricsstackdriver-exporter
- Google Cloud metrics
Additional Components¶
pushgateway
- Push-based metrics collectionpromxy
- Prometheus proxy and aggregatorprometheus-adapter
- Kubernetes custom metrics APIprometheus-adapter-operator
- Prometheus adapter managementgraphite-remote-adapter
- Graphite protocol support
Deployment Scenarios¶
Scenario 1: Metrics Collection Only¶
Minimal setup for basic metrics collection:
Scenario 2: Collection + Visualization¶
Add dashboards and visualization:
components:
- monitoring-operator
- node-exporter
- kube-state-metrics
- victoriametrics
- grafana
- grafana-operator
Scenario 3: Full Monitoring Stack¶
Complete monitoring with alerting:
components:
- monitoring-operator
- alertmanager
- grafana
- grafana-operator
- kube-state-metrics
- node-exporter
- victoriametrics
- vm-operator
Scenario 4: External Storage Integration¶
Send metrics to external systems:
components:
- monitoring-operator
- node-exporter
- kube-state-metrics
- vmagent # Collection agent
- graphite-remote-adapter # External storage
Default Deployment Settings¶
Resource Allocation¶
Default resource requests and limits:
Component | Requests | Limits |
---|---|---|
alertmanager |
CPU: 100m, RAM: 100Mi | CPU: 200m, RAM: 200Mi |
grafana |
CPU: 300m, RAM: 400Mi | CPU: 500m, RAM: 800Mi |
grafana-operator |
CPU: 50m, RAM: 50Mi | CPU: 100m, RAM: 100Mi |
kube-state-metrics |
CPU: 50m, RAM: 50Mi | CPU: 100m, RAM: 256Mi |
monitoring-operator |
CPU: 50m, RAM: 50Mi | CPU: 100m, RAM: 150Mi |
node-exporter |
CPU: 50m, RAM: 50Mi | CPU: 100m, RAM: 100Mi |
victoriametrics |
CPU: 1000m, RAM: 3Gi | CPU: 1500m, RAM: 5Gi |
vm-operator |
CPU: 100m, RAM: 100Mi | CPU: 200m, RAM: 200Mi |
Default Behavior¶
- Storage: VictoriaMetrics and Grafana use ephemeral storage (emptyDir)
- Retention: VictoriaMetrics stores metrics for 24 hours by default
- Ingress: No ingress configured by default (Kubernetes)
- Integrations: No external integrations enabled
- Exporters: Basic exporters only (no blackbox/cert exporters)
Metrics Collection Sources¶
By default, metrics are collected from:
- Kubelet and cAdvisor
- Kubernetes API Server
- Nginx Ingress (if available)
- Etcd
- Kube-state-metrics
- Node Exporter
- Self-monitoring: VictoriaMetrics, AlertManager, Grafana
Pre-built Resources¶
- Dashboards: See Default Dashboards
- Alerts: See Default Alerts
Component Configuration¶
Enabling/Disabling Components¶
You can selectively enable or disable:
Dashboards¶
Configure via grafanaDashboards.list
parameter - specify which dashboards to install.
Prometheus Rules¶
Configure via prometheusRules.ruleGroups
parameter - specify alert rule groups to install.
Kubernetes Monitors¶
Configure via kubernetesMonitors
parameter - specify monitoring targets and override scraping parameters.
Automatic Rules¶
Some dashboards and monitors are automatically enabled/disabled based on component availability:
Dashboard Rules¶
kubernetes-nodes-resources
- disabled ifnode-exporter
not installedhome-dashboard
- disabled ifgrafana.grafanaHomeDashboard
is falsecore-dns-dashboard
- disabled if CoreDNS monitor not available or OpenShift ≤ 3.11- Ingress dashboards - disabled on OpenShift or if nginx ingress monitor unavailable
- VictoriaMetrics dashboards - enabled only with VM components
- Prometheus dashboards - enabled only with Prometheus components
Example Configurations¶
Basic Setup¶
Custom Ingress Setup¶
grafana:
ingress:
install: true
host: grafana.example.com
victoriametrics:
vmsingle:
install: true
ingress:
install: true
host: victoriametrics.example.com
vmAlertManager:
install: true
ingress:
install: true
host: alertmanager.example.com
Cloud-Specific Setup¶
# AWS with CloudWatch
cloudwatch-exporter:
install: true
# Azure with Promitor
promitor-agent-scraper:
install: true
# GCP with Stackdriver
stackdriver-exporter:
install: true
Next Steps¶
- Review Storage configuration options
- Plan your Deployment strategy
- Configure individual Components as needed