Skip to Content
Edge AgentCollectors

Edge Agent Collectors

Collectors are the data-gathering components of the Edge Agent. Each collector is responsible for a specific type of telemetry data. All collectors run independently and can be individually enabled, disabled, or configured.

Built-in Collectors

System Collector

Collects host-level system metrics.

Metrics collected:

MetricTypeDescription
system.cpu.usagegaugeCPU usage percentage (per-core and aggregate)
system.cpu.iowaitgaugePercentage of time waiting on I/O
system.memory.usedgaugeUsed memory in bytes
system.memory.availablegaugeAvailable memory in bytes
system.memory.usagegaugeMemory usage percentage
system.swap.usedgaugeSwap space used in bytes
system.load.1mgauge1-minute load average
system.load.5mgauge5-minute load average
system.load.15mgauge15-minute load average
system.uptimecounterSystem uptime in seconds

Default interval: 10 seconds

Process Collector

Collects per-process resource usage for the top N processes by CPU and memory consumption.

Metrics collected:

MetricTypeDescription
process.cpu.usagegaugeCPU usage per process
process.memory.rssgaugeResident set size per process
process.memory.vmsgaugeVirtual memory size per process
process.threadsgaugeThread count per process
process.fd.countgaugeOpen file descriptor count
process.io.read_bytescounterBytes read from disk
process.io.write_bytescounterBytes written to disk

Default interval: 30 seconds

Disk Collector

Collects disk usage and I/O performance metrics.

Metrics collected:

MetricTypeDescription
disk.usagegaugeDisk usage percentage per mount point
disk.usedgaugeUsed space in bytes
disk.freegaugeFree space in bytes
disk.inodes.usedgaugeUsed inode count
disk.io.read_opscounterRead operations per second
disk.io.write_opscounterWrite operations per second
disk.io.read_bytescounterBytes read per second
disk.io.write_bytescounterBytes written per second
disk.io.awaitgaugeAverage I/O wait time in ms

Default interval: 30 seconds

Network Collector

Collects network interface traffic and connection metrics.

Metrics collected:

MetricTypeDescription
network.bytes.sentcounterBytes sent per interface
network.bytes.recvcounterBytes received per interface
network.packets.sentcounterPackets sent per interface
network.packets.recvcounterPackets received per interface
network.errors.incounterInbound errors per interface
network.errors.outcounterOutbound errors per interface
network.connectionsgaugeActive TCP connections by state

Default interval: 10 seconds

Log Collector

Tails log files and forwards them to the Tenant Plane with structured field extraction.

Features:

  • Glob-pattern file discovery (e.g., /var/log/*.log)
  • Automatic multiline detection for stack traces and structured logs
  • Built-in parsers for syslog, JSON, Apache/Nginx access logs, and common application frameworks
  • Custom parser support via Grok patterns
  • File rotation handling (detects renamed/truncated files)
  • Bookmark persistence (resumes from last read position after agent restart)

Custom Collectors

You can extend the agent with custom collectors by placing scripts in /etc/atlasai/collectors.d/:

#!/bin/bash # /etc/atlasai/collectors.d/my-app-health.sh # Runs every collection interval and outputs metrics in a simple format response=$(curl -s http://localhost:3000/health) status=$(echo "$response" | jq -r '.status') if [ "$status" = "healthy" ]; then echo "my_app.health 1" else echo "my_app.health 0" fi

Custom collector scripts must:

  • Be executable (chmod +x)
  • Output one metric per line in the format: metric_name value
  • Complete within 10 seconds (configurable timeout)