Open Telemetry Export

Telemetry enables you to collect, send, and analyze large amounts of data, such as traffic statistics, port status, device health and configuration, and events. This data helps you monitor switch performance, health and behavior, traffic patterns, and QoS.

Configure Open Telemetry

Cumulus Linux supports open telemetry (OTEL) export. You can use OTLP to export metrics, such as interface counters, histogram collection, and platform statistic data to an external collector for analysis and visualization.

Cumulus Linux supports open telemetry export on switches with the Spectrum-2 ASIC and later.

To enable open telemetry:

cumulus@switch:~$ nv set system telemetry export otlp state enabled 
cumulus@switch:~$ nv config apply

You can enable open telemetry for interface statistics, histogram data, control plane statistics, and platform statistics.

Interface Statistics

When you enable open telemetry for interface statistics, the switch exports counters on all configured interfaces:

cumulus@switch:~$ nv set system telemetry interface-stats export state enabled
cumulus@switch:~$ nv config apply

You can enable additional interface statistic collection per interface for specific ingress buffer traffic classes (0 through 15) and egress buffer priority groups (0 through 7). When you enable these settings, the switch exports interface_pg and interface_tc counters for the defined priority groups and traffic classes:

cumulus@switch:~$ nv set system telemetry interface-stats ingress-buffer priority-group 4
cumulus@switch:~$ nv set system telemetry interface-stats egress-buffer traffic-class 12
cumulus@switch:~$ nv config apply

You can enable additional switch priority interface statistic collection on all configured interfaces for specific switch priority values:

cumulus@switch:~$ nv set system telemetry interface-stats switch-priority 4
cumulus@switch:~$ nv config apply

You can adjust the interface statistics sample interval (in seconds). You can specify a value between 1 and 86400. The default value is 1.

cumulus@switch:~$ nv set system telemetry interface-stats sample-interval 100
cumulus@switch:~$ nv config apply

Control Plane Statistics

When you enable open telemetry for control plane statistics, additional counters for control plane packets are exported:

cumulus@switch:~$ nv set system telemetry control-plane-stats export state enabled
cumulus@switch:~$ nv config apply

You can adjust the control plane statistics sample interval (in seconds). You can specify a value between 1 and 86400. The default value is 1.

cumulus@switch:~$ nv set system telemetry control-plane-stats sample-interval 100
cumulus@switch:~$ nv config apply

Histogram Data

When you enable open telemetry for histogram data, your buffer, counter, and latency histogram collection configuration defines the data that the switch exports:

cumulus@switch:~$ nv set system telemetry histogram export state enabled
cumulus@switch:~$ nv config apply

Platform Statistics

When you enable platform statistic open telemetry, data related to CPU, disk, filesystem, memory, and sensor health is exported. To enable all platform statistics globally:

cumulus@switch:~$ nv set system telemetry platform-stats export state enabled
cumulus@switch:~$ nv config apply

If you do not want to enable all platform statistics, you can enable or disable individual platform telemetry components or adjust the sample interval for individual components. The default sample interval is 60 seconds.

cumulus@switch:~$ nv set system telemetry platform-stats class cpu state enabled
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class cpu sample-interval 100
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class disk state enabled
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class disk sample-interval 100
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class file-system state enabled
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class file-system sample-interval 100
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class memory state enabled
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class memory sample-interval 100
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class environment-sensors state enabled
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv set system telemetry platform-stats class environment-sensors sample-interval 100
cumulus@switch:~$ nv config apply

gRPC OTLP Export

To configure the open telemetry export destination:

  1. Configure gRPC to communicate with the collector by providing the collector destination IP address or hostname. Specify the port to use for communication if it is different from the default port 8443:

    cumulus@switch:~$ nv set system telemetry export otlp grpc destination 10.1.1.100 port 4317
    cumulus@switch:~$ nv config apply
    
  2. Configure an X.509 certificate to secure the gRPC connection:

    cumulus@switch:~$ nv set system telemetry export otlp grpc cert-id <certificate>
    cumulus@switch:~$ nv config apply
    

