Synthetic Monitoring
m1nd runs scheduled synthetic tests against your network targets and streams results live to the dashboard via Server-Sent Events (SSE). All results are stored indefinitely in SQLite.
Test Types
| Test | What it measures | Default interval |
|---|---|---|
| ICMP Ping | RTT (avg/min/max), packet loss per host | 30s |
| DNS Resolution | Resolve time, resolved IPs, per nameserver | 60s |
| Speedtest | Download / Upload Mbps via speedtest-cli | 5 min |
| SNMP Polling | CPU%, memory%, port counts, uptime, sys_descr | 60s |
| IPsec Tunnels | Tunnel reachability via inner-IP probe ping | 30s |
How It Works
- The asyncio scheduler runs in the main thread and dispatches test jobs at configured intervals
- Results are streamed live to the dashboard via SSE — no polling, no page refresh
- All data is persisted to SQLite with full history retention
- The Baseline Learning system runs anomaly detection on every result
Dashboard
The synthetic monitoring dashboard shows real-time charts for all active tests:
- Ping: RTT trend lines, packet loss percentage
- DNS: Resolution time per nameserver
- Speedtest: Download/Upload bandwidth over time
- SNMP: CPU, memory, port utilisation per device
- IPsec: Tunnel status and probe latency
Synthetic Monitor Topology
The Synmon tab provides a D3-powered topology view showing all synthetic monitoring targets and their current status in a network graph layout.
Configuration
Configure targets and intervals in config.yaml:
yaml
targets:
- 8.8.8.8
- 1.1.1.1
- 192.168.1.1
dns_servers:
- 8.8.8.8
- 1.0.0.1
intervals:
ping: 30
dns: 60
speedtest: 300
snmp: 60
ipsec: 30Or manage targets directly from the web UI under Settings.