Status
Live checks of the projects I run: availability, latency and TLS certificates, every ten minutes.
Checking status…
How this worksshowhide
- An EventBridge schedule fires every ten minutes.
- It invokes a Python Lambda that requests each service, and this site, concurrently, following redirects to the final status code and reading the TLS certificate from the same connection.
- Latency is the time from sending the request to receiving the response headers. Connection setup (DNS, TCP and the TLS handshake) is timed separately and not counted: it measures the checker as much as the site.
- A service is down on an error or a non-2xx/3xx status, degraded above one second, and operational otherwise.
- A service marked as usually off is still checked, but when it is down it reads offline in grey, sends no alert, and does not count toward the overall status.
- Each run is added to 30 days of daily counters. A day is red if any check failed, yellow if more than a tenth of its checks were slow, and a darker green if nothing was checked that day. Uptime is the share of all checks in the window that were not down.
- The Lambda writes the results to
status.jsonin this site's S3 bucket, with a 60-second cache lifetime, and CloudFront serves it. - This page fetches that file on load and again every minute.
- All of it, schedule to permissions, is Terraform in this site's repository.
Checks run from AWS us-east-1, so latency is measured from Virginia, not from you.