<b>Q: My monitor says the site is up, but users get 500 errors. Why?</b>
A: You're almost certainly running a TCP or ping check, not an HTTP one. A TCP check only confirms the port answers and the server accepted a connection. It says nothing about what the app does after that. PHP-FPM can be dead, the database can be down, and the socket still opens fine.
Fix it in two steps:
— Switch to an HTTP(S) check that asserts on the status code (2xx only, treat 5xx as down).
— Add a keyword assertion on a string that only renders when the page truly works, like a logged-in nav item or a product price.
Want it tighter? Hit a dedicated /healthz route that pings your DB and cache, so a broken dependency trips the alert.
Got a question? Drop it in the comments.
Pingback Clinic
@PingbackClinic
<b>Q: My monitor says the site is up, but users get 500 errors. Why?</b>
Этот пост опубликован в Telegram-канале Pingback Clinic. Подписаться можно по ссылке: @PingbackClinic.