By default, OTLP export is in secure mode that requires a certificate. For connections without a configured certificate, you must enable insecure mode with the nv set system telemetry export otlp grpc insecure enabled command.

Show Telemetry Export Configuration

To show the telemetry export configuration, run the nv show system telemetry export command:

cumulus@switch:~$ nv show system telemetry export
                    applied   pending 
------------------  --------  --------
vrf                 default   default 
otlp                                  
  state             disabled  disabled
  grpc                                
    insecure  disabled  disabled
    port            8443      8443    
    [destination]             

To show the OTLP gRPC destination configuration, run the nv show system telemetry export otlp grpc destination command.

Static Labels

You can apply static labels to switches and individual interfaces to configure descriptions for devices and interface roles. Exported OTLP data includes these label names and descriptions.

  • Cumulus Linux supports up to 10 device labels and up to 10 interface labels.
  • Label name and description strings can include alphanumeric characters with underscores, periods, or dashes. If spaces are included in the string, wrap the entire string inside double or single quotes.

To configure a switch device label Data_Center_Location and a string identifying it as part of Data_Center_B:

cumulus@switch:~$ nv set system telemetry label "Data Center Location" description "Data Center B"
cumulus@switch:~$ nv config apply

Validate device label configuration with the nv show system telemetry label command:

cumulus@switch:~$ nv show system telemetry label
                      description  
--------------------  -------------
Data Center Location  Data Center B

To configure a switch interface label interface_swp10_label with the description Server 10 connection:

cumulus@switch:~$ nv set interface swp10 telemetry label "interface_swp10_label" description "Server 10 connection"
cumulus@switch:~$ nv config apply

Validate the configuration with the nv show system telemetry label command:

cumulus@switch:~$ nv show system telemetry label
                      description  
--------------------  -------------
Data Center Location  Data Center B

Validate interface label configuration with the nv show interface <interface> telemetry label command:

cumulus@switch:~$ nv show interface swp10 telemetry label
                       description         
---------------------  --------------------
interface_swp10_label  Server 10 connection

Telemetry Data Format

Cumulus Linux exports statistics and histogram data in the formats defined in this section.

Interface Statistic Format

The interface statistic data samples that the switch exports to the OTEL collector are gauge streams that include the interface name as an attribute and the statistics value reported in the asDouble exemplar.

NameDescription
nvswitch_interface_oper_stateInterface operational state as a bitmap: (None[0], Up[1], Down[2], Invalid[4], Error[8])
nvswitch_interface_dot3_control_in_unknown_opcodesInput 802.3 unknown opcode counter.
nvswitch_interface_dot3_in_pause_framesInput 802.3 pause frame counter.
nvswitch_interface_dot3_out_pause_framesOutput 802.3 pause frame counter.
nvswitch_interface_dot3_stats_alignment_errors802.3 alignment error counter.
nvswitch_interface_dot3_stats_carrier_sense_errors802.3 interface carrier sense error counter.
nvswitch_interface_dot3_stats_deferred_transmissions802.3 deferred transmission counter.
nvswitch_interface_dot3_stats_excessive_collisions802.3 excessive collisions counter.
nvswitch_interface_dot3_stats_fcs_errors802.3 FCS error counter.
nvswitch_interface_dot3_stats_frame_too_longs802.3 excessive frame size counter.
nvswitch_interface_dot3_stats_internal_mac_receive_errors802.3 internal MAC receive error counter.
nvswitch_interface_dot3_stats_internal_mac_transmit_errors802.3 internal MAC transmit error counter.
nvswitch_interface_dot3_stats_late_collisions802.3 late collisions counter.
nvswitch_interface_dot3_stats_multiple_collision_frames802.3 multiple collision frames counter.
nvswitch_interface_dot3_stats_single_collision_frames802.3 single collision frames counter.
nvswitch_interface_dot3_stats_sqe_test_errors802.3 SQE test error counter.
nvswitch_interface_dot3_stats_symbol_errors802.3 symbol error counter.
nvswitch_interface_performance_marked_packetsInterface performance marked packets, with marking as ece or ecn.
nvswitch_interface_discards_ingress_generalInterface ingress general discards counter.
nvswitch_interface_discards_ingress_policy_engineInterface ingress policy engine discards counter.
nvswitch_interface_discards_ingress_vlan_membershipInterface ingress VLAN membership filter discards counter.
nvswitch_interface_discards_ingress_tag_frame_typeInterface ingress VLAN tag filter discards counter.
nvswitch_interface_discards_egress_vlan_membershipInterface egress VLAN emmbership filter discards counter.
nvswitch_interface_discards_loopback_filterInterface loopback filter discards counter.
nvswitch_interface_discards_egress_generalInterface egress general discards counter.
nvswitch_interface_discards_egress_link_downInterface egress link down discards counter.
nvswitch_interface_discards_egress_hoqInterface egress head-of-queue timeout discards.
nvswitch_interface_discards_port_isolationInterface port isolation filter discards.
nvswitch_interface_discards_egress_policy_engineInterface egress policy engine discards.
nvswitch_interface_discards_ingress_tx_link_downInterface ingress transmit link down discards.
nvswitch_interface_discards_egress_stp_filterInterface egress spanning tree filter discards.
nvswitch_interface_discards_egress_hoq_stallInterface egress head-of-queue stall discards.
nvswitch_interface_discards_egress_sllInterface egress switch lifetime limit discards.
nvswitch_interface_discards_ingress_discard_allInterface total ingress discards.
nvswitch_interface_tx_stats_pkts64octetsTotal packets transmitted, 64 octets in length.
nvswitch_interface_tx_stats_pkts65-to127octetsTotal packets transmitted, 64 octets in length.
nvswitch_interface_tx_stats_pkts256-to511octetsTotal packets transmitted, 256-511 octets in length.
nvswitch_interface_tx_stats_pkts512-to1023octetsTotal packets transmitted, 512-1023 octets in length.
nvswitch_interface_tx_stats_pkts1024-to1518octetsTotal packets transmitted, 1024-1518 octets in length.
nvswitch_interface_tx_stats_pkts1519-to2047octetsTotal packets transmitted, 1519-2047 octets in length.
nvswitch_interface_tx_stats_pkts2048-to4095octetsTotal packets transmitted, 2048-4095 octets in length.
nvswitch_interface_tx_stats_pkts4096-to8191octetsTotal packets transmitted, 4096-8191 octets in length.
nvswitch_interface_tx_stats_pkts8192-to10239octetsTotal packets transmitted, 8192-10239 octets in length.
nvswitch_interface_ether_stats_pkts64octetsTotal packets received, 64 octets in length.
nvswitch_interface_ether_stats_pkts65to127octetsTotal packets received, 65-127 octets in length.
nvswitch_interface_ether_stats_pkts128to255octetsTotal packets received, 128-255 octets in length.
nvswitch_interface_ether_stats_pkts256to511octetsTotal packets received, 256-511 octets in length.
nvswitch_interface_ether_stats_pkts512to1023octetsTotal packets received, 512-1023 octets in length.
nvswitch_interface_ether_stats_pkts1024to1518octetsTotal packets received, 1024-1518 octets in length.
nvswitch_interface_ether_stats_pkts1519to2047octetsTotal packets received, 1519-2047 octets in length.
nvswitch_interface_ether_stats_pkts2048to4095octetsTotal packets received, 2048-4095 octets in length.
nvswitch_interface_ether_stats_pkts4096to8191octetsTotal packets received, 4096-8191 octets in length.
nvswitch_interface_ether_stats_pkts8192to10239octetsTotal packets received, 8192-10239 octets in length.
nvswitch_interface_carrier_up_changes_totalTotal number of carrier up transitions for the interface.
nvswitch_interface_carrier_last_change_time_msTime of last carrier change for the interface as Unix epoch timestamp, with millisecond granularity.
nvswitch_interface_carrier_down_changes_totalTotal number of carrier down transitions for the interface.
nvswitch_interface_carrier_changes_totalTotal number of carrier changes for the interface.
nvswitch_interface_mtu_bytesOperational MTU for the interface in bytes.
nvswitch_interface_infoProvides information about the interface: MAC address, duplex, ifalias, interface name, operstate.
nvswitch_interface_iface_idThe ifindex for the interface.
nvswitch_interface_flagsKernel device flags set for an interface as an integer representing the kernel net_device flags bitmask.
nvswitch_interface_proto_downInterface protocol down status.

The following additional interface traffic class statistics are collected and exported when you configure the nv set system telemetry interface-stats egress-buffer traffic-class <class> command:

NameDescription
nvswitch_interface_tc_tx_bc_framesInterface egress traffic class transmit broadcast frames counter.
nvswitch_interface_tc_tx_ecn_marked_tcInterface egress traffic class transmit ECN marked counter.
nvswitch_interface_tc_tx_framesInterface egress traffic class trasmit frames counter.
nvswitch_interface_tc_tx_mc_framesInterface egress traffic class trasmit multicast frames counter.
nvswitch_interface_tc_tx_no_buffer_discard_ucInterface egress traffic class transmit unicast no buffer discard counter.
nvswitch_interface_tc_tx_octetInterface egress traffic class transmit bytes counter.
nvswitch_interface_tc_tx_queueInterface egress traffic class transmit queue counter.
nvswitch_interface_tc_tx_uc_framesInterface egress traffic class transmit unicast frames counter.
nvswitch_interface_tc_tx_wred_discardInterface egress traffic class transmit WRED discard counter.

The following additional interface priority group statistics are collected and exported when you configure the nv set system telemetry interface-stats ingress-buffer priority-group <priority> command:

NameDescription
nvswitch_interface_pg_rx_buffer_discardInterace ingress priority group receive buffer discard counter.
nvswitch_interface_pg_rx_framesInterface ingress priority group receive frames counter.
nvswitch_interface_pg_rx_octetsInterface ingress priority group receive bytes counter.
nvswitch_interface_pg_rx_shared_buffer_discardInterface ingress priority group receive shared buffer discard counter.
nvswitch_interface_pg_rx_uc_framesInterface receive priority group unicast frames counter.
nvswitch_interface_pg_rx_mc_framesInterface receive priority group multicast frames counter.
nvswitch_interface_pg_rx_bc_framesInterface receive priority group broadcast frames counter.
nvswitch_interface_pg_tx_octetsInterface receive priority group transmit bytes counter.
nvswitch_interface_pg_tx_uc_framesInterface receive priority group transmit unicast frames counter.
nvswitch_interface_pg_tx_mc_framesInterface receive priority group transmit multicast frames counter.
nvswitch_interface_pg_tx_bc_framesInterface receive priority group transmit broadcast frames counter.
nvswitch_interface_pg_tx_framesInterface receive priority group transmit frames counter.
nvswitch_interface_pg_rx_pauseInterface receive priority group receive pause counter.
nvswitch_interface_pg_rx_pause_durationInterface receive priority group receive pause duration counter.
nvswitch_interface_pg_tx_pauseInterface receive priority group transmit pause counter.
nvswitch_interface_pg_tx_pause_durationInterface receive priority group transmit pause duration counter.
nvswitch_interface_pg_rx_pause_transitionInterface receive priority group receive pause transition counter.
nvswitch_interface_pg_rx_discardInterface receive priority group receive discard counter.

The following additional interface switch priority statistics are collected and exported when you configure the nv set system telemetry interfaces-stats switch-priority <priority> command:

NameDescription
nvswitch_interface_sp_rx_bc_framesReceived broadcast counter for the switch priority
nvswitch_interface_sp_rx_discardReceive discard counter for the switch priority
nvswitch_interface_sp_rx_framesReceive frame counter for the switch priority.
nvswitch_interface_sp_rx_mc_framesReceive multicast frame counter for the switch priority.
nvswitch_interface_sp_rx_octetsReceive octets counter for the switch priority.
nvswitch_interface_sp_rx_pauseReceive pause counter for the switch priority.
nvswitch_interface_sp_rx_pause_durationRecieve pause duration counter for the switch priority.
nvswitch_interface_sp_rx_pause_transitionRecieve pause transition counter for the switch priority.
nvswitch_interface_sp_rx_uc_framesReceive unicast frame counter for the switch priority.
nvswitch_interface_sp_tx_bc_framesTransmit broadcast frame counter for the switch priority.
nvswitch_interface_sp_tx_framesTransmit frame counter for the switch priority.
nvswitch_interface_sp_tx_mc_framesTransmit multicast frame counter for the switch priority.
nvswitch_interface_sp_tx_octetsTransmit octets counter for the switch priority.
nvswitch_interface_sp_tx_pauseTransmit pause counter for the switch priority.
nvswitch_interface_sp_tx_pause_durationTransmit pause duration for the switch priority.
nvswitch_interface_sp_tx_uc_framesTransmit unicast frame counter for the switch priority.

Example JSON data for interface_oper_state:

Example JSON data for interface_dot3_stats_fcs_errors:

Control Plane Statistic Format

When you enable control plane statistic telemetry, the following statistics are exported:

NameDescription
nvswitch_control_plane_tx_packetsControl plane transmit packets.
nvswitch_control_plane_tx_bytesControl plane transmit bytes.
nvswitch_control_plane_rx_packetsControl plane receive packets.
nvswitch_control_plane_rx_bytesControl plane receive bytes.
nvswitch_control_plane_rx_buffer_dropsControl plane receive buffer drops.
nvswitch_control_plane_trap_rx_packetsControl plane trap group receive packets.
nvswitch_control_plane_trap_rx_event_countControl plane trap group receive events.
nvswitch_control_plane_trap_rx_dropControl plane trap group receive drops.
nvswitch_control_plane_trap_rx_bytesControl plane trap group receive bytes.
nvswitch_control_plane_trap_group_rx_packetsControl plane trap group receive packets.
nvswitch_control_plane_trap_group_rx_bytesControl plane trap group receive bytes.
nvswitch_control_plane_trap_group_pkt_violationsControl plane trap group packet violations.
Example JSON data for nvswitch_control_plane_trap_rx_drop:

Platform Statistic Format

When you enable platform statistic telemetry globally, or when you enable telemetry for the individual components, the following statistics are exported:

CPU statistics include the CPU core number and operation mode (user, system, idle, iowait, irq, softirq, steal, guest, guest_nice).

NameDescription
node_cpu_core_throttles_totalNumber of times a CPU core has been throttled.
node_cpu_frequency_max_hertzMaxiumum CPU thread frequency in hertz.
node_cpu_frequency_min_hertzMinimum CPU thread frequency in hertz.
node_cpu_guest_seconds_totalSeconds the CPUs spent in guests for each mode.
node_cpu_package_throttles_totalNumber of times the CPU package has been throttled.
node_cpu_scaling_frequency_hertzCurrent scaled CPU thread frequency in hertz.
node_cpu_scaling_frequency_max_hertzMaximum scaled CPU thread frequency in hertz.
node_cpu_scaling_frequency_min_hertzMinimum scaled CPU thread frequency in hertz.
node_cpu_seconds_totalSeconds the CPU spent in each mode.
NameDescription
node_disk_ata_rotation_rate_rpmATA disk rotate rate in RPMs. (0 for SSDs).
node_disk_ata_write_cacheATA disk write cache presence.
node_disk_ata_write_cache_enabledATA disk write cache status (enabled or disabled).
node_disk_discard_time_seconds_totalTotal number of seconds spent by all discards.
node_disk_discarded_sectors_totalTotal number of sectors discarded successfully.
node_disk_discards_completed_totalTotal number of discards discards completed.
node_disk_discards_merged_totalTotal number of discards merged.
node_disk_flush_requests_time_seconds_totalTotal number of seconds spent by all flush requests.
node_disk_flush_requests_totalThe total number of flush requests completed successfully.
node_disk_infoDisk information from /sys/block/<block_device>.
node_disk_io_nowNumber of I/Os in progress.
node_disk_io_time_seconds_totalTotal seconds spent during I/O.
node_disk_io_time_weighted_seconds_totalWeighted number of seconds spent during I/O.
node_disk_read_bytes_totalTotal number of bytes read successfully.
node_disk_read_time_seconds_totalTotal number of seconds spent by all reads.
node_disk_reads_completed_totalTotal number of reads completed successfully.
node_disk_reads_merged_totalTotal number of reads merged.
node_disk_write_time_seconds_totalTotal number of seconds spent by all writes.
node_disk_writes_completed_totalTotal number of writes completed successfully.
node_disk_writes_merged_totalNumber of writes merged.
node_disk_written_bytes_totalTotal number of bytes written successfully.
NameDescription
node_filesystem_avail_bytesFilesystem space available to non-root users in bytes.
node_filesystem_device_errorWhether an error occurred while getting statistics for the given device.
node_filesystem_filesFilesystem total file nodes.
node_filesystem_files_freeFilesystem total free file nodes.
node_filesystem_free_bytesFilesystem free space in bytes.
node_filesystem_readonlyFilesystem read-only status.
node_filesystem_size_bytesFilesystem size in bytes.
NameDescription
node_memory_Active_anon_bytes/proc/meminfo Active_anon bytes.
node_memory_Active_bytes/proc/meminfo Active bytes.
node_memory_Active_file_bytes/proc/meminfo Active_file bytes.
node_memory_AnonHugePages_bytes/proc/meminfo AnonHugePages bytes.
node_memory_AnonPages_bytes/proc/meminfo AnonPages bytes.
node_memory_Bounce_bytes/proc/meminfo Bounce bytes.
node_memory_Buffers_bytes /proc/meminfo Buffers bytes.
node_memory_Cached_bytes/proc/meminfo Cached bytes.
node_memory_CommitLimit_bytes/proc/meminfo CommitLimit bytes.
node_memory_Committed_AS_bytes/proc/meminfo Committed_AS bytes.
node_memory_DirectMap1G_bytes/proc/meminfo DirectMap1G bytes.
node_memory_DirectMap2M_bytes/proc/meminfo DirectMap2M bytes.
node_memory_DirectMap4k_bytes/proc/meminfo DirectMap4k bytes.
node_memory_Dirty_bytes/proc/meminfo Dirty bytes.
node_memory_FileHugePages_bytes/proc/meminfo FileHugePages bytes.
node_memory_FilePmdMapped_bytes/proc/meminfo FilePmdMapped bytes.
node_memory_HardwareCorrupted_bytes/proc/meminfo HardwareCorrupted bytes.
node_memory_HugePages_Free/proc/meminfo HugePages_Free.
node_memory_HugePages_Rsvd/proc/meminfo HugePages_Rsvd.
node_memory_HugePages_Surp/proc/meminfo HugePages_Surp.
node_memory_HugePages_Total/proc/meminfo HugePages_Total.
node_memory_Hugepagesize_bytes/proc/meminfo Hugepagesize bytes.
node_memory_Hugetlb_bytes/proc/meminfo Hugetlb bytes.
node_memory_Inactive_anon_bytes/proc/meminfo Inactive_anon bytes.
node_memory_Inactive_bytes/proc/meminfo Inactive bytes.
node_memory_Inactive_file_bytes/proc/meminfo Inactive_file bytes.
node_memory_KReclaimable_bytes/proc/meminfo KReclaimable bytes.
node_memory_KernelStack_bytes/proc/meminfo KernelStack bytes.
node_memory_Mapped_bytes/proc/meminfo Mapped bytes.
node_memory_MemAvailable_bytes/proc/meminfo MemAvailable bytes.
node_memory_MemFree_bytes/proc/meminfo MemFree bytes.
node_memory_MemTotal_bytes/proc/meminfo MemTotal bytes.
node_memory_Mlocked_bytes/proc/meminfo Mlocked bytes.
node_memory_NFS_Unstable_bytes/proc/meminfo NFS_Unstable bytes.
node_memory_PageTables_bytes/proc/meminfo PageTables bytes.
node_memory_Percpu_bytes/proc/meminfo Percpu bytes.
node_memory_SReclaimable_bytes/proc/meminfo SReclaimable bytes.
node_memory_SUnreclaim_bytes/proc/meminfo SUnreclaim bytes.
node_memory_SecPageTables_bytes/proc/meminfo SecPageTables bytes.
node_memory_ShmemHugePages_bytes/proc/meminfo ShmemHugePages bytes.
node_memory_ShmemPmdMapped_bytes/proc/meminfo ShmemPmdMapped bytes.
node_memory_Shmem_bytes/proc/meminfo Shmem bytes.
node_memory_Slab_bytes/proc/meminfo Slab bytes.
node_memory_SwapCached_bytes/proc/meminfo SwapCached bytes.
node_memory_SwapFree_bytes/proc/meminfo SwapFree bytes.
node_memory_SwapTotal_bytes/proc/meminfo SwapTotal bytes.
node_memory_Unevictable_bytes/proc/meminfo Unevictable bytes.
node_memory_VmallocChunk_bytes/proc/meminfo VmallocChunk bytes.
node_memory_VmallocTotal_bytes/proc/meminfo VmallocTotal bytes.
node_memory_VmallocUsed_bytes/proc/meminfo VmallocUsed bytes.
node_memory_WritebackTmp_bytes/proc/meminfo WritebackTmp bytes.
node_memory_Writeback_bytes/proc/meminfo Writeback bytes.
node_memory_Zswap_bytes/proc/meminfo Zswap bytes.
node_memory_Zswapped_bytes/proc/meminfo Zswapped bytes.
NameDescription
nvswitch_env_fan_cur_speedCurrent fan speed in RPM.
nvswitch_env_fan_dirFan direction (0: Front2Back, 1: Back2Front).
nvswitch_env_fan_max_speedFan maximum speed in RPM.
nvswitch_env_fan_min_speedFan minimum speed in RPM.
nvswitch_env_fan_stateFan status (0: ABSENT, 1: OK, 2: FAILED, 3: BAD).
nvswitch_env_psu_capacityPSU capacity in watts.
nvswitch_env_psu_currentPSU current in amperes.
nvswitch_env_psu_powerPSU power in watts.
nvswitch_env_psu_statePSU state (0: ABSENT, 1: OK, 2: FAILED, 3: BAD).
nvswitch_env_psu_voltagePSU voltage in volts.
nvswitch_env_temp_critCritical temperature threshold in centigrade.
nvswitch_env_temp_currentCurrent temperature in centigrade.
nvswitch_env_temp_maxMaximum temperature threshold in centigrade.
nvswitch_env_temp_minMinimum temperature threshold in centigrade.
nvswitch_env_temp_stateTemperature sensor status (0: ABSENT, 1: OK, 2: FAILED, 3: BAD).
Example JSON data for PSU and temperature sensor telemetry:

Histogram Data Format

The histogram data samples that the switch exports to the OTEL collector are histogram data points that include the histogram bucket (bin) counts and the respective queue length size boundaries for each bucket. Latency and counter histogram data are also exported, if configured.

Latency histogram bucket counts do not increment in exported telemetry data if there are no packets transmitted in the traffic class during the sample interval.

The switch sends a sample with the following names for each interface enabled for ingress and egress buffer, latency, and/or counter histogram collection:

NameDescription
nvswitch_histogram_interface_egress_bufferHistogram interface egress buffer queue depth.
nvswitch_histogram_interface_ingress_bufferHistogram interface ingress buffer queue depth.
nvswitch_histogram_interface_counterHistogram interface counter data.
nvswitch_histogram_interface_latencyHistogram interface latency data.

Example JSON data for interface_ingress_buffer:

Example JSON data for interface_egress_buffer:

Example JSON data for interface_counter:

Example JSON data for interface_latency:

Static Label Format

Device static labels are exported in the resource metric section of OTLP data:

Example JSON data for static device label:

Interface static labels are exported as attributes in the gauge metrics for each interface.

Example JSON data for static interface label: