2026-04-11 21:11:15 +02:00
2026-04-11 21:11:15 +02:00
2026-04-11 16:30:18 +02:00
2026-04-11 21:11:15 +02:00
2026-04-11 21:11:15 +02:00
2026-04-11 16:30:18 +02:00

RMon: Remote Monitoring & Acquisition System

RMon is a lightweight, high-performance remote data acquisition and monitoring system. It consists of a statically-linked Agent that runs on remote Linux machines and a cross-platform UI that manages the agent lifecycle and visualizes data in real-time.

Key Features

  • Zero-Dependency Agent: Fully static musl binary. Copy and run on any Linux kernel ≥ 3.2.
  • VSCode-Style Deployment: The UI automatically deploys and starts the agent over SSH. No manual installation required on the remote side.
  • Multi-Source Acquisition: Support for UDP streams, CSV files, and custom Shell commands with Regex parsing.
  • Optimized Storage: Real-time circular buffers for live display and append-only binary logs for persistent historical data.
  • Real-Time Visualization: High-performance plotting using egui and egui_plot.

Project Structure

  • rmon-agent/: The remote server that collects and stores data.
  • rmon-ui/: The desktop application for monitoring and management.
  • rmon-common/: Shared protocol definitions and data models.
  • docs/: Technical specifications and architectural details.

Quick Start

1. Build the Agent (Static)

The agent must be built for the target architecture. For a standard x86_64 Linux target:

cargo build --release --target x86_64-unknown-linux-musl -p rmon-agent

2. Run the UI

cargo run -p rmon-ui

3. Connect

  1. Enter the SSH Host (alias from your ~/.ssh/config).
  2. Click Connect. The UI will automatically:
    • Check if the agent is running on the remote host.
    • Deploy the binary to ~/.rmon/agent if missing.
    • Start a persistent instance.
  3. Select signals from the tree to begin plotting.

Documentation

S
Description
No description provided
Readme 164 KiB
Languages
Rust 98.9%
Makefile 1.1%