SUSE Virtualization
Overview
Listing and inspecting your Harvester Virtual Machines can be achieved with the SUSE Virtualization stackpack. Running the SUSE Observability Agent on the internal Kubernetes cluster, metrics and VM details are propagated to SUSE® Observability.
Install Platform
Follow the Installing SUSE Observability guide to install SUSE® Observability.
Install Agent
Deploy the Agent
In SUSE® Observability, go to main menu -> StackPacks -> Kubernetes and add an instance.
Record the cluster name, ingest URL and service token in a values.yaml file:
stackstate:
apiKey: __SERVICE_TOKEN__
cluster:
name: __CLUSTER_NAME__
url: __STACKSTATE_INGEST_URL__
otel:
enabled: true
k8sResourceCollector:
integrations:
suseVirtualization: true
rancher: true
Follow the "Generic Kubernetes" installation instructions, with helm command:
helm upgrade --install \
--kubeconfig /path/to/kubeconfig.yaml \
--namespace suse-observability-agent \
--values values.yaml \
suse-observability-agent suse-observability/suse-observability-agent
Create ServiceMonitors
To ship metrics from Harvester to SUSE® Observability, you must create a couple of ServiceMonitors. Note that the label observability.suse.com/agent: scrape ensures that the service monitor is scraped by the OTEL integration of SUSE® Observability.
# Harvester-owned ServiceMonitor/PodMonitor resources for SUSE Observability Agent
# target allocator discovery.
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: harvester-api-metrics
namespace: harvester-system
labels:
observability.suse.com/agent: scrape
app.kubernetes.io/part-of: harvester
spec:
selector:
matchLabels:
app.kubernetes.io/name: harvester-api
endpoints:
- port: https-metrics
scheme: https
path: /metrics
interval: 30s
scrapeTimeout: 10s
tlsConfig:
insecureSkipVerify: true
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: kubevirt-metrics
namespace: harvester-system
labels:
observability.suse.com/agent: scrape
app.kubernetes.io/part-of: harvester
spec:
namespaceSelector:
matchNames:
- harvester-system
- cattle-monitoring-system
- kubevirt
selector:
matchExpressions:
- key: prometheus.kubevirt.io
operator: Exists
endpoints:
- port: metrics
scheme: https
path: /metrics
interval: 30s
scrapeTimeout: 10s
tlsConfig:
insecureSkipVerify: true
Verify SUSE Virtualization
The SUSE Observability Agent running in the Harvester cluster sends
kubevirt.io custom resources, pod details and metrics to SUSE® Observability.
You can validate the connection by checking the
SUSE Virtualization Operations Dashboard
Virtual Machine
Metrics perspective on a Kubevirt Controller