> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usechamber.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Environment variables, workload labels, upgrading, and uninstalling the Standalone Agent

<Warning>
  The Standalone Agent is in **beta**. Configuration options may change.
</Warning>

The agent is configured via environment variables in `/etc/chamber/agent.env`. After making changes, restart the agent:

```bash theme={null}
sudo vi /etc/chamber/agent.env
sudo systemctl restart chamber-agent-standalone
```

## Required Settings

| Variable | Description |
| - | - |
| `CHAMBER_CLUSTER_TOKEN` | API token for authenticating with the Chamber control plane. Generated in **Settings > API Tokens**. |

The `CHAMBER_SAAS_URL` is set automatically by the installer and should not need to be changed.

## Common Settings

| Variable | Default | Description |
| - | - | - |
| `CHAMBER_CLUSTER_ID` | hostname | Identifier for this host in the Chamber dashboard. Set this to a human-readable name if the hostname is opaque (e.g., `ip-10-0-1-42`). |
| `CHAMBER_HOSTNAME` | hostname | Override the reported hostname. |
| `CHAMBER_DCGM_URL` | `http://localhost:9400/metrics` | DCGM Exporter endpoint. Change if running DCGM Exporter on a non-default port. |

## Metrics Settings

| Variable | Default | Description |
| - | - | - |
| `CHAMBER_METRICS_ENABLED` | `true` | Enable or disable all metric collection. |
| `CHAMBER_METRICS_COLLECTION_INTERVAL` | `30` | Seconds between metric collection cycles. |
| `CHAMBER_METRICS_BATCH_INTERVAL` | `60` | Seconds between batch uploads to Chamber. |
| `CHAMBER_METRICS_BUFFER_SIZE` | `100000` | Maximum metrics buffered before oldest are dropped. |

## GPU Usage Settings

| Variable | Default | Description |
| - | - | - |
| `CHAMBER_GPU_USAGE_ENABLED` | `true` | Enable or disable the composite GPU Usage metric. |
| `CHAMBER_GPU_USAGE_POWER_THRESHOLD` | `0.1` | Power ratio (0.0–1.0) below which GPU is considered idle. At the default, GPUs drawing less than 10% of their power limit report GPU Usage as 0. |

## Discovery Settings

| Variable | Default | Description |
| - | - | - |
| `CHAMBER_DISCOVERY_ENABLED` | `true` | Enable or disable automatic GPU workload discovery. |
| `CHAMBER_DISCOVERY_SCAN_INTERVAL` | `15` | Seconds between GPU process scans. |
| `CHAMBER_DISCOVERY_STABILIZATION_DELAY` | `5` | Seconds to wait before classifying a newly detected process. Prevents transient processes from appearing as workloads. |
| `CHAMBER_DISCOVERY_EVENT_BUFFER_SIZE` | `500` | Maximum discovery events buffered. |

## OTLP Settings

| Variable | Default | Description |
| - | - | - |
| `CHAMBER_OTLP_GRPC_ENABLED` | `true` | Enable or disable the OTLP gRPC receiver. |
| `CHAMBER_OTLP_GRPC_PORT` | `4317` | gRPC server port. |
| `CHAMBER_OTLP_GRPC_HOST` | `0.0.0.0` | gRPC server bind address. |
| `CHAMBER_OTLP_METRICS_QUEUE_SIZE` | `10000` | Maximum queued metric batches. |

## Connection Settings

| Variable | Default | Description |
| - | - | - |
| `CHAMBER_HEARTBEAT_INTERVAL` | `30` | Seconds between WebSocket heartbeats. |
| `CHAMBER_METADATA_INTERVAL` | `60` | Seconds between host metadata reports. |
| `CHAMBER_RECONNECT_BACKOFF` | `5` | Initial reconnection delay (seconds) after a dropped WebSocket connection. |
| `CHAMBER_MAX_RECONNECT_BACKOFF` | `30` | Maximum reconnection delay (seconds). The agent uses exponential backoff with jitter between these bounds. |

## Workload Labels

Add environment variables to your training jobs to enrich workload metadata in the dashboard:

```bash theme={null}
CHAMBER_JOB_NAME="llama2-finetune-v3" \
CHAMBER_TEAM_NAME="ml-platform" \
  torchrun --nproc_per_node=4 train.py
```

| Variable | Description |
| - | - |
| `CHAMBER_JOB_NAME` | Override the auto-detected workload name. Useful when the process command line is generic. |
| `CHAMBER_TEAM_NAME` | Set a team label for workload attribution. Groups workloads by team in the dashboard. |

<Tip>
  These environment variables are read from the process environment at discovery time. They are not part of `/etc/chamber/agent.env` — set them on your training process directly.
</Tip>

## Upgrading

Re-run the installer to upgrade to the latest version. Your configuration in `/etc/chamber/agent.env` is preserved:

```bash theme={null}
curl -fsSL https://chamber-agent-releases.s3.amazonaws.com/install.sh | sudo bash
```

To pin to a specific version (e.g., for reproducibility):

```bash theme={null}
curl -fsSL https://chamber-agent-releases.s3.amazonaws.com/install.sh \
  | sudo bash -s -- --version <VERSION>
```

## Uninstalling

```bash theme={null}
sudo systemctl stop chamber-agent-standalone
sudo systemctl disable chamber-agent-standalone
sudo rm /etc/systemd/system/chamber-agent-standalone.service
sudo systemctl daemon-reload
sudo rm -rf /opt/chamber-standalone
sudo rm -rf /etc/chamber
sudo userdel chamber-agent
```

This removes the agent, its configuration, and the system user. It does not remove Docker, Python, or DCGM Exporter.

## Next Steps

<CardGroup cols={2}>
  <Card title="Troubleshooting" icon="wrench" href="/agent/standalone/troubleshooting">
    Common issues and solutions
  </Card>

  <Card title="Metrics Reference" icon="chart-line" href="/agent/standalone/metrics">
    Full list of metrics collected
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.