Monitoring & Logs
Health checks
# From the server itself - bypasses any CDN/proxy, isolates whether
# the app process itself thinks it's healthy
curl -s http://localhost:8080/actuator/health
# Through the full public path - this is exactly what an external
# uptime checker polls
curl -s https://your-domain/actuator/health
# Docker's own healthcheck verdict for the container
sudo docker inspect <container> --format '{{.State.Health.Status}}'Two different kinds of application logs
Don’t confuse these when searching a log aggregator:
- App/business logs — regular application logging calls, always present.
- Per-request logs — one line per completed HTTP request (method, path, status, duration). If you only see startup/business logs and no per-request lines, confirm the deployed build actually includes the request-logging filter — it’s easy for an older running image to predate a filter that was added later.
Log shipper not delivering logs
If you ship logs to a hosted aggregator (e.g. via a sidecar/shipper container), check the shipper’s own logs first — the shipper container itself can stay “running” indefinitely even while every batch it tries to send is failing, since the container’s own health has no visibility into whether its pushes are actually succeeding.
“Method not allowed” on every batch: the push URL is missing its specific API path (e.g. a log-push endpoint often requires the exact path, not just the bare host) — posting to the bare host root returns a generic “method not allowed,” not an obviously-wrong 404.
“Invalid scope” or unauthorized on every batch: the API key authenticates but lacks the specific write scope the push endpoint requires, or the configured user/tenant ID doesn’t match the tenant the key actually belongs to.
Fix for both: double-check the exact push URL and scope against your provider’s own “sending logs” setup page — copy values directly rather than retyping or guessing at the format. After correcting a secret, either redeploy or force-recreate just the shipper container to pick up the change immediately.