Docker Collector Configuration
Run the EveryUp Docker Collector on each Docker host you want to monitor. It collects container state, stdout/stderr logs, and host metrics according to your selected scope and sends them to Web. When an app or proxy writes access logs to stdout/stderr, it also extracts request method, path, and status code.
Alert rules, notification channels, and dashboard behavior are configured in Web. The Docker Collector only collects and forwards data. Its binary, environment variables, storage paths, and compatibility API retain the internal agent name.
For installation, see the Quick Start.
Logs and API Requests
The Docker Collector reads Docker stdout/stderr and stores those lines as logs in Web. Check what it can see with:
docker logs <container-name> --tail 100The first read of a new container uses EVERYUP_DOCKER_LOGS_TAIL_LINES (default 100) to bound historical logs. Once a cursor exists, every remaining line is read from Docker without a tail limit. Each replica has its own persisted cursor. Collection streams records in bounded batches; outbound log requests are split below the Web request-size limit. Log bodies retain a UTF-8-safe prefix of about 8 KiB. See local state for restart and retention behavior.
API status codes are extracted from those same logs: lines that parse as access logs (Nginx / Apache / structured JSON) are emitted as synthetic OTel SERVER spans, which Web projects into the API 요청 (API requests) tab. The current parser only extracts method, path, and status code. Response times in a log are not used as API latency through this path. Without access logs, this path produces no API rows, but regular logs and configured metric collection continue. Requests sent through eBPF or app instrumentation are displayed separately.
For real latency without touching your apps, use the automatic eBPF Observer included in the monitoring bundle. For request/response headers and bodies, instrument the app with OpenTelemetry pointed at the Docker Collector's OTLP gateway (http://everyup-agent:4318). See Header & body capture.
If logs are written only to files inside the container, Docker cannot show them and the Docker Collector cannot collect them in compose-only mode. Configure the application or reverse proxy to write logs to stdout.
Networking
The Docker Collector discovers containers through the mounted Docker socket. It can run in the same Compose file as your application or in a separate Compose project on the same Docker host. The Quick Start installer uses a Compose project separate from your application.
When Docker discovery is enabled, the OTLP gateway accepts telemetry only from running containers it discovers. It assigns each app payload the service name of its source container, even if the SDK supplies a different service.name; only the everyup-ebpf container can send eBPF-marked traces.
A profile without Docker discovery (such as metrics-only) requires a service-scoped bearer token on every OTLP request. Generate one per application on the Docker host, passing that application's service name (for example checkout) as the last argument:
sudo docker compose --env-file /opt/everyup-agent/.env -f /opt/everyup-agent/compose.yaml \
exec -T everyup-agent everyup-agent gateway-token <service-name>Configure that application's OTLP exporter to send Authorization: Bearer <generated-token> to http://everyup-agent:4318. For an OpenTelemetry SDK using OTLP/HTTP, set:
OTEL_EXPORTER_OTLP_ENDPOINT=http://everyup-agent:4318
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer%20<generated-token>The gateway assigns service.name from the token, regardless of the name in the payload. Keep the token with that application's credentials; generate a different token for each service. Rotating the Collector API key invalidates all service tokens.
Compose Environment Variables
Only the three variables marked required must be set; everything else has a working default.
Web connection (connected mode)
EVERYUP_WEB_SYNC_ENABLED· required · defaultfalse
Enables Web enrollment and syncEVERYUP_WEB_BASE_URL· required
EveryUp Web base URL reachable from the Docker hostEVERYUP_AGENT_API_KEY· required
The Docker environment's API key. In Web, open the environment and click API Key to view or reissue it (deprecated alias:EVERYUP_WEB_ENROLLMENT_TOKEN)EVERYUP_WEB_AGENT_ID
Web-side agent id; set automatically on enrollmentEVERYUP_WEB_SYNC_INTERVAL_SECONDS· default30
How often services, events, and host metrics sync to WebEVERYUP_WEB_OTLP_ENDPOINT
OTLP endpoint advertised for telemetry push
General
TZ· defaultUTC
Timezone for the Collector's own log lines (e.g.Asia/Seoul); synced data always carries zone info regardlessEVERYUP_AGENT_NAME· defaulteveryup-agent
Docker environment nameEVERYUP_SERVICE_NAME· defaultlocal-service
Default service name for the Collector's own checksEVERYUP_DATA_DIR· default/data
Where Collector state (agent-state.json,audit.jsonl) is storedEVERYUP_CHECK_INTERVAL_SECONDS· default30
Health-check intervalEVERYUP_HTTP_TIMEOUT_SECONDS· default5
HTTP request timeoutEVERYUP_ALERT_COOLDOWN_SECONDS· default300
Minimum seconds between repeat alerts for the same targetEVERYUP_HEALTH_URL
Absolute URL to health-check (single-target mode; usually Docker discovery is used instead)
Docker discovery and logs
EVERYUP_DOCKER_DISCOVERY_ENABLED· defaulttrue
Discover Docker containers automaticallyEVERYUP_DOCKER_SOCKET_PATH· default/var/run/docker.sock
Docker socket path inside the containerEVERYUP_DOCKER_LOGS_ENABLED· defaulttrue
Forward containers' stdout/stderr logs to WebEVERYUP_DOCKER_LOGS_TAIL_LINES· default100
Historical lines read on a container's first collection; subsequent reads drain all unread logsEVERYUP_EXCLUDE
Comma-separated container names to exclude from discovery
Host metrics (CPU / memory / disk / network)
EVERYUP_HOST_METRICS_ENABLED· defaulttrue
Collect host CPU/memory/disk/network from the/hostfsmountEVERYUP_HOST_METRICS_ROOT· default/hostfs
Mount point of the host filesystem (reads/proc,/proc/net/dev)EVERYUP_HOST_DISK_PATH· default/hostfs
Path used for disk usage statsEVERYUP_HOST_CPU_PERCENT· default0
Host CPU% alert threshold;0disables host-resource alerting (does not affect collection)EVERYUP_HOST_MEMORY_PERCENT· default0
Host memory% alert threshold;0disablesEVERYUP_HOST_DISK_PERCENT· default0
Host disk% alert threshold;0disables
OTel Collector and telemetry gateway
EVERYUP_OTEL_CONFIG_ENABLED· defaultfalse
Generate an OTel Collector config on startupEVERYUP_OTEL_CONFIG_PATH· default/etc/everyup/generated/otel-config.yaml
Where the generated OTel config is writtenEVERYUP_OTEL_CONF_DIR· default/etc/everyup/conf.d
Directory scanned for OTel config fragmentsEVERYUP_OTEL_FILELOG_PATHS
Comma-separated file paths for the OTel filelog receiverEVERYUP_TELEMETRY_GATEWAY_ENABLED· defaulttrue
Run the Docker Collector's OTLP gateway that forwards telemetry to WebEVERYUP_TELEMETRY_GATEWAY_LISTEN_ADDR· default:4318
Listen address for the Docker Collector's OTLP gateway
Heartbeat watchdog
EVERYUP_HEARTBEAT_URL
External heartbeat (dead-man's switch) URL to pingEVERYUP_HEARTBEAT_TOKEN
Token sent with the heartbeat pingEVERYUP_HEARTBEAT_INTERVAL_SECONDS· default60
Heartbeat ping interval
