aprs.me/docs/infrastructure/observability.md

1.5 KiB

Observability

Metrics

PromEx (Aprsme.PromEx)

Prometheus-compatible metrics exposed at /metrics (PromEx plugin). Custom plugin: Aprsme.PromEx.Plugins.Aprsme

Telemetry

telemetry_metrics + telemetry_poller for application-level metrics:

  • Aprsme.Telemetry.DatabaseMetrics — DB query performance
  • Aprsme.ApiMetrics — API usage tracking

Error Tracking

ErrorTracker

Self-hosted error tracking dashboard at /errors (authenticated). Configuration: error_tracker hex package.

Error Handling

  • Aprsme.ErrorHandler — Application error handling
  • Aprsme.ErrorNotifier — Telemetry-based error notification

Logging

Log Sanitization

Aprsme.LogSanitizer — Strips PII from log output.

Log Filtering

AprsmeWeb.Plugs.LogFilter — Filters noisy paths (/health, /ready, /) from access logs.

Monitoring

Connection Monitor

Aprsme.ConnectionMonitor — Monitors APRS-IS connection health.

Status Page

/status (StatusLive.Index) — Real-time system status dashboard:

  • APRS-IS connection state
  • Uptime
  • Health score
  • Cluster status (when clustered)

Analytics

Aprsme.PlausibleAnalytics — Plausible analytics integration for page views.

Signal Handling

  • Aprsme.SignalHandler — OS signal handling (SIGTERM, SIGINT)
  • Aprsme.ShutdownHandler — Graceful shutdown coordination

Deployment Notifications

Aprsme.DeploymentNotifier — Notifies external systems of deploy events.