Skip to content

Logs

Meridian VMS provides access to service logs through the web interface and via the command line. Logs are the primary tool for diagnosing recording failures, connectivity issues, and detection problems.

Logs are accessible from Settings > General > Logs in the web interface.

A dropdown at the top of the log viewer lets you select which service to view:

Servicesystemd UnitDescription
Management Servermeridian-managementManagement server logs — API requests, database operations, ONVIF events, alarm processing
MediaMTXmeridian-mediamtxRTSP relay and WebRTC streaming logs — connection status, stream errors, codec negotiation
Recorder (per server)meridian-recorderRecording daemon logs — FFmpeg process management, segment completion, heartbeat, detection events

For multi-server deployments, each recording server appears as a separate entry in the dropdown. Remote recorder logs are proxied through the management API, so you can view logs from any recording server without SSH access.

Line count : Configure the number of log lines to display, from 100 to 5,000 lines. Higher line counts are useful for tracing issues that span longer time periods but may take longer to load for remote servers.

Auto-scroll : When enabled, the log viewer automatically scrolls to the bottom as new lines arrive. Disable auto-scroll when reviewing historical log entries to prevent the view from jumping.

For direct access on the server, use journalctl with the appropriate systemd unit name:

Terminal window
# Follow live logs
sudo journalctl -u meridian-management -f
# Last 200 lines
sudo journalctl -u meridian-management -n 200
# Logs since a specific time
sudo journalctl -u meridian-management --since "2026-04-03 10:00:00"
# Logs within a time range
sudo journalctl -u meridian-management --since "10:00" --until "11:00"
Terminal window
sudo journalctl -u meridian-recorder -f
sudo journalctl -u meridian-recorder -n 200
Terminal window
sudo journalctl -u meridian-mediamtx -f
sudo journalctl -u meridian-mediamtx -n 200

When searching through logs, these identifiers help locate relevant entries:

IdentifierContext
camera_idUUID of the camera — appears in recording, detection, and streaming logs
server_idUUID of the recording server — appears in heartbeat and registration logs
segmentSegment file path — appears when segments are started, completed, or indexed
ffmpegFFmpeg process events — spawn, exit, restart, error codes
mediamtxMediaMTX stream events — RTSP connection, codec detection, reader/writer counts
onvifONVIF operations — discovery, event subscription, time sync
detectionAI detection events — inference results, zone filtering, event creation
alarmAlarm lifecycle — trigger, escalation, acknowledgement, closure
INFO Starting FFmpeg for camera {camera_id}
INFO FFmpeg process started (PID: 12345)
INFO Segment completed: /recordings/{server_id}/{camera_id}/2026/04/03/1430.mp4
INFO Segment indexed: camera={camera_id} start=2026-04-03T14:30:00 end=2026-04-03T14:40:00
ERROR FFmpeg exited with code 1 for camera {camera_id}
WARN Restarting FFmpeg for camera {camera_id} (attempt 2, backoff 10s)
ERROR FFmpeg exited with code 234 for camera {camera_id}: codec parameters not found
WARN [mediamtx] {camera_id}: no readers for 30s, closing source
ERROR [mediamtx] {camera_id}: TCP connection refused
INFO [mediamtx] {camera_id}: source ready, 1 reader(s)