Overview and Needs attention
The overview is the dashboard’s front page. Above the traffic tiles and chart it lists what needs attention right now, and for a new instance, the first steps still to take.
Welcome back, Avery
Needs attention
- git.example.com had a burst of 5xx errors280 errors, 6% of its requests, from 6:00 AM to 7:58 AM.Warning
- Certificate media.example.com expires in 6 daysValid until Feb 17, 2026. If Caddy manages it, being this close to expiry means its renewal is failing.Warning
- 312 requests to git.example.com/wp-login.php were stoppedAll by the WAF in the last 24 hours.Info
Get started
- Serve a domain with a valid certificatecompletedDone
- Add your first proxy hostcompletedDone
- Turn on analyticscompletedDone
- Invite a second userSo you are not the only one who can sign in.
- Set up single sign-onSign in through an OIDC provider or an LDAP directory.
All metrics
Server log
| Time | Status | Description |
|---|---|---|
200 | GET media.example.com/library/sections/2/all 48 KB · HTTP/2.0 · | |
| update | Enabled the WAF on grafana.example.comavery · proxy_host | |
200 | POST git.example.com/avery/infra/git-upload-pack 1.2 MB · HTTP/2.0 · | |
| update | Added upstream http://app-2:8080 to app.example.comavery · proxy_host | |
502 | GET app.example.com/v1/devices/sync 0 · HTTP/1.1 ·10.0.2.51 | |
403 | GET status.example.com/.env 512 B · HTTP/1.1 · | |
| create | Created L4 proxy host postgres (5432/tcp)avery · l4_proxy_host | |
304 | GET home.example.com/static/frontend_latest/app.js 0 · HTTP/3.0 ·10.0.2.14 | |
| renew | Issued client certificate backup-runnersystem · certificate | |
200 | GET grafana.example.com/api/dashboards/uid/caddy 96 KB · HTTP/2.0 · | |
| delete | Removed old-laptop from the Staging access listavery · access_list |
Needs attention
Section titled “Needs attention”Each item says what is wrong, how serious it is (critical, warning or info) and links to where it is dealt with. The worst come first, up to 50; anything past that is counted. The checks are:
| Check | What makes an item |
|---|---|
| Certificates | An imported certificate, or one Caddy manages, that has expired or has fewer days left than the certificate alert threshold (Settings → Email, 14 by default). A managed one must also be in the last quarter of its life, so Caddy’s short-lived internal certificates never show; one this close means its renewal is failing. A certificate read from a file on an agent whose last read failed. |
| Caddy | The last configuration Caddy refused, on one agent or all of them, until one loads again. |
| Agents | An agent gone for more than two minutes after it had connected, and an agent whose Caddy build, optional services, L4 port change or log access failed. |
| Traffic | With analytics on: 5xx bursts (critical while still going on), a host answering 5% or more of at least 20 requests with 5xx, spikes in stopped requests against the 7-day average, and 50 or more requests stopped on one path. |
| LDAP | A directory that cannot be connected to, bound to or searched. Each is checked at most every five minutes. |
| Accounts | An account being made to wait after failed sign-ins, and one disabled after too many. |
| L4 ports | L4 ports waiting for the Caddy container to be recreated, or a port change that failed. |
| CRS plugins | A plugin switched off because Caddy would not load the WAF with it. |
| GeoIP | The last GeoIP database update failed. |
| Security | The global WAF only detects, or blocked countries, continents or networks are not enforced because Caddy lacks the Geo Blocking module. |
Every check has four seconds. One that takes longer, or fails, is left out and the list says so, so an empty list with a skipped check is “unknown”, not “all clear”. With analytics off there are no traffic items at all, which is not the same as no traffic problems.
Administrators see every item. An operator sees the items about the proxy hosts and agents their groups grant: a certificate on one of their hosts, their hosts’ traffic, their agents. Users and viewers see none.
A host’s own page lists the items about that host alone; see the reverse proxy page.
Setup checklist
Section titled “Setup checklist”Administrators also get a short checklist for a new instance:
- Serve a domain with a valid certificate.
- Add a first proxy host.
- Turn on analytics.
- Invite a second user.
- Set up single sign-on, through an OIDC provider or an LDAP directory.
Each step ticks itself once the instance has it. A step can also be marked done by hand, for instance when single sign-on is deliberately not wanted, and the whole list can be hidden. Both are stored once for the instance, not per administrator, and both are recorded in the audit log.
Over the API
Section titled “Over the API”The GraphQL API has the same list as attention (with proxyHostId for one host’s
items), the checklist as setupChecklist, and the setSetupStepDone and setSetupChecklistHidden
mutations. Like the rest of the API, they are for administrators.