|
| 1 | +// Module included in the following assemblies: |
| 2 | +// |
| 3 | +// * networking/hardware_networks/configuring-sriov-operator.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: CONCEPT |
| 6 | +[id="sriov-network-metrics-exporter_{context}"] |
| 7 | += About the SR-IOV network metrics exporter |
| 8 | + |
| 9 | +The Single Root I/O Virtualization (SR-IOV) network metrics exporter reads the metrics for SR-IOV virtual functions (VFs) and exposes these VF metrics in Prometheus format. When the SR-IOV network metrics exporter is enabled, you can query the SR-IOV VF metrics by using the {product-title} web console to monitor the networking activity of the SR-IOV pods. |
| 10 | + |
| 11 | +When you query the SR-IOV VF metrics by using the web console, the SR-IOV network metrics exporter fetches and returns the VF network statistics along with the name and namespace of the pod that the VF is attached to. |
| 12 | + |
| 13 | +The SR-IOV VF metrics that the metrics exporter reads and exposes in Prometheus format are described in the following table: |
| 14 | + |
| 15 | +.SR-IOV VF metrics |
| 16 | +[%autowidth,options="header"] |
| 17 | +|==== |
| 18 | +|Metric| Description |Example PromQL query to examine the VF metric |
| 19 | + |
| 20 | +|`sriov_vf_rx_bytes` |Received bytes per virtual function. |`sriov_vf_rx_bytes * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 21 | +|`sriov_vf_tx_bytes` |Transmitted bytes per virtual function. |`sriov_vf_tx_bytes * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 22 | +|`sriov_vf_rx_packets` |Received packets per virtual function. |`sriov_vf_rx_packets * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 23 | +|`sriov_vf_tx_packets` |Transmitted packets per virtual function. |`sriov_vf_tx_packets * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 24 | +|`sriov_vf_rx_dropped` |Dropped packets upon receipt per virtual function. |`sriov_vf_rx_dropped * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 25 | +|`sriov_vf_tx_dropped` |Dropped packets during transmission per virtual function. |`sriov_vf_tx_dropped * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 26 | +|`sriov_vf_rx_multicast` |Received multicast packets per virtual function. |`sriov_vf_rx_multicast * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 27 | +|`sriov_vf_rx_broadcast` |Received broadcast packets per virtual function. |`sriov_vf_rx_broadcast * on (pciAddr,node) group_left(pod,namespace,dev_type) sriov_kubepoddevice` |
| 28 | +|`sriov_kubepoddevice` |Virtual functions linked to active pods. |- |
| 29 | + |
| 30 | +|==== |
| 31 | + |
| 32 | +You can also combine these queries with the kube-state-metrics to get more information about the SR-IOV pods. For example, you can use the following query to get the VF network statistics along with the application name from the standard Kubernetes pod label: |
| 33 | + |
| 34 | +[source,terminal] |
| 35 | +---- |
| 36 | +(sriov_vf_tx_packets * on (pciAddr,node) group_left(pod,namespace) sriov_kubepoddevice) * on (pod,namespace) group_left (label_app_kubernetes_io_name) kube_pod_labels |
| 37 | +---- |
0 commit comments