Skip to content

Introduction ​

EveryUp is a self-hosted tool for viewing service health, logs, API requests, and server resources in one place. Start with failing targets and delayed collection, then investigate recurring errors and request trends.

Run Web on a dashboard server, then connect monitoring targets directly for each capability you need. Check public URLs and TCP ports with uptime monitors, and connect apps directly through OpenTelemetry for logs, API requests, and metrics. Server resources come from a standard OpenTelemetry Collector. On a Linux Docker server you can also connect a Docker environment, an optional integration that collects container state, logs, and host resources in one install without changing your apps.

PartWhat it doesWhere it runs
WebDashboard, uptime checks, OTLP reception, alert rules, notification channels, historyYour dashboard server
OpenTelemetry SDKSends app logs, traces, and metrics directly to WebEach app
Standard OpenTelemetry CollectorSends server CPU, memory, disk, and network to WebEach server you monitor
Docker Collector (optional)Docker discovery, container state, logs, host metricsEach Docker host you monitor

The EveryUp overview. payment-worker flagged as down, a monitoring scope of 2 Docker environments, 4 uptime monitors, 3 directly connected services and 2 infrastructure resources, and 3 recent incidents.The EveryUp overview. payment-worker flagged as down, a monitoring scope of 2 Docker environments, 4 uptime monitors, 3 directly connected services and 2 infrastructure resources, and 3 recent incidents.

INFO

The dashboard interface is Korean only. These docs cover setup and configuration in English; the running UI looks like the screenshot above.

Features ​

The Uptime, Logs, Infrastructure, API requests, and Metrics pages show only the targets you configure directly. Response checks, container state, logs, host resources, and API requests collected by a Docker Collector appear in that Docker environment. Overview, groups, and alerts cover both paths.

FeatureWhat you can inspectRequired setup
OverviewFailures, delayed collection, monitoring scope, recent incidentsConnect monitoring targets
UptimeHTTP and TCP response checks from the uptime monitors you addAdd monitors
InfrastructureHost CPU, memory, disk, and network trendsConnect a standard Collector or enable infrastructure collection in a Docker environment
LogsError and warning trends, recurring messages, searchExport OTLP logs directly or collect stdout/stderr in a Docker environment
API response times and tracesRequest count, error rate, response time trends, spansConnect the app directly through OpenTelemetry or the eBPF Observer in a Docker environment
Application metricsValues and trends for metrics your app exportsConfigure OTLP metric export in the app or Collector
Container stateDiscovered containers, their running state and check resultsEnable uptime collection in a Docker environment
API statusRequest method, path, and status code parsed from access logsApp or proxy access-log output in a Docker environment
Header and body captureRequest details and captured bodiesLanguage-specific instrumentation. Automatic body capture is opt-in for Node.js
NotificationsRules, channels, delivery resultsConfigure channels and enabled rules

Compare API request trends with last week when historical data exists. Docker environments also show deployment and restart events. p95 latency means 95% of measured requests finished within that time. A span records one operation in a request's trace.

What Gets Collected ​

Direct connections ​

DataSource
HTTP and TCP check results and response timesUptime monitor checks run by Web
App logs, traces, metricsApp OpenTelemetry SDK -> Web OTLP endpoint
Host CPU, memory, disk, networkStandard OpenTelemetry Collector

Direct connections install no EveryUp component on the target server. Web connects to uptime monitor targets itself, so the dashboard server must be able to reach the target address.

Optional: Docker environment ​

A Docker environment is an optional integration: install the monitoring bundle on a Linux Docker server to collect per container without changing your apps. The Docker Collector follows your selected collection scope. The 기본 (Basic) profile collects container state and logs. 전체 (All) also enables host resources, API tracing, and OTLP metric reception.

Monitored server

existingApp containersNo code or image changes
docker.sock:roreads state & logs
installDocker CollectorContainer state · stdout/stderr logs · host metrics
OTLP/HTTP :4318sends traces
optionaleBPF ObserverAPI response times · traces, no app code changes

HTTP(S) :3001no inbound ports

Dashboard server

installEveryUp WebUI · REST API · SQLite · alert rule evaluation

Without the Collector

HTTPSnotifications

Alert channels

  • Telegram
  • Discord
  • Slack
The Collector on each monitored server sends the selected data to Web. Web notifies your connected channels when enabled rule conditions are met. Monitored servers need no inbound ports.

Docker Collector ​

The following data is collected without app changes in the 전체 (All) profile. The installer mounts the Docker socket and /hostfs read-only only when the selected collection scope needs them.

DataSource
Container up/down, name, image, stateDocker socket
State-change and Collector eventsAudit records generated by the Collector
stdout/stderr logsdocker logs
API request method, path, status (response times are not extracted)Access-log parsing
Host CPU, memory, disk, network/hostfs mount

API status codes appear when the app or a proxy writes access logs to stdout/stderr. Without access logs, container state, regular logs, and host metrics are still collected.

Automatic eBPF Observer in the monitoring bundle ​

DataSource
API traces with real latencyeveryup-ebpf eBPF Observer (OBI)
method, path, status, durationHost process observation
Many languages including Go, and HTTPS servicesOpenTelemetry eBPF Instrumentation

See the eBPF guide for supported hosts, runtimes, and cross-service trace correlation requirements.

Optional: app-side OpenTelemetry instrumentation ​

DataSource
Request/response headershttp.*.header.* span attributes
Request/response bodies*_body_masked span events
App metrics (JVM memory, GC, custom counters)App OTel -> Web OTLP endpoint or Docker Collector :4318

OpenTelemetry (OTel) provides tools for collecting and exporting logs, traces, and metrics. These signals are sent using the OTLP protocol. Enabling metric reception does not generate app metrics. The bundle configures headers for Java and Node.js, with automatic body capture available as an opt-in for Node.js. Java body capture requires application code.

Next steps ​

Start Web and add your first uptime monitor with the Quick Start. The same page continues with connecting a Docker environment.

Released under the MIT License.