Observability
-
Verify the Cert-Manager is deployed and configured on the OpenShift Cluster. Please review the Red Hat documentation for the procedure.
-
Verify the user workload monitoring is enabled and configured on the OpenShift Cluster. Please review Red Hat documentation for the procedure to configure user workload monitoring on the OpenShift Cluster.
-
Enable Observability module in the CSM
Use this command to create the ContainerStorageModule custom resource with Observability enabled.
oc create -f csm-vxflexos.yamlExample:
cat <<EOF> csm-vxflexos.yaml apiVersion: storage.dell.com/v1 kind: ContainerStorageModule metadata: name: vxflexos namespace: vxflexos spec: driver: csiDriverType: "powerflex" configVersion: v2.16.0 module: - name: observability enabled: true components: - name: otel-collector enabled: true - name: metrics-powerflex enabled: true EOFVerify the Observability Pods are created.
oc get pod -n vxflexos NAME READY STATUS RESTARTS AGE karavi-metrics-powerflex-69855dbdd5-5mshq 1/1 Running 0 2m54s otel-collector-b496d8c4d-gp6zz 2/2 Running 0 2m55sVerify the Observability Services.
oc get svc -n vxflexos NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE karavi-metrics-powerflex ClusterIP 172.30.169.86 <none> 2222/TCP 3m29s otel-collector ClusterIP 172.30.127.237 <none> 55680/TCP,8443/TCP 3m29s -
Create Service Monitor to scrape the Observability module by the OpenShift Observability.
Use this command to create the ServiceMonitor.
oc apply -f smon-otel-collector.yamlExample:
cat <<EOF> smon-otel-collector.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: otel-collector namespace: vxflexos spec: endpoints: - path: /metrics port: exporter-https scheme: https tlsConfig: insecureSkipVerify: true selector: matchLabels: app.kubernetes.io/instance: karavi-observability app.kubernetes.io/name: otel-collector EOFVerify the ServiceMonitor is created.
oc get smon -n vxflexos NAME AGE otel-collector 44h
Verify the PowerFlex metrics are visible in the OpenShift Console. On the OpenShift Console, navigate to Observer and then Metrics, search for PowerFlex metrics. User can follow the official guide to install Openshift Virtualization in OCP cluster. Once installed, OpenShift Virtualization automatically creates the ServiceMonitor required by Prometheus to scrape KubeVirt metrics. On the OpenShift Console, navigate to Observer and then Metrics, search for kubevirt metrics.
User can use PromQL join queries to correlate KubeVirt metrics with Dell CSI storage metrics for advanced insights. For example, for each VM disk, find its allocated size of the underlying PowerFlex volume, using the following query:
Installing OpenShift Virtualization and Accessing KubeVirt Metrics
label_replace(kubevirt_vm_disk_allocated_size_bytes, "Namespace", "$1", "namespace", "(.*)") * on(persistentvolumeclaim, Namespace) group_left(PersistentVolumeName) label_replace(powerflex_volume_read_bw_megabytes_per_second, "persistentvolumeclaim", "$1", "PersistentVolumeClaimName", "(.*)")