This alert fires when one or more VMs across the cluster have experienced non-recoverable guest OS panics in the last 24 hours. This may indicate a cluster-wide infrastructure issue such as a faulty node image, a broken driver, or a shared storage problem affecting VMs.
The alert is based on the kubevirt_vmi_guest_os_panic_total metric, which
tracks panic events detected via the pvpanic device (Linux and Windows) or
the Hyper-V enlightenment mechanism (Windows).
RunStrategy: Always, they restart automatically but may
continue crash-looping.Identify all affected VMs by querying the panic metric:
sum by (namespace, name) (increase(kubevirt_vmi_guest_os_panic_total[24h])) > 0
Look for common patterns across affected VMs:
kubevirt_vmi_guest_os_panic_total
Check whether panics share the same type (e.g., all pvpanic or all
hyper-v) or the same bugcheck_code.
Check if affected VMs share a common node:
kubectl get vmi -A -o wide | grep -E "<vm-name-1>|<vm-name-2>|..."
If all affected VMs run on the same node, the issue is likely node-specific (hardware, kernel, driver).
Check node health and events:
kubectl describe node <node-name>
kubectl get events -A --field-selector involvedObject.kind=Node
Review virt-launcher logs for any of the affected VMs:
POD=$(kubectl get pod -n <namespace> -l kubevirt.io/domain=<vm-name> -o name | head -n1)
kubectl logs $POD -n <namespace> -c compute --previous
If you cannot resolve the issue, see the following resources: