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.
Web Interface
Section titled “Web Interface”Logs are accessible from Settings > General > Logs in the web interface.
Service Selector
Section titled “Service Selector”A dropdown at the top of the log viewer lets you select which service to view:
| Service | systemd Unit | Description |
|---|---|---|
| Management Server | meridian-management | Management server logs — API requests, database operations, ONVIF events, alarm processing |
| MediaMTX | meridian-mediamtx | RTSP relay and WebRTC streaming logs — connection status, stream errors, codec negotiation |
| Recorder (per server) | meridian-recorder | Recording 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.
Controls
Section titled “Controls”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.
Command Line
Section titled “Command Line”For direct access on the server, use journalctl with the appropriate systemd unit name:
Management Server
Section titled “Management Server”# Follow live logssudo journalctl -u meridian-management -f
# Last 200 linessudo journalctl -u meridian-management -n 200
# Logs since a specific timesudo journalctl -u meridian-management --since "2026-04-03 10:00:00"
# Logs within a time rangesudo journalctl -u meridian-management --since "10:00" --until "11:00"Recorder Daemon
Section titled “Recorder Daemon”sudo journalctl -u meridian-recorder -fsudo journalctl -u meridian-recorder -n 200MediaMTX
Section titled “MediaMTX”sudo journalctl -u meridian-mediamtx -fsudo journalctl -u meridian-mediamtx -n 200Key Log Identifiers
Section titled “Key Log Identifiers”When searching through logs, these identifiers help locate relevant entries:
| Identifier | Context |
|---|---|
camera_id | UUID of the camera — appears in recording, detection, and streaming logs |
server_id | UUID of the recording server — appears in heartbeat and registration logs |
segment | Segment file path — appears when segments are started, completed, or indexed |
ffmpeg | FFmpeg process events — spawn, exit, restart, error codes |
mediamtx | MediaMTX stream events — RTSP connection, codec detection, reader/writer counts |
onvif | ONVIF operations — discovery, event subscription, time sync |
detection | AI detection events — inference results, zone filtering, event creation |
alarm | Alarm lifecycle — trigger, escalation, acknowledgement, closure |
Common Log Patterns
Section titled “Common Log Patterns”Healthy Camera Pipeline
Section titled “Healthy Camera Pipeline”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.mp4INFO Segment indexed: camera={camera_id} start=2026-04-03T14:30:00 end=2026-04-03T14:40:00Camera Connection Failure
Section titled “Camera Connection Failure”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 foundMediaMTX Stream Issue
Section titled “MediaMTX Stream Issue”WARN [mediamtx] {camera_id}: no readers for 30s, closing sourceERROR [mediamtx] {camera_id}: TCP connection refusedINFO [mediamtx] {camera_id}: source ready, 1 reader(s)