Doc Update for Node Interface exporter support

Story: 2010918
Task: 49974

Change-Id: Ibd1f01fe058a01c59ba6141857b8562551bed138
Signed-off-by: Elisamara Aoki Goncalves <elisamaraaoki.goncalves@windriver.com>
This commit is contained in:
Elisamara Aoki Goncalves 2024-04-25 16:49:17 +00:00
parent f8daad8b39
commit 0d21cfcbe2
2 changed files with 726 additions and 0 deletions

View File

@ -19,3 +19,11 @@ PTP Notification
integrate-application-with-notification-client-sidecar
ptp-notification-status-conditions-6d6105fccf10
------------------------------------------
Node Interface Metric Exporter Application
------------------------------------------
.. toctree::
:maxdepth: 1
node-interface-metrics-exporter-application-d98b2707c7e9

View File

@ -0,0 +1,718 @@
.. _node-interface-metrics-exporter-application-d98b2707c7e9:
===========================================
Node Interface Metrics Exporter Application
===========================================
.. rubric:: |context|
The Node Interface Metrics Exporter application is designed to fetch and
display node statistics in a Kubernetes environment. It deploys an Interface
Metrics Exporter DaemonSet on all nodes with the
``starlingx.io/interface-metrics=true node`` label. It uses the Netlink library
to gather data directly from the kernel, offering real-time insights into node
performance.
Node Interface Metrics Exporter provides the following details in the Open
Metrics API format using REST APIs.
#. Physical Function Interface Device information and Statistics.
#. Device information contains device name, hardware address, broadcast,
duplex, ifalias, operation state and pci-address.
#. Statistics contains.
- RX/TX packets, RX/TX bytes, multicast, RX/TX errors, RX/TX dropped,
RX/TX compressed.
- RX detailed errors (length, over, crc, frame, missed, fifo).
- TX detailed errors (aborted, carrier, heartbeat, window, fifo).
#. Virtual Function Interface Device information, Statistics and POD
information.
#. Device information contains device name, Virtual Function id,
pci-adddress, hardware address, vlan, spoofcheck, trust.
#. Statistics contains RX/TX packets, RX/TX bytes, RX/TX dropped, TX rate,
TX rate max, TX rate min.
#. POD information contains namespace, POD name, container name, resource
name, device name, Virtual Function id, hardware address.
---------------------------------------------------
Install Node Interface Metrics Exporter Application
---------------------------------------------------
Follow the steps below to install the Node Interface Metrics Exporter
application.
#. Locate the application tarball in the ``/usr/local/share/applications/helm``
directory.
For example:
.. code-block:: none
/usr/local/share/applications/helm/node-interface-metrics-exporter-<version>.tgz
#. Upload the application using the following command, replacing ``<version>``
with the latest version number.
.. code-block:: none
~(keystone_admin)]$ system application-upload /usr/local/share/applications/helm node-interface-metrics-exporter-<version>.tgz
#. Verify that the application has been uploaded successfully.
.. code-block:: none
~(keystone_admin)]$ system application-list
#. Apply the application using the following command.
.. code-block:: none
~(keystone_admin)]$ system application-apply node-interface-metrics-exporter
The application should be in applied state.
#. Monitor the status of the application using one of the following commands.
.. code-block:: none
~(keystone_admin)]$ watch -n 5 system application-list
OR
.. code-block:: none
~(keystone_admin)]$ watch kubectl get pods -n node-interface-metrics-exporter
-----------------------------------------------------
Uninstall Node Interface Metrics Exporter Application
-----------------------------------------------------
Follow the steps below to uninstall the Node Interface Metrics Exporter
application.
#. Remove the application using the following command:
.. code-block:: none
~(keystone_admin)]$ system application-remove node-interface-metrics-exporter
#. Delete application using the following command:
.. code-block:: none
~(keystone_admin)]$ system application-delete node-interface-metrics-exporter
Once uninstallation is complete, all related resources and configurations will
be removed from the system.
-----------------------------------
Node Interface Metrics Exporter API
-----------------------------------
.. note::
The following APIs are expected to be accessed only from applications
running internal to the cluster and should not be exported.
The Application Pod retrieves node interface information and statistics by
making a call to the following REST APIs. The server address is the node's host
name or IP address, and it uses port 9110. The output is presented in the Open
Metrics format, providing information and statistics for devices that are in
the ``UP`` state.
Details of the APIs are as follows:
#. ``/metrics`` [GET API]
Get statistics of all devices in the node.
- ``/metrics`` provides the information and statistics of all Physical
Function devices.
- It provides the information and statistics of Virtual Functions devices
belonging to Physical Function devices.
- It provides the POD information as well if the Virtual Function device
is used by any POD (matched by PciAddr of Virtual Function device).
Normal response codes
200
Error response codes
computeFault (400, 500, …), serviceUnavailable (503), badRequest (400),
badMethod (405), itemNotFound (404)
Request parameters
None
Response parameters
Node statistics in Open Metrics format.
.. code-block:: none
# TYPE network_interface_device info
# HELP network_interface_device network_interface_device
network_interface_device_info{device="enp138s0f1",address="b4:96:91:e6:c8:89",broadcast="[]",duplex="full",ifalias=" ",operstate="up",pciaddr="0000:8a:00.1"} 1
# TYPE network_interface_rx_packets counter
# HELP network_interface_rx_packets network_interface_rx_packets
network_interface_rx_packets_total{device="enp138s0f1"} 46173
network_interface_rx_packets_created{device="enp138s0f1"} 1706083770.764208
# TYPE network_interface_tx_packets counter
# HELP network_interface_tx_packets network_interface_tx_packets
network_interface_tx_packets_total{device="enp138s0f1"} 1.4478309e+07
network_interface_tx_packets_created{device="enp138s0f1"} 1706083770.764211
# TYPE network_interface_rx_bytes counter
# HELP network_interface_rx_bytes network_interface_rx_bytes
network_interface_rx_bytes_total{device="enp138s0f1"} 2.1096743e+07
network_interface_rx_bytes_created{device="enp138s0f1"} 1706083770.764213
# TYPE network_interface_tx_bytes counter
# HELP network_interface_tx_bytes network_interface_tx_bytes
network_interface_tx_bytes_total{device="enp138s0f1"} 1.640187532e+09
network_interface_tx_bytes_created{device="enp138s0f1"} 1706083770.764214
# TYPE network_interface_rx_errors counter
# HELP network_interface_rx_errors network_interface_rx_errors
network_interface_rx_errors_total{device="enp138s0f1"} 0
network_interface_rx_errors_created{device="enp138s0f1"} 1706083770.764215
# TYPE network_interface_tx_errors counter
# HELP network_interface_tx_errors network_interface_tx_errors
network_interface_tx_errors_total{device="enp138s0f1"} 0
network_interface_tx_errors_created{device="enp138s0f1"} 1706083770.764216
# TYPE network_interface_rx_dropped counter
# HELP network_interface_rx_dropped network_interface_rx_dropped
network_interface_rx_dropped_total{device="enp138s0f1"} 0
network_interface_rx_dropped_created{device="enp138s0f1"} 1706083770.764218
# TYPE network_interface_tx_dropped counter
# HELP network_interface_tx_dropped network_interface_tx_dropped
network_interface_tx_dropped_total{device="enp138s0f1"} 0
network_interface_tx_dropped_created{device="enp138s0f1"} 1706083770.764219
# TYPE network_interface_multicast counter
# HELP network_interface_multicast network_interface_multicast
network_interface_multicast_total{device="enp138s0f1"} 46173
network_interface_multicast_created{device="enp138s0f1"} 1706083770.764221
# TYPE network_interface_collisions counter
# HELP network_interface_collisions network_interface_collisions
network_interface_collisions_total{device="enp138s0f1"} 0
network_interface_collisions_created{device="enp138s0f1"} 1706083770.764222
# TYPE network_interface_rx_length_errors counter
# HELP network_interface_rx_length_errors network_interface_rx_length_errors
network_interface_rx_length_errors_total{device="enp138s0f1"} 0
network_interface_rx_length_errors_created{device="enp138s0f1"} 1706083770.764224
# TYPE network_interface_rx_over_errors counter
# HELP network_interface_rx_over_errors network_interface_rx_over_errors
network_interface_rx_over_errors_total{device="enp138s0f1"} 0
network_interface_rx_over_errors_created{device="enp138s0f1"} 1706083770.764226
# TYPE network_interface_rx_crc_errors counter
# HELP network_interface_rx_crc_errors network_interface_rx_crc_errors
network_interface_rx_crc_errors_total{device="enp138s0f1"} 0
network_interface_rx_crc_errors_created{device="enp138s0f1"} 1706083770.764228
# TYPE network_interface_rx_frame_errors counter
# HELP network_interface_rx_frame_errors network_interface_rx_frame_errors
network_interface_rx_frame_errors_total{device="enp138s0f1"} 0
network_interface_rx_frame_errors_created{device="enp138s0f1"} 1706083770.764229
# TYPE network_interface_rx_fifo_errors counter
# HELP network_interface_rx_fifo_errors network_interface_rx_fifo_errors
network_interface_rx_fifo_errors_total{device="enp138s0f1"} 0
network_interface_rx_fifo_errors_created{device="enp138s0f1"} 1706083770.764230
# TYPE network_interface_rx_missed_errors counter
# HELP network_interface_rx_missed_errors network_interface_rx_missed_errors
network_interface_rx_missed_errors_total{device="enp138s0f1"} 0
network_interface_rx_missed_errors_created{device="enp138s0f1"} 1706083770.764232
# TYPE network_interface_tx_aborted_errors counter
# HELP network_interface_tx_aborted_errors network_interface_tx_aborted_errors
network_interface_tx_aborted_errors_total{device="enp138s0f1"} 0
network_interface_tx_aborted_errors_created{device="enp138s0f1"} 1706083770.764234
# TYPE network_interface_tx_carrier_errors counter
# HELP network_interface_tx_carrier_errors network_interface_tx_carrier_errors
network_interface_tx_carrier_errors_total{device="enp138s0f1"} 0
network_interface_tx_carrier_errors_created{device="enp138s0f1"} 1706083770.764235
# TYPE network_interface_tx_fifo_errors counter
# HELP network_interface_tx_fifo_errors network_interface_tx_fifo_errors
network_interface_tx_fifo_errors_total{device="enp138s0f1"} 0
network_interface_tx_fifo_errors_created{device="enp138s0f1"} 1706083770.764237
# TYPE network_interface_tx_heartbeat_errors counter
# HELP network_interface_tx_heartbeat_errors network_interface_tx_heartbeat_errors
network_interface_tx_heartbeat_errors_total{device="enp138s0f1"} 0
network_interface_tx_heartbeat_errors_created{device="enp138s0f1"} 1706083770.764239
# TYPE network_interface_tx_window_errors counter
# HELP network_interface_tx_window_errors network_interface_tx_window_errors
network_interface_tx_window_errors_total{device="enp138s0f1"} 0
network_interface_tx_window_errors_created{device="enp138s0f1"} 1706083770.764241
# TYPE network_interface_rx_compressed counter
# HELP network_interface_rx_compressed network_interface_rx_compressed
network_interface_rx_compressed_total{device="enp138s0f1"} 0
network_interface_rx_compressed_created{device="enp138s0f1"} 1706083770.764242
# TYPE network_interface_tx_compressed counter
# HELP network_interface_tx_compressed network_interface_tx_compressed
network_interface_tx_compressed_total{device="enp138s0f1"} 0
network_interface_tx_compressed_created{device="enp138s0f1"} 1706083770.764244
# EOF
# TYPE network_interface_vf_device info
# HELP network_interface_vf_device network_interface_vf_device
network_interface_vf_device_info{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d",vlan="0",spoofcheck="on",trust="off"} 1
# EOF
# TYPE network_interface_vf_tx_rate counter
# HELP network_interface_vf_tx_rate network_interface_vf_tx_rate
network_interface_vf_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764292
# TYPE network_interface_vf_max_tx_rate counter
# HELP network_interface_vf_max_tx_rate network_interface_vf_max_tx_rate
network_interface_vf_max_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_max_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764294
# TYPE network_interface_vf_min_tx_rate counter
# HELP network_interface_vf_min_tx_rate network_interface_vf_min_tx_rate
network_interface_vf_min_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_min_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764296
# TYPE network_interface_vf_rx_packets counter
# HELP network_interface_vf_rx_packets network_interface_vf_rx_packets
network_interface_vf_rx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1.076376e+06
network_interface_vf_rx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764298
# TYPE network_interface_vf_tx_packets counter
# HELP network_interface_vf_tx_packets network_interface_vf_tx_packets
network_interface_vf_tx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 362
network_interface_vf_tx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764301
# TYPE network_interface_vf_rx_bytes counter
# HELP network_interface_vf_rx_bytes network_interface_vf_rx_bytes
network_interface_vf_rx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 4.5207836e+07
network_interface_vf_rx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764303
# TYPE network_interface_vf_tx_bytes counter
# HELP network_interface_vf_tx_bytes network_interface_vf_tx_bytes
network_interface_vf_tx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 25452
network_interface_vf_tx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764305
# TYPE network_interface_vf_rx_dropped counter
# HELP network_interface_vf_rx_dropped network_interface_vf_rx_dropped
network_interface_vf_rx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_rx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764306
# TYPE network_interface_vf_tx_dropped counter
# HELP network_interface_vf_tx_dropped network_interface_vf_tx_dropped
network_interface_vf_tx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764309
# EOF
# TYPE network_interface_vf_kube_pod info
# HELP network_interface_vf_kube_pod network_interface_vf_kube_pod
network_interface_vf_kube_pod_info{namespace="default",pod="sriov-pod-demo1",container="test-sriovdp-netdev-single-pod-0",resource="intel.com/pci_sriov_net_group0_data1",device="net1",vf="1", pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d"} 1
# EOF
This operation does not accept a request body.
#. ``/metrics/device/{device_name}`` [GET API]
Get the information and statistics of the particular device in the node
identified by ``{device_name}``.
- If the input device name is Physical Function,
``/metrics/device/{device_name}`` provides its device information and
statistics. Also, it provides device information and statistics of all
the Virtual Functions as well belonging to input device. It provides
the POD information as well if Virtual Function device is used by any
POD (matched by ``pci-address`` of Virtual Function device).
- Input Virtual Function device name is not supported as multiple Virtual
Functions have same device name in different pods.
Normal response codes
200
Error response codes
computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), badMethod (405), itemNotFound (404)
Request parameters
+------------+-------+--------+---------------------------------------------+
| Parameter | Style | Type | Description |
+============+=======+========+=============================================+
|device_name | URI | string | The unique name of Physical Function device |
+------------+-------+--------+---------------------------------------------+
Response parameters
Device statistics in Open Metrics format.
.. code-block:: none
# TYPE network_interface_device info
# HELP network_interface_device network_interface_device
network_interface_device_info{device="enp138s0f1",address="b4:96:91:e6:c8:89",broadcast="[]",duplex="full",ifalias=" ",operstate="up",pciaddr="0000:8a:00.1"} 1
# TYPE network_interface_rx_packets counter
# HELP network_interface_rx_packets network_interface_rx_packets
network_interface_rx_packets_total{device="enp138s0f1"} 46173
network_interface_rx_packets_created{device="enp138s0f1"} 1706083770.764208
# TYPE network_interface_tx_packets counter
# HELP network_interface_tx_packets network_interface_tx_packets
network_interface_tx_packets_total{device="enp138s0f1"} 1.4478309e+07
network_interface_tx_packets_created{device="enp138s0f1"} 1706083770.764211
# TYPE network_interface_rx_bytes counter
# HELP network_interface_rx_bytes network_interface_rx_bytes
network_interface_rx_bytes_total{device="enp138s0f1"} 2.1096743e+07
network_interface_rx_bytes_created{device="enp138s0f1"} 1706083770.764213
# TYPE network_interface_tx_bytes counter
# HELP network_interface_tx_bytes network_interface_tx_bytes
network_interface_tx_bytes_total{device="enp138s0f1"} 1.640187532e+09
network_interface_tx_bytes_created{device="enp138s0f1"} 1706083770.764214
# TYPE network_interface_rx_errors counter
# HELP network_interface_rx_errors network_interface_rx_errors
network_interface_rx_errors_total{device="enp138s0f1"} 0
network_interface_rx_errors_created{device="enp138s0f1"} 1706083770.764215
# TYPE network_interface_tx_errors counter
# HELP network_interface_tx_errors network_interface_tx_errors
network_interface_tx_errors_total{device="enp138s0f1"} 0
network_interface_tx_errors_created{device="enp138s0f1"} 1706083770.764216
# TYPE network_interface_rx_dropped counter
# HELP network_interface_rx_dropped network_interface_rx_dropped
network_interface_rx_dropped_total{device="enp138s0f1"} 0
network_interface_rx_dropped_created{device="enp138s0f1"} 1706083770.764218
# TYPE network_interface_tx_dropped counter
# HELP network_interface_tx_dropped network_interface_tx_dropped
network_interface_tx_dropped_total{device="enp138s0f1"} 0
network_interface_tx_dropped_created{device="enp138s0f1"} 1706083770.764219
# TYPE network_interface_multicast counter
# HELP network_interface_multicast network_interface_multicast
network_interface_multicast_total{device="enp138s0f1"} 46173
network_interface_multicast_created{device="enp138s0f1"} 1706083770.764221
# TYPE network_interface_collisions counter
# HELP network_interface_collisions network_interface_collisions
network_interface_collisions_total{device="enp138s0f1"} 0
network_interface_collisions_created{device="enp138s0f1"} 1706083770.764222
# TYPE network_interface_rx_length_errors counter
# HELP network_interface_rx_length_errors network_interface_rx_length_errors
network_interface_rx_length_errors_total{device="enp138s0f1"} 0
network_interface_rx_length_errors_created{device="enp138s0f1"} 1706083770.764224
# TYPE network_interface_rx_over_errors counter
# HELP network_interface_rx_over_errors network_interface_rx_over_errors
network_interface_rx_over_errors_total{device="enp138s0f1"} 0
network_interface_rx_over_errors_created{device="enp138s0f1"} 1706083770.764226
# TYPE network_interface_rx_crc_errors counter
# HELP network_interface_rx_crc_errors network_interface_rx_crc_errors
network_interface_rx_crc_errors_total{device="enp138s0f1"} 0
network_interface_rx_crc_errors_created{device="enp138s0f1"} 1706083770.764228
# TYPE network_interface_rx_frame_errors counter
# HELP network_interface_rx_frame_errors network_interface_rx_frame_errors
network_interface_rx_frame_errors_total{device="enp138s0f1"} 0
network_interface_rx_frame_errors_created{device="enp138s0f1"} 1706083770.764229
# TYPE network_interface_rx_fifo_errors counter
# HELP network_interface_rx_fifo_errors network_interface_rx_fifo_errors
network_interface_rx_fifo_errors_total{device="enp138s0f1"} 0
network_interface_rx_fifo_errors_created{device="enp138s0f1"} 1706083770.764230
# TYPE network_interface_rx_missed_errors counter
# HELP network_interface_rx_missed_errors network_interface_rx_missed_errors
network_interface_rx_missed_errors_total{device="enp138s0f1"} 0
network_interface_rx_missed_errors_created{device="enp138s0f1"} 1706083770.764232
# TYPE network_interface_tx_aborted_errors counter
# HELP network_interface_tx_aborted_errors network_interface_tx_aborted_errors
network_interface_tx_aborted_errors_total{device="enp138s0f1"} 0
network_interface_tx_aborted_errors_created{device="enp138s0f1"} 1706083770.764234
# TYPE network_interface_tx_carrier_errors counter
# HELP network_interface_tx_carrier_errors network_interface_tx_carrier_errors
network_interface_tx_carrier_errors_total{device="enp138s0f1"} 0
network_interface_tx_carrier_errors_created{device="enp138s0f1"} 1706083770.764235
# TYPE network_interface_tx_fifo_errors counter
# HELP network_interface_tx_fifo_errors network_interface_tx_fifo_errors
network_interface_tx_fifo_errors_total{device="enp138s0f1"} 0
network_interface_tx_fifo_errors_created{device="enp138s0f1"} 1706083770.764237
# TYPE network_interface_tx_heartbeat_errors counter
# HELP network_interface_tx_heartbeat_errors network_interface_tx_heartbeat_errors
network_interface_tx_heartbeat_errors_total{device="enp138s0f1"} 0
network_interface_tx_heartbeat_errors_created{device="enp138s0f1"} 1706083770.764239
# TYPE network_interface_tx_window_errors counter
# HELP network_interface_tx_window_errors network_interface_tx_window_errors
network_interface_tx_window_errors_total{device="enp138s0f1"} 0
network_interface_tx_window_errors_created{device="enp138s0f1"} 1706083770.764241
# TYPE network_interface_rx_compressed counter
# HELP network_interface_rx_compressed network_interface_rx_compressed
network_interface_rx_compressed_total{device="enp138s0f1"} 0
network_interface_rx_compressed_created{device="enp138s0f1"} 1706083770.764242
# TYPE network_interface_tx_compressed counter
# HELP network_interface_tx_compressed network_interface_tx_compressed
network_interface_tx_compressed_total{device="enp138s0f1"} 0
network_interface_tx_compressed_created{device="enp138s0f1"} 1706083770.764244
# EOF
# TYPE network_interface_vf_device info
# HELP network_interface_vf_device network_interface_vf_device
network_interface_vf_device_info{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d",vlan="0",spoofcheck="on",trust="off"} 1
# EOF
# TYPE network_interface_vf_tx_rate counter
# HELP network_interface_vf_tx_rate network_interface_vf_tx_rate
network_interface_vf_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764292
# TYPE network_interface_vf_max_tx_rate counter
# HELP network_interface_vf_max_tx_rate network_interface_vf_max_tx_rate
network_interface_vf_max_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_max_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764294
# TYPE network_interface_vf_min_tx_rate counter
# HELP network_interface_vf_min_tx_rate network_interface_vf_min_tx_rate
network_interface_vf_min_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_min_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764296
# TYPE network_interface_vf_rx_packets counter
# HELP network_interface_vf_rx_packets network_interface_vf_rx_packets
network_interface_vf_rx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1.076376e+06
network_interface_vf_rx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764298
# TYPE network_interface_vf_tx_packets counter
# HELP network_interface_vf_tx_packets network_interface_vf_tx_packets
network_interface_vf_tx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 362
network_interface_vf_tx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764301
# TYPE network_interface_vf_rx_bytes counter
# HELP network_interface_vf_rx_bytes network_interface_vf_rx_bytes
network_interface_vf_rx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 4.5207836e+07
network_interface_vf_rx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764303
# TYPE network_interface_vf_tx_bytes counter
# HELP network_interface_vf_tx_bytes network_interface_vf_tx_bytes
network_interface_vf_tx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 25452
network_interface_vf_tx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764305
# TYPE network_interface_vf_rx_dropped counter
# HELP network_interface_vf_rx_dropped network_interface_vf_rx_dropped
network_interface_vf_rx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_rx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764306
# TYPE network_interface_vf_tx_dropped counter
# HELP network_interface_vf_tx_dropped network_interface_vf_tx_dropped
network_interface_vf_tx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764309
# EOF
# TYPE network_interface_vf_kube_pod info
# HELP network_interface_vf_kube_pod network_interface_vf_kube_pod
network_interface_vf_kube_pod_info{namespace="default",pod="sriov-pod-demo1",container="test-sriovdp-netdev-single-pod-0",resource="intel.com/pci_sriov_net_group0_data1",device="net1",vf="1", pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d"} 1
# EOF
This operation does not accept a request body.
#. ``/metrics/pci-addr/{pci_address}``
Get statistics of the particular device in the node identified by
``{pci_address}``.
- If the input ``pci-address`` belongs to Physical Function device,
``/metrics/pci-addr/{pci_address}`` provides its device information and
statistics. It also provides statistics of all the the Virtual
Functions as well belonging to the Physical Function device.
- If the input ``pci-address`` belongs to Virtual Function device, it
provides its device information and statistics. It provides the POD
information as well if Virtual Function device is used by any POD
(matched by ``pci-address`` of the Virtual Function device).
Normal response codes
200
Error response codes
computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), badMethod (405), itemNotFound (404)
Request parameters
+------------+-------+-------------+----------------------------------------------------------------------------------------+
| Parameter | Style | Type | Description |
+============+=======+=============+========================================================================================+
|pci_address | URI | csapi:UUID | The unique identifier of pci address of Physical Function or Virtual Function devices |
+------------+-------+-------------+----------------------------------------------------------------------------------------+
Response parameters
Device statistics in Open Metrics format.
When input is ``pci-address`` of Physical Function device:
.. code-block:: none
# TYPE network_interface_device info
# HELP network_interface_device network_interface_device
network_interface_device_info{device="enp138s0f1",address="b4:96:91:e6:c8:89",broadcast="[]",duplex="full",ifalias=" ",operstate="up",pciaddr="0000:8a:00.1"} 1
# TYPE network_interface_rx_packets counter
# HELP network_interface_rx_packets network_interface_rx_packets
network_interface_rx_packets_total{device="enp138s0f1"} 46173
network_interface_rx_packets_created{device="enp138s0f1"} 1706083770.764208
# TYPE network_interface_tx_packets counter
# HELP network_interface_tx_packets network_interface_tx_packets
network_interface_tx_packets_total{device="enp138s0f1"} 1.4478309e+07
network_interface_tx_packets_created{device="enp138s0f1"} 1706083770.764211
# TYPE network_interface_rx_bytes counter
# HELP network_interface_rx_bytes network_interface_rx_bytes
network_interface_rx_bytes_total{device="enp138s0f1"} 2.1096743e+07
network_interface_rx_bytes_created{device="enp138s0f1"} 1706083770.764213
# TYPE network_interface_tx_bytes counter
# HELP network_interface_tx_bytes network_interface_tx_bytes
network_interface_tx_bytes_total{device="enp138s0f1"} 1.640187532e+09
network_interface_tx_bytes_created{device="enp138s0f1"} 1706083770.764214
# TYPE network_interface_rx_errors counter
# HELP network_interface_rx_errors network_interface_rx_errors
network_interface_rx_errors_total{device="enp138s0f1"} 0
network_interface_rx_errors_created{device="enp138s0f1"} 1706083770.764215
# TYPE network_interface_tx_errors counter
# HELP network_interface_tx_errors network_interface_tx_errors
network_interface_tx_errors_total{device="enp138s0f1"} 0
network_interface_tx_errors_created{device="enp138s0f1"} 1706083770.764216
# TYPE network_interface_rx_dropped counter
# HELP network_interface_rx_dropped network_interface_rx_dropped
network_interface_rx_dropped_total{device="enp138s0f1"} 0
network_interface_rx_dropped_created{device="enp138s0f1"} 1706083770.764218
# TYPE network_interface_tx_dropped counter
# HELP network_interface_tx_dropped network_interface_tx_dropped
network_interface_tx_dropped_total{device="enp138s0f1"} 0
network_interface_tx_dropped_created{device="enp138s0f1"} 1706083770.764219
# TYPE network_interface_multicast counter
# HELP network_interface_multicast network_interface_multicast
network_interface_multicast_total{device="enp138s0f1"} 46173
network_interface_multicast_created{device="enp138s0f1"} 1706083770.764221
# TYPE network_interface_collisions counter
# HELP network_interface_collisions network_interface_collisions
network_interface_collisions_total{device="enp138s0f1"} 0
network_interface_collisions_created{device="enp138s0f1"} 1706083770.764222
# TYPE network_interface_rx_length_errors counter
# HELP network_interface_rx_length_errors network_interface_rx_length_errors
network_interface_rx_length_errors_total{device="enp138s0f1"} 0
network_interface_rx_length_errors_created{device="enp138s0f1"} 1706083770.764224
# TYPE network_interface_rx_over_errors counter
# HELP network_interface_rx_over_errors network_interface_rx_over_errors
network_interface_rx_over_errors_total{device="enp138s0f1"} 0
network_interface_rx_over_errors_created{device="enp138s0f1"} 1706083770.764226
# TYPE network_interface_rx_crc_errors counter
# HELP network_interface_rx_crc_errors network_interface_rx_crc_errors
network_interface_rx_crc_errors_total{device="enp138s0f1"} 0
network_interface_rx_crc_errors_created{device="enp138s0f1"} 1706083770.764228
# TYPE network_interface_rx_frame_errors counter
# HELP network_interface_rx_frame_errors network_interface_rx_frame_errors
network_interface_rx_frame_errors_total{device="enp138s0f1"} 0
network_interface_rx_frame_errors_created{device="enp138s0f1"} 1706083770.764229
# TYPE network_interface_rx_fifo_errors counter
# HELP network_interface_rx_fifo_errors network_interface_rx_fifo_errors
network_interface_rx_fifo_errors_total{device="enp138s0f1"} 0
network_interface_rx_fifo_errors_created{device="enp138s0f1"} 1706083770.764230
# TYPE network_interface_rx_missed_errors counter
# HELP network_interface_rx_missed_errors network_interface_rx_missed_errors
network_interface_rx_missed_errors_total{device="enp138s0f1"} 0
network_interface_rx_missed_errors_created{device="enp138s0f1"} 1706083770.764232
# TYPE network_interface_tx_aborted_errors counter
# HELP network_interface_tx_aborted_errors network_interface_tx_aborted_errors
network_interface_tx_aborted_errors_total{device="enp138s0f1"} 0
network_interface_tx_aborted_errors_created{device="enp138s0f1"} 1706083770.764234
# TYPE network_interface_tx_carrier_errors counter
# HELP network_interface_tx_carrier_errors network_interface_tx_carrier_errors
network_interface_tx_carrier_errors_total{device="enp138s0f1"} 0
network_interface_tx_carrier_errors_created{device="enp138s0f1"} 1706083770.764235
# TYPE network_interface_tx_fifo_errors counter
# HELP network_interface_tx_fifo_errors network_interface_tx_fifo_errors
network_interface_tx_fifo_errors_total{device="enp138s0f1"} 0
network_interface_tx_fifo_errors_created{device="enp138s0f1"} 1706083770.764237
# TYPE network_interface_tx_heartbeat_errors counter
# HELP network_interface_tx_heartbeat_errors network_interface_tx_heartbeat_errors
network_interface_tx_heartbeat_errors_total{device="enp138s0f1"} 0
network_interface_tx_heartbeat_errors_created{device="enp138s0f1"} 1706083770.764239
# TYPE network_interface_tx_window_errors counter
# HELP network_interface_tx_window_errors network_interface_tx_window_errors
network_interface_tx_window_errors_total{device="enp138s0f1"} 0
network_interface_tx_window_errors_created{device="enp138s0f1"} 1706083770.764241
# TYPE network_interface_rx_compressed counter
# HELP network_interface_rx_compressed network_interface_rx_compressed
network_interface_rx_compressed_total{device="enp138s0f1"} 0
network_interface_rx_compressed_created{device="enp138s0f1"} 1706083770.764242
# TYPE network_interface_tx_compressed counter
# HELP network_interface_tx_compressed network_interface_tx_compressed
network_interface_tx_compressed_total{device="enp138s0f1"} 0
network_interface_tx_compressed_created{device="enp138s0f1"} 1706083770.764244
# EOF
# TYPE network_interface_vf_device info
# HELP network_interface_vf_device network_interface_vf_device
network_interface_vf_device_info{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d",vlan="0",spoofcheck="on",trust="off"} 1
# EOF
# TYPE network_interface_vf_tx_rate counter
# HELP network_interface_vf_tx_rate network_interface_vf_tx_rate
network_interface_vf_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764292
# TYPE network_interface_vf_max_tx_rate counter
# HELP network_interface_vf_max_tx_rate network_interface_vf_max_tx_rate
network_interface_vf_max_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_max_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764294
# TYPE network_interface_vf_min_tx_rate counter
# HELP network_interface_vf_min_tx_rate network_interface_vf_min_tx_rate
network_interface_vf_min_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_min_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764296
# TYPE network_interface_vf_rx_packets counter
# HELP network_interface_vf_rx_packets network_interface_vf_rx_packets
network_interface_vf_rx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1.076376e+06
network_interface_vf_rx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764298
# TYPE network_interface_vf_tx_packets counter
# HELP network_interface_vf_tx_packets network_interface_vf_tx_packets
network_interface_vf_tx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 362
network_interface_vf_tx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764301
# TYPE network_interface_vf_rx_bytes counter
# HELP network_interface_vf_rx_bytes network_interface_vf_rx_bytes
network_interface_vf_rx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 4.5207836e+07
network_interface_vf_rx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764303
# TYPE network_interface_vf_tx_bytes counter
# HELP network_interface_vf_tx_bytes network_interface_vf_tx_bytes
network_interface_vf_tx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 25452
network_interface_vf_tx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764305
# TYPE network_interface_vf_rx_dropped counter
# HELP network_interface_vf_rx_dropped network_interface_vf_rx_dropped
network_interface_vf_rx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_rx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764306
# TYPE network_interface_vf_tx_dropped counter
# HELP network_interface_vf_tx_dropped network_interface_vf_tx_dropped
network_interface_vf_tx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764309
# EOF
# TYPE network_interface_vf_kube_pod info
# HELP network_interface_vf_kube_pod network_interface_vf_kube_pod
network_interface_vf_kube_pod_info{namespace="default",pod="sriov-pod-demo1",container="test-sriovdp-netdev-single-pod-0",resource="intel.com/pci_sriov_net_group0_data1",device="net1",vf="1", pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d"} 1
# EOF
When input is ``pci-address`` of the Virtual Function device:
.. code-block:: none
# TYPE network_interface_vf_device info
# HELP network_interface_vf_device network_interface_vf_device
network_interface_vf_device_info{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d",vlan="0",spoofcheck="on",trust="off"} 1
# EOF
# TYPE network_interface_vf_tx_rate counter
# HELP network_interface_vf_tx_rate network_interface_vf_tx_rate
network_interface_vf_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764292
# TYPE network_interface_vf_max_tx_rate counter
# HELP network_interface_vf_max_tx_rate network_interface_vf_max_tx_rate
network_interface_vf_max_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_max_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764294
# TYPE network_interface_vf_min_tx_rate counter
# HELP network_interface_vf_min_tx_rate network_interface_vf_min_tx_rate
network_interface_vf_min_tx_rate_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_min_tx_rate_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764296
# TYPE network_interface_vf_rx_packets counter
# HELP network_interface_vf_rx_packets network_interface_vf_rx_packets
network_interface_vf_rx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1.076376e+06
network_interface_vf_rx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764298
# TYPE network_interface_vf_tx_packets counter
# HELP network_interface_vf_tx_packets network_interface_vf_tx_packets
network_interface_vf_tx_packets_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 362
network_interface_vf_tx_packets_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764301
# TYPE network_interface_vf_rx_bytes counter
# HELP network_interface_vf_rx_bytes network_interface_vf_rx_bytes
network_interface_vf_rx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 4.5207836e+07
network_interface_vf_rx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764303
# TYPE network_interface_vf_tx_bytes counter
# HELP network_interface_vf_tx_bytes network_interface_vf_tx_bytes
network_interface_vf_tx_bytes_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 25452
network_interface_vf_tx_bytes_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764305
# TYPE network_interface_vf_rx_dropped counter
# HELP network_interface_vf_rx_dropped network_interface_vf_rx_dropped
network_interface_vf_rx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_rx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764306
# TYPE network_interface_vf_tx_dropped counter
# HELP network_interface_vf_tx_dropped network_interface_vf_tx_dropped
network_interface_vf_tx_dropped_total{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 0
network_interface_vf_tx_dropped_created{device="enp138s0f1",vf="0",pciaddr="0000:8a:0a.0"} 1706083770.764309
# EOF
# TYPE network_interface_vf_kube_pod info
# HELP network_interface_vf_kube_pod network_interface_vf_kube_pod
network_interface_vf_kube_pod_info{namespace="default",pod="sriov-pod-demo1",container="test-sriovdp-netdev-single-pod-0",resource="intel.com/pci_sriov_net_group0_data1",device="net1",vf="1", pciaddr="0000:8a:0a.0",address="ae:f7:4c:38:0f:5d"} 1
# EOF
This operation does not accept a request body.
-----------
Limitations
-----------
The Node Interface Metrics Exporter application supports node statistics only
for NIC X7xx and E8xx device families.