Monitoring
Monitor uptime
An uptime monitor requests a URL every 30 seconds to 1 hour. 2xx and 3xx are up; two failed checks in a row are down and alert the team.
On this page
An uptime monitor requests one public URL on a fixed interval and alerts the team when it stops answering. It needs no code in your app.
Requirements
- A project. Every team member can manage its monitors.
- A public
http://orhttps://URL of at most 2,000 characters, without a username or password. Loopback, private and other non-public addresses are refused. - At most 100 monitors per project, 100 per team, and 300 over all the teams one owner owns.
Add a monitor
- Open the project and go to Uptime in the sidebar, or press ⌘ K → Add uptime monitor.
- Under Add monitor, enter the URL, for example
https://example.com/up. - Optional: a Name (default: the host).
- Pick Check every: 30 seconds, 1 minute (the default), 5 minutes, 10 minutes, 30 minutes or 1 hour.
- Click Add monitor.
The first check runs within seconds. Each monitor also checks its SSL certificate, domain and DNS.
Check that it works
The monitor's page shows Status (Pending until the first check, then Up or Down), the uptime in the selected range, the average and p95 response time, and the latest 20 checks with their HTTP status, duration and error (Show all lists the latest 100).
How a check decides up or down
| Rule | Value |
|---|---|
| Up | The final response, after redirects, has status 2xx or 3xx. |
| Failed check | Any other status, no response headers within 10 seconds, a DNS, connection or TLS error, or more than 5 redirects. |
| Down | 2 failed checks in a row. |
| Retry | After a first failure, Lampwick checks again within 15 seconds instead of waiting a full interval. |
| Back up | 1 successful check. |
| Method | GET |
| User-Agent | lampwick-uptime/<version> |
A single dropped request alerts no one; an outage is noticed within one interval plus about 15 seconds.
Pick the right URL
Monitor a health endpoint, such as Laravel's /up route, rather than a heavy page. If a firewall, WAF or bot protection (Cloudflare, for example) blocks automated requests, allow the User-Agent lampwick-uptime, or every check fails with HTTP 403.
Change, pause or delete a monitor
On the monitor's page:
- Settings → Monitor: change the URL, name or interval. A new URL starts over: status Pending, checked at once.
- Alerts → Mute alerts for everyone: the checks keep running, but no one gets alerts for this monitor.
- Danger zone → Pause checks: no checks, host checks or crawl. Resume checks starts over like a new URL.
- Danger zone → Delete monitor: deletes the monitor and its check history.
Check history follows the retention of your other records.
API
| Operation | What it does |
|---|---|
listMonitors | Monitors with uptime, response times and latest checks. |
createMonitor | Body: url, name, interval_secs (30 to 3600, any value). |
getMonitor | One monitor with its checks, DNS changes and charts. |
updateMonitor | url, name, interval_secs, paused, notify, and the host check switches. |
deleteMonitor | Deletes the monitor and its checks. |
Tokens and conventions: API.
Troubleshooting
| What you see | Cause and fix |
|---|---|
HTTP 403 Forbidden on every check, while the site works in your browser | A WAF or bot protection blocks the check. Allow the User-Agent lampwick-uptime, or monitor a health endpoint that it doesn't filter. |
timed out after 10 s | The server took longer than 10 seconds to send response headers. Monitor a lighter endpoint, or find what makes it slow. |
connection failed: … | DNS, the connection or TLS failed; the rest of the message says why. An expired or invalid certificate shows here too. |
more than 5 redirects | The URL redirects in a loop or through too many hops. Monitor the final URL. |
address is not public | The URL points to a private or loopback address. Lampwick only checks public addresses. |
this team already has the maximum of 100 uptime monitors | Delete monitors you no longer need, in any project of the team. |
To show your monitors to customers, create a status page.