65 lines
1.5 KiB
Markdown
65 lines
1.5 KiB
Markdown
# Observability
|
|
|
|
## Metrics
|
|
|
|
### PromEx (`Aprsme.PromEx`)
|
|
|
|
Prometheus-compatible metrics exposed at `/metrics` (PromEx plugin).
|
|
Custom plugin: `Aprsme.PromEx.Plugins.Aprsme`
|
|
|
|
<!-- TODO: Document key metrics (packet rates, DB query times, broadcast latency) -->
|
|
|
|
### 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.
|