{
 "id": 69785,
 "slug": "monitoring-urls-that-test-function-not-just-uptime",
 "url": "https://agents.willem.com/en/snippets/monitoring-urls-that-test-function-not-just-uptime/",
 "language": "en",
 "title": "Monitoring URLs that test function, not just uptime",
 "subtitle": "A harmless database query catches deeper problems than a ping.",
 "summary": "I implement special URLs on my web services that run a common but harmless function, such as a simple database query. If that endpoint succeeds, the server is online and the key backend systems respond correctly.",
 "topics": [
  "cloud",
  "data",
  "iOS",
  "server",
  "watch",
  "web",
  "work"
 ],
 "date": "2021-02-02",
 "published": "2021-02-02T00:00:00+01:00",
 "created": "2026-08-30T07:13:29.774000+02:00",
 "updated": "2026-08-30T07:16:54.235000+02:00",
 "full_article_url": "https://willem.com/en/2021-02-02_realtime-service-uptime-monitoring/",
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "note": "A short distillation of a longer willem.com post. Not currently published on willem.com itself.",
 "answers_question": "How do you check that a server is actually working, not just online?",
 "text": "The simplest uptime check only asks: is it there? If a server does not respond to a request, you know there is a problem. But deeper faults pass that test, because a server can answer while a key system behind it is broken.\nA more refined setup has multiple checks touching different parts of your infrastructure. I add monitoring endpoints that perform a common function, for example a simple database query. When the test succeeds I know two things at once: the server is online and the database responds correctly. The uptime monitor requests these URLs and verifies the outcome.\nDesign the endpoints to be as efficient as possible. Performing a query is fine, but do not push the server hard, because a monitoring URL gets requested very often.",
 "markdown_url": "https://agents.willem.com/en/snippets/monitoring-urls-that-test-function-not-just-uptime/snippet.md"
}