
Story: 2010918 Task: 49974 Change-Id: Ibd1f01fe058a01c59ba6141857b8562551bed138 Signed-off-by: Elisamara Aoki Goncalves <elisamaraaoki.goncalves@windriver.com>
45 KiB
Node Interface Metrics Exporter Application
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:
/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.~(keystone_admin)]$ system application-upload /usr/local/share/applications/helm node-interface-metrics-exporter-<version>.tgz
Verify that the application has been uploaded successfully.
~(keystone_admin)]$ system application-list
Apply the application using the following command.
~(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.
~(keystone_admin)]$ watch -n 5 system application-list
OR
~(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:
~(keystone_admin)]$ system application-remove node-interface-metrics-exporter
Delete application using the following command:
~(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.
# 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 bypci-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.
# 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.
- If the input device name is Physical Function,
/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 bypci-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:# 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:# 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.
- If the input
Limitations
The Node Interface Metrics Exporter application supports node statistics only for NIC X7xx and E8xx device families.