Last updated: 29 Oct 2024
Pingdom Bouncer canary check
This alert is raised by Pingdom when it cannot reach Bouncer’s canary route at https://www.direct.gov.uk/__canary__. This route queries all the database tables which Bouncer uses to serve all responses to users and checks that those tables are not empty. The canary should return 200; if it doesn’t then errors will be being served to users - see the table below for more details of the errors in each case.
Possible causes of errors on the canary route include:
- DNS problems for
www.direct.gov.uk
orbouncer.publishing.service.gov.uk
- check Bouncer’s Nginx logs via the logit.io dashboard to see which requests are getting through - CDN problems resulting in requests for
www.direct.gov.uk
not being correctly passed tohttps://bouncer.publishing.service.gov.uk
bouncer-*
ortransition-postgresql-slave-1
machines being unavailable- Bouncer’s dependencies being missing or having errors in its configuration
- memory leaks in Bouncer
- the app being unable to connect or authorise to the database
- the database or the required tables being missing or empty
- the
bouncer
role not havingSELECT
privileges on the required tables
The database tables checked by the canary route (in order) and the effect on requests for transitioned sites of errors when querying them:
Database table name | HTTP response when table inaccessible | HTTP response when table missing data |
---|---|---|
hosts
|
500 for all requests |
404 for all requests |
sites
|
500 for all requests |
500 for all requests |
mappings
|
500 for most requests |
404 for most requests |
whitelisted_hosts
|
500 for requests which should redirect to non-*.gov.uk /*.mod.uk /*.nhs.uk domains |
501 for those requests |
organisations
|
500 for most requests which shouldserve a 404 or 410 page |
500 for those requests |
There are other tables in the transition_production
database but they
are only used by Transition and not by Bouncer.