Configuration
The agent reads its configuration from /etc/atherops/config.yaml. Edit that file and restart the service to apply changes:
sudo systemctl restart atherops-agent
A starter template is installed at /etc/atherops/config.example.yaml for reference.
Identity
| Key | Default | Description |
|---|---|---|
cluster_name | "my-server" | Human-readable name shown in the AtherOps UI. Set this to something unique per host (e.g., the hostname). |
platform_url | "https://app.atherops.com" | URL of your AtherOps platform. Override for self-hosted deployments. |
api_key | (unset) | Authenticates the agent. Prefer setting ATHEROPS_API_KEY in /etc/atherops/env instead of in this file. |
Scraping
| Key | Default | Description |
|---|---|---|
scrape_interval | 15s | How often host metrics are collected and forwarded. |
scrape_timeout | 10s | Maximum time each scrape may take before being aborted. |
Logs
logs is a list of file targets the agent should tail and forward.
logs:
- path: /var/log/syslog
labels:
source: syslog
- path: /var/log/nginx/access.log
labels:
source: nginx
| Field | Description |
|---|---|
path | Absolute path of the log file to tail. Globs are supported. |
labels | Map of static labels attached to every line from this source. |
Application metrics
app_targets is an optional list of your own services that expose Prometheus /metrics endpoints. The agent will scrape them on the same interval as host metrics.
app_targets:
- url: http://localhost:8080/metrics
labels:
job: myapp
| Field | Description |
|---|---|
url | Full URL of the /metrics endpoint. |
labels | Map of labels added to every metric scraped from this target. |
Traces (OpenTelemetry)
Enable the OTLP receiver so your applications can send distributed traces through the agent.
traces:
enabled: true
otlp_grpc_port: 4317
otlp_http_port: 4318
| Key | Default | Description |
|---|---|---|
traces.enabled | false | Set to true to start the OTLP receiver. |
traces.otlp_grpc_port | 4317 | gRPC port for OTLP trace ingest. |
traces.otlp_http_port | 4318 | HTTP port for OTLP trace ingest. |
Point your application's OTel SDK exporter at <host_ip>:4317 (gRPC) or <host_ip>:4318 (HTTP).
Process metrics
The process collector samples the top-N processes by memory usage and emits per-process CPU, memory, and I/O metrics.
process_collector:
enabled: true
port: 9101
top_n: 25
| Key | Default | Description |
|---|---|---|
process_collector.enabled | true | Toggle process-level collection. |
process_collector.port | 9101 | Loopback-only port the collector listens on. Not exposed externally. |
process_collector.top_n | 25 | Number of processes to report per scrape, ranked by memory. |
Container metrics
The Docker collector queries the local Docker socket for per-container metrics. It silently disables itself if the socket isn't present, so it's safe to leave enabled on hosts without Docker.
docker:
enabled: true
port: 9103
socket_path: /var/run/docker.sock
| Key | Default | Description |
|---|---|---|
docker.enabled | true | Toggle container collection. |
docker.port | 9103 | Loopback-only port the collector listens on. |
docker.socket_path | /var/run/docker.sock | Path to the Docker socket. |