Skip to content

Commit d63a8ad

Browse files
authored
feat: nvswitch telemetry gaps (dsx-ai-factory#2945)
## Description This PR covers the **NV Switch** port from dsx-ai-factory#2283. It closes the GB200 NVSwitch telemetry gaps for NVUE gNMI streaming, NVUE REST, and NMX-T. ## Type of Change - [x] **Add** - New feature or capability ## Related Issues dsx-ai-factory#2283 ## Testing - [x] Unit tests added/updated - [x] Manual testing performed ## Additional Notes Gated previously insecure TLS verification behind `dangerously_skip_tls_verification` in config surface - Source mappings were validated against live GB200 NVSwitch endpoints (gNMI / NVUE-REST / NMX-T). - **Deployment note:** gNMI TLS verification is now strict by default. Lab or self-signed NVOS gNMI endpoints must set `dangerously_skip_tls_verification = true` to connect. --------- Signed-off-by: mkoci <[email protected]>
1 parent c89a2f3 commit d63a8ad

13 files changed

Lines changed: 4397 additions & 267 deletions

File tree

crates/health/example/config.example.toml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,9 @@ logs_state_file = "/tmp/logs_collector_{machine_id}.json"
212212
[collectors.nmxt]
213213
scrape_interval = "1m"
214214
request_timeout = "30s"
215+
# Keep strict TLS certificate verification by default. Set true only when an
216+
# NMX-T HTTPS endpoint uses a certificate that cannot be verified normally.
217+
dangerously_skip_tls_verification = false
215218

216219
[collectors.nvue.rest]
217220
poll_interval = "1m"
@@ -222,21 +225,32 @@ system_health_enabled = true
222225
cluster_apps_enabled = true
223226
sdn_partitions_enabled = true
224227
interfaces_enabled = true
225-
226-
# NVUE gNMI streaming collector (switches only, disabled by default).
227-
# Subscribes to gNMI SAMPLE paths and pushes metrics through the DataSink
228-
# pipeline. PrometheusSink serves the /metrics endpoint; OtlpSink (when
229-
# configured separately) pushes to an OTel Collector.
228+
platform_environment_fan_enabled = true
229+
platform_environment_temperature_enabled = true
230+
platform_environment_status_enabled = true
231+
232+
# NVUE gNMI streaming collector which subscribes to
233+
# gNMI SAMPLE paths (components + interfaces, plus platform_general when
234+
# platform_general_enabled is true) and pushes metrics through the configured
235+
# sinks. gNMI ON_CHANGE targets system-events
230236
[collectors.nvue.gnmi]
237+
# periodic SAMPLE (components, interfaces, and platform_general when
238+
# platform_general_enabled is true)
231239
gnmi_port = 9339
232240
sample_interval = "5m"
233241
request_timeout = "30s"
234-
# gNMI ON_CHANGE subscription for system events
242+
# Keep strict TLS certificate and hostname verification by default. Set true only
243+
# for lab/self-signed NVOS gNMI endpoints where that dangerous bypass is required.
244+
dangerously_skip_tls_verification = false
245+
# streaming ON_CHANGE
235246
system_events_enabled = true
236247

237248
[collectors.nvue.gnmi.paths]
238249
components_enabled = true
239250
interfaces_enabled = true
251+
# Switch-level memory and disk utilization from `/platform-general/state`
252+
# (a singleton, not keyed by interface or component name).
253+
platform_general_enabled = true
240254

241255
# ==============================================================================
242256
# Processors

0 commit comments

Comments
 (0)