Skip to main content
The SambaNova exporter (sambanova_exporter) publishes RDU telemetry from each SambaRack host module: platform health, and tile, DDR, HBM, and PCIe performance. Unlike the PDU and XRDU exporters, it runs on the host it monitors, and Prometheus scrapes each host directly.

Install and run the service

For the full procedure in context, see Install monitoring, Step 1. As a privileged user, on each host module:
Verify. The service must report active and the metrics endpoint must return 200:
To stop and disable it:
To use a different configuration file, run systemctl edit sambanova_exporter.service and set the SAMBANOVA_EXPORTER_CONFIG_FILE environment variable. The command line option -c <file> overrides the variable. If the file is not found, the exporter ignores it. If the file exists but cannot be read or parsed, the exporter fails.

How the chart exposes it

The chart does not deploy the exporter. It makes the host port scrapeable:
  • A placeholder DaemonSet on the host network gives a Kubernetes Service one endpoint per RDU node. Its readiness probe follows the host service, so a dead exporter leaves the endpoint list.
  • A ServiceMonitor scrapes the Service and adds two labels the exporter does not publish: node, from the node name, and rack, from the rackMap value you declare. Rack is not discoverable, so without rackMap the series have node but no rack.
The chart deploys the placeholder DaemonSet by default, but serviceMonitor.enabled defaults to false. Set it to true, or Prometheus does not scrape RDU metrics.

Collectors

Each collector can be turned on or off independently. All are on by default, and the HBM collector starts only on platforms that include HBM.

Metrics

Platform collector

Series with no labels below have one entry per platform.
A non-zero sambanova_platform_error_count is normal. Watch how fast it grows, not its value.

Tile collector

Labels: xrdu, rdu, tile. Series with one entry per platform:
To get RDU utilization across a rack, subtract the mean idle percentage from 100, and filter out the sentinel value: 100 - avg by (rack) (sambanova_tile_idle_percent != -1).

DDR collector

Labels: xrdu, rdu, ddrch. Series with one entry per platform: Throughput metrics report -1.0 for a component that was offline. See Sentinel value.

HBM collector

Available on platforms that include HBM. Labels: xrdu, rdu, hbm, hbmch_grp. Series with one entry per platform: Throughput metrics report -1.0 for a component that was offline. See Sentinel value.

PCIe collector

Labels: xrdu, rdu, pcie. D2R and R2D name who starts the operation. D2R is a request from the local RDU (the device) to a remote RDU or host. R2D is a request from a remote host or RDU to the local RDU. Series with one entry per platform: Throughput metrics report -1.0 for a component that was offline. See Sentinel value.

Labels

Sentinel value

All throughput and tile metrics (except sambanova_tile_pid) report -1.0 for any XRDU, RDU, or component that was not present and online, or did not respond, at the last sample. avg includes -1.0 and min returns it, so filter it out in every aggregation:
sambanova_tile_pid lists a tile only if it was allocated to a process at the last sample.

Configuration

The file is in INI format: [section] headers followed by option = value lines. Section names are case sensitive. Option names and values are not. Leave a value empty to take the default.

[sambanova_exporter]

include_rdus and exclude_rdus take a comma-separated list of xrdu/rdu pairs. Ranges and * are allowed. For example, include_rdus = 0-2/*,3/0 monitors every RDU on XRDU 0 to 2, and RDU 0 on XRDU 3. exclude_rdus = 2/1,3/* skips RDU 1 on XRDU 2, and every RDU on XRDU 3. The offline counts cover only monitored RDUs.

Collector sections

Each of [platform_collector], [tile_collector], [ddr_collector], [hbm_collector], and [pcie_collector] accepts log_level. Every one except the platform collector also accepts update_interval, include_rdus, and exclude_rdus, which override the global values for that collector. [tile_collector] also accepts:

Example

Next steps