Deploy

Logs and metrics

Live output, every request each app gets, and CPU, memory and disk for each app and the server.

Logs

Each project's Logs page has two tabs:

  • Output: the app's stdout and stderr from journald, streamed live. It scrolls on its own until you scroll up, keeps ANSI colors, and has copy and download buttons.
  • Requests: the last 200 requests from Caddy's access log for the app: time, status, method and path, duration, size and the client's address. Server errors are counted at the top. Static sites only have this tab.
journalctl -u 'app-<app>@*' -f     # the app's output
tail -f /var/log/caddy/<app>.log   # its requests, as JSON
layer logs <app> -f                # the same output, through the layer command

Usage

A project's Overview shows its CPU and memory for the last 24 hours or 7 days, plus the size of its data on disk. Every chart has a table view. The Projects page shows each app's latest memory against its limit, and its CPU.

The numbers are systemd's own accounting for the app's units:

systemctl show 'app-<app>@blue' -p CPUUsageNSec -p MemoryCurrent

The panel samples them every minute. It keeps 24 hours at that resolution and 7 days as hourly averages. Nothing is sent anywhere, and there's no agent to install.

The server

The server button at the top of the Projects page opens CPU, memory and disk for the whole server, with the last 24 hours charted and memory by app.

Overview

A project's Overview also shows:

  • A stats strip: its status, runtime (the Node version, or static files), memory, and its sandbox's security score.
  • Production: the image the site offers for link previews (og:image), fetched once per deployment, next to its domains, when it was deployed, and the commit. Sites without a preview image get a card with their title. There's no headless browser on the server.