Skip to content

Monitoring reference

Lookup catalogs for monitoring HoloMUSH: health-check endpoints, the Prometheus metric set, required PostgreSQL extensions, query-performance metrics, and log locations. For the procedures that use these, see Operations.

Both core (default port 9100) and gateway (default port 9101) expose:

EndpointDescription
/healthz/livenessProcess is alive
/healthz/readinessReady to accept traffic

HoloMUSH exposes Prometheus metrics at /metrics.

Connections and requests:

MetricTypeLabelsDescription
holomush_connections_totalCountertypeTotal connections (telnet, web)
holomush_requests_totalCountertype, statusTotal requests by type and outcome

Commands:

MetricTypeLabelsDescription
holomush_command_executions_totalCountercommand, source, statusCommand executions by name, source, and status (success, error, not_found, permission_denied, rate_limited)
holomush_command_duration_secondsHistogramcommand, sourceCommand execution latency
holomush_command_output_failures_totalCountercommandFailed to deliver command output to session
holomush_command_rate_limited_totalCountercommandCommands rejected by rate limiter
holomush_alias_expansions_totalCounteraliasAlias expansion count by alias name
holomush_alias_rollback_failures_totalCounterAlias rollback failures (requires manual fix)

Engine and resilience:

MetricTypeLabelsDescription
holomush_engine_failures_totalCounteroperationEngine operation failures (access checks, capabilities)
holomush_circuit_breaker_trips_totalCounterhandlerCircuit breaker activations per command handler
holomush_circuit_breaker_skipped_totalCounterhandlerSessions skipped due to open circuit breaker
holomush_ratelimiter_sessionsGaugeCurrent number of tracked rate-limit sessions

Go runtime and process metrics (go_*, process_*) are also exported automatically. The audit_projection_lag_seconds metric alerts at > 5s JetStream audit lag.

ExtensionPurposeRequired
pg_trgmFuzzy text matching for exitsYes
pg_stat_statementsQuery performance monitoringOptional

These pg_stat_statements columns drive the query-performance procedures:

MetricDescriptionAlert Threshold
mean_exec_timeAverage query execution time> 100ms
stddev_exec_timeVariance in execution timeHigh variance
rowsTotal rows returnedDepends on query
shared_blks_readBlocks read from diskHigh = slow
ComponentLocation
Core logsstdout (use log aggregation)
Gateway logsstdout (use log aggregation)
PostgreSQL/var/log/postgresql/ (varies)