Skip to main content

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

KeyDefaultDescription
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

KeyDefaultDescription
scrape_interval15sHow often host metrics are collected and forwarded.
scrape_timeout10sMaximum 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
FieldDescription
pathAbsolute path of the log file to tail. Globs are supported.
labelsMap 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
FieldDescription
urlFull URL of the /metrics endpoint.
labelsMap 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
KeyDefaultDescription
traces.enabledfalseSet to true to start the OTLP receiver.
traces.otlp_grpc_port4317gRPC port for OTLP trace ingest.
traces.otlp_http_port4318HTTP 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
KeyDefaultDescription
process_collector.enabledtrueToggle process-level collection.
process_collector.port9101Loopback-only port the collector listens on. Not exposed externally.
process_collector.top_n25Number 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
KeyDefaultDescription
docker.enabledtrueToggle container collection.
docker.port9103Loopback-only port the collector listens on.
docker.socket_path/var/run/docker.sockPath to the Docker socket.