Configuration

View as Markdown

This page documents the runtime configuration for fleetint run:

  • configurable environment variables
  • configurable fleetint run flags
  • how to set them on bare metal and in Kubernetes

Where to configure

Bare Metal

Package installs run fleetint through the fleetintd systemd service:

1ExecStart=/usr/bin/fleetint run $FLEETINT_FLAGS

Configure runtime settings in /etc/default/fleetint, then restart the service:

$sudo systemctl restart fleetintd
  • Set environment variables directly in /etc/default/fleetint
  • Set fleetint run flags through FLEETINT_FLAGS="..."

Kubernetes

The Helm chart configures the container entrypoint as fleetint run and exposes:

  • environment variables under env.*
  • common run flags through dedicated chart values such as logLevel, listenAddress, and components

Apply changes by updating values.yaml or using helm upgrade --set ....

Configurable Environment Variables

These environment variables are read by fleetint run at startup.

Environment variableDescriptionDefaultBare metalKubernetes
DCGM_URLDCGM HostEngine address used by the agent for DCGM-backed components.bare metal: localhost, Helm chart: nvidia-dcgm.gpu-operator.svc:5555/etc/default/fleetintenv.DCGM_URL
DCGM_URL_IS_UNIX_SOCKETTreat DCGM_URL as a Unix socket path instead of a network address.false/etc/default/fleetintenv.DCGM_URL_IS_UNIX_SOCKET
MALLOC_ARENA_MAXglibc arena cap to constrain RSS growth for DCGM/cgo-heavy workloads.4/etc/default/fleetintenv.MALLOC_ARENA_MAX
FLEETINT_COLLECT_INTERVALExport interval for health data. Valid range: 1s to 24h.1m/etc/default/fleetintenv.FLEETINT_COLLECT_INTERVAL
FLEETINT_INCLUDE_METRICSInclude metrics data in export payloads.true/etc/default/fleetintenv.FLEETINT_INCLUDE_METRICS
FLEETINT_INCLUDE_EVENTSInclude event data in export payloads.true/etc/default/fleetintenv.FLEETINT_INCLUDE_EVENTS
FLEETINT_INCLUDE_MACHINEINFOInclude machine information in export payloads.true/etc/default/fleetintenv.FLEETINT_INCLUDE_MACHINEINFO
FLEETINT_INCLUDE_HEALTHCHECKSInclude component data and health details in export payloads.true/etc/default/fleetintenv.FLEETINT_INCLUDE_HEALTHCHECKS
FLEETINT_METRICS_LOOKBACKLookback window for metrics included in each export.1m/etc/default/fleetintenv.FLEETINT_METRICS_LOOKBACK
FLEETINT_EVENTS_LOOKBACKLookback window for events included in each export.1m/etc/default/fleetintenv.FLEETINT_EVENTS_LOOKBACK
FLEETINT_CHECK_INTERVALHealth check interval for monitored components. Valid range: 1s to 24h.1m/etc/default/fleetintenv.FLEETINT_CHECK_INTERVAL
FLEETINT_RETRY_MAX_ATTEMPTSMaximum retry attempts for failed exports. Minimum: 0.3/etc/default/fleetintenv.FLEETINT_RETRY_MAX_ATTEMPTS
FLEETINT_INVENTORY_ENABLEDEnable or disable the inventory loop.true/etc/default/fleetintenv.FLEETINT_INVENTORY_ENABLED
FLEETINT_INVENTORY_INTERVALInventory loop interval override. Minimum: 5m.1h/etc/default/fleetintenv.FLEETINT_INVENTORY_INTERVAL
FLEETINT_ATTESTATION_ENABLEDEnable or disable the attestation loop.true/etc/default/fleetintenv.FLEETINT_ATTESTATION_ENABLED
FLEETINT_ATTESTATION_INTERVALAttestation interval override. Minimum: 5m.24h/etc/default/fleetintenv.FLEETINT_ATTESTATION_INTERVAL
HTTP_PROXYProxy URL for outbound HTTP requests.empty/etc/default/fleetintenv.HTTP_PROXY
HTTPS_PROXYProxy URL for outbound HTTPS requests.empty/etc/default/fleetintenv.HTTPS_PROXY

Notes:

  • Duration-valued environment variables use Go duration syntax such as 30s, 1m, 10m, or 24h.
  • These environment variables modify the telemetry exporter configuration and runtime loop intervals used by fleetint run.
  • DCGM_URL and DCGM_URL_IS_UNIX_SOCKET configure connectivity to DCGM HostEngine for DCGM-backed components.

Bare Metal Example

$sudoedit /etc/default/fleetint
$FLEETINT_FLAGS="--log-level=info --components=all,-accelerator-nvidia-dcgm-prof"
$DCGM_URL="localhost"
$DCGM_URL_IS_UNIX_SOCKET="false"
$MALLOC_ARENA_MAX="4"
$FLEETINT_COLLECT_INTERVAL="2m"
$FLEETINT_INCLUDE_EVENTS="false"
$FLEETINT_CHECK_INTERVAL="30s"
$HTTPS_PROXY="http://proxy.example.com:3128"
$sudo systemctl restart fleetintd

Kubernetes Example

1logLevel: info
2listenAddress: 0.0.0.0:15133
3retentionPeriod: 24h
4components: all,-accelerator-nvidia-dcgm-prof
5
6env:
7 DCGM_URL: "nvidia-dcgm.gpu-operator.svc:5555"
8 DCGM_URL_IS_UNIX_SOCKET: "false"
9 MALLOC_ARENA_MAX: "4"
10 FLEETINT_COLLECT_INTERVAL: "2m"
11 FLEETINT_INCLUDE_EVENTS: "false"
12 FLEETINT_CHECK_INTERVAL: "30s"
13 FLEETINT_INVENTORY_INTERVAL: "5m"
14 HTTPS_PROXY: "http://proxy.example.com:3128"

Apply with:

$helm upgrade --install fleet-intelligence-agent \
> oci://ghcr.io/nvidia/charts/fleet-intelligence-agent \
> -n <namespace> \
> -f values.yaml

Configurable fleetint run Flags

These are the fleetint run flags supported by the CLI.

FlagDescriptionDefaultBare metalKubernetes
--log-levelLog level: debug, info, warn, error.unset by CLI; packaged bare-metal default is warn via FLEETINT_FLAGSFLEETINT_FLAGS="--log-level=..."logLevel
--log-fileLog file path. Leave empty to log to stdout/stderr.emptyFLEETINT_FLAGS="--log-file=..."not exposed by chart by default
--listen-addressListen address for the agent API server. An absolute path creates a Unix socket; a host:port value opens a TCP listener./run/fleetint/fleetint.sockFLEETINT_FLAGS="--listen-address=..."listenAddress
--retention-periodRetention period for stored metrics and events. Minimum 1m.24hFLEETINT_FLAGS="--retention-period=..."retentionPeriod
--componentsComma-separated component selection. Use all, *, explicit names, and -name exclusions.empty flag value, which means enable all components by defaultFLEETINT_FLAGS="--components=..."components
--offline-modeDisable the HTTP API server and write telemetry to files instead.falseFLEETINT_FLAGS="--offline-mode ..."not exposed by chart by default
--pathAbsolute path to the output directory for offline mode. Must not point inside restricted system directories. Required with --offline-mode.emptyFLEETINT_FLAGS="--path=/path ..."not exposed by chart by default
--durationOffline-mode collection duration in HH:MM:SS format. Required with --offline-mode.emptyFLEETINT_FLAGS="--duration=00:05:00 ..."not exposed by chart by default
--formatOffline-mode output format: json or csv.jsonFLEETINT_FLAGS="--format=csv ..."not exposed by chart by default
--enable-fault-injectionEnable the local fault-injection endpoint for testing.falseFLEETINT_FLAGS="--enable-fault-injection"not exposed by chart by default

Component Selection

Use --components to control which monitoring components are enabled.

Examples:

$# Enable all components
$fleetint run --components=all
$
$# Enable only specific components
$fleetint run --components=accelerator-nvidia-dcgm-thermal,accelerator-nvidia-dcgm-utilization,cpu,memory
$
$# Start from the default set and disable one component
$fleetint run --components=all,-accelerator-nvidia-dcgm-prof

Rules:

  • all, *, or an empty component list enables all components.
  • all,-<component-name> starts with all components, then disables specific ones.
  • An explicit comma-separated list enables only the named components.
  • A non-matching explicit value effectively disables all components.

Available component names:

NVIDIA GPU components

  • accelerator-nvidia-infiniband
  • accelerator-nvidia-nccl
  • accelerator-nvidia-peermem
  • accelerator-nvidia-persistence-mode
  • accelerator-nvidia-error-sxid
  • accelerator-nvidia-error-xid

NVIDIA GPU DCGM components

  • accelerator-nvidia-dcgm-clock
  • accelerator-nvidia-dcgm-cpu
  • accelerator-nvidia-dcgm-inforom
  • accelerator-nvidia-dcgm-mem
  • accelerator-nvidia-dcgm-nvlink
  • accelerator-nvidia-dcgm-nvswitch
  • accelerator-nvidia-dcgm-pcie
  • accelerator-nvidia-dcgm-power
  • accelerator-nvidia-dcgm-prof
  • accelerator-nvidia-dcgm-thermal
  • accelerator-nvidia-dcgm-utilization

System components

  • cpu
  • disk
  • memory
  • network-ethernet
  • os
  • library

Verify Effective Configuration

Bare Metal

$sudo cat /etc/default/fleetint
$sudo systemctl status fleetintd
$sudo journalctl -u fleetintd -f

Kubernetes

$helm get values fleet-intelligence-agent -n <namespace>
$kubectl get daemonset fleet-intelligence-agent -n <namespace> -o yaml
$kubectl logs -n <namespace> -l app.kubernetes.io/name=fleet-intelligence-agent --tail=100