Monitoring

Know whether Daptin is serving the application.

Use process liveness, runtime statistics, logs, database-pool information, and live counters as inputs to the monitoring system you already operate.

Give every signal one meaning

SignalWhat it provesWhat it does not prove
GET /pingThe HTTP process can answer a small liveness request.Database, storage, providers, protocols, permissions, or a complete user journey.
GET /statisticsRuntime/process statistics exposed by the deployed release.That every value is healthy without a baseline and capacity model.
Application probeA representative read or write and its authorization checks work.All tables, roles, actions, or external dependencies.
Protocol/provider probeThe exact SMTP, IMAP, FTP, storage, or provider path tested is working.Other protocols, accounts, regions, or operations.

Collect without exposing internals publicly

Poll liveness from the same network path as the load balancer and collect statistics and logs through an operator-only path. Restrict diagnostic endpoints at the edge if they reveal deployment data. Keep clocks synchronized and attach instance, release, request, route, and tenant-safe correlation fields where available. Never log passwords, bearer tokens, provider credentials, or file bodies.

curl --fail --silent --show-error http://127.0.0.1:6336/ping
curl --fail --silent --show-error http://127.0.0.1:6336/statistics

Alert on user impact and exhaustion

  • Sustained liveness or readiness failure, not a single transient sample.
  • Elevated server errors, latency, or authorization failures relative to the normal baseline.
  • Database connection waits, exhaustion, storage capacity, and backup/restore failure.
  • Certificate expiry and renewal failure before clients are affected.
  • Mail backlog/retries, scheduled-work delay, provider failure, and cluster degradation when those services are used.

Set initial thresholds from representative load and revise them from incidents. This guide cannot supply one safe global number for every workload.

Make every alert actionable

Each alert needs an owner, severity, user impact, dashboard/log query, immediate containment, escalation path, and recovery check. Test alert delivery and the runbook during a controlled failure. After recovery, verify a real application read/write and the affected dependency rather than clearing the alert on process restart alone.

Check release-specific health behavior. Liveness, readiness, and graceful-drain behavior have changed over time. Validate endpoints and response semantics against the exact deployed release before using them for orchestration.

Signals worth watching

Process liveness

Probe /ping and alert on failed responses or sustained latency. Define readiness around the dependencies your deployment actually requires.

Runtime statistics

Inspect server counters and resource information when traffic or failure patterns change.

Database pool

Watch open, idle, and waiting connections for evidence of exhaustion or poor sizing.

Logs and history

Retain structured operational logs and use record history for application-level investigation.

Add monitoring before the launch.