RapidPM exposes Prometheus-compatible metrics and health check endpoints for monitoring system health and performance.
| Endpoint | URL | Format |
|---|---|---|
| Prometheus Metrics | /api/metrics |
Prometheus text |
| OnlyOffice Health | /api/v1/onlyoffice/health |
JSON |
# Local development
curl http://localhost:8080/api/metrics
# Production
curl https://rapidpm.uk/api/metrics
# Health check (JSON)
curl https://rapidpm.uk/api/v1/onlyoffice/health
See OnlyOffice Monitoring for full details.
| Metric | Type | Description |
|---|---|---|
onlyoffice_callback_duration_seconds |
Histogram | Callback processing latency |
onlyoffice_download_duration_seconds |
Histogram | Document download time |
onlyoffice_upload_duration_seconds |
Histogram | SFTP upload time |
onlyoffice_save_total |
Counter | Save operations (success/failure) |
onlyoffice_validation_rejected_total |
Counter | Validation failures |
onlyoffice_session_events_total |
Counter | User join/leave events |
onlyoffice_active_sessions |
Gauge | Active editing sessions |
onlyoffice_transition_locks |
Gauge | Held transition locks |
Endpoint: GET /api/v1/onlyoffice/health
Checks:
Example Response:
{
"status": "healthy",
"components": {
"redis": {"status": "healthy"},
"onlyoffice": {"status": "healthy"},
"sftp": {"status": "healthy"}
},
"metrics": {
"active_editing_sessions": 2,
"transition_locks_held": 0,
"pending_callbacks": 0
}
}
# prometheus.yml
scrape_configs:
- job_name: 'rapidpm'
static_configs:
- targets: ['rapidpm.uk:443']
scheme: https
metrics_path: /api/metrics
| Alert | Condition | Severity |
|---|---|---|
| OnlyOfficeCallbackSlow | P99 > 5s | Warning |
| OnlyOfficeSaveFailing | failures > 5/hour | Critical |
| OnlyOfficeValidationErrors | rejections > 10/hour | Warning |