3.0 KiB
3.0 KiB
RMM Agent BSD (OPNsense)
FreeBSD/OPNsense Agent für das RMM-System. Läuft als OPNsense-Plugin und liefert Systemdaten via Heartbeat sowie Remote-Commands über WebSocket.
Unterstützte Systeme
- OPNsense (FreeBSD, amd64)
Installation via OPNsense Plugin
Das Plugin (os-rmm-agent-*.pkg) wird über das OPNsense-Paketmanagement installiert:
# Auf der OPNsense-Firewall (SSH)
git clone https://git.cynfo.net/christian/rmm2.git /tmp/rmm
cd /tmp/rmm
scp opnsense-plugin/install.sh root@FIREWALL_IP:/tmp/
ssh root@FIREWALL_IP "/bin/sh /tmp/install.sh"
Anschliessend im OPNsense WebGUI unter Services → RMM Agent konfigurieren.
Konfiguration (WebGUI)
| Feld | Beschreibung |
|---|---|
| Backend URL | https://BACKEND_IP:8443 |
| API Key | API-Key aus backend/config.yaml |
| Agent Name | Anzeigename im RMM-Frontend |
Manuell kompilieren & deployen
# Auf dem Entwicklungsrechner (mit Go 1.24+)
cd /opt/rmm
make agent
# Binary auf Firewall kopieren und installieren
scp build/rmm-agent root@FIREWALL_IP:/tmp/
scp agent-bsd/install.sh root@FIREWALL_IP:/tmp/
ssh root@FIREWALL_IP "/bin/sh /tmp/install.sh"
Konfigurationsdatei
# /usr/local/etc/rmm-agent/config.yaml
backend_url: "https://BACKEND_IP:8443"
api_key: "DEIN_API_KEY"
agent_name: "OPN.intra.kunde.de"
insecure: true # false wenn gültiges TLS-Zertifikat vorhanden
Service-Management (FreeBSD)
# Status
service rmm-agent status
# Start / Stop / Restart
service rmm-agent start
service rmm-agent stop
service rmm-agent restart
# Logs
tail -f /var/log/rmm-agent.log
Gesammelte Daten (Heartbeat alle 60s)
| Collector | Daten |
|---|---|
| Hardware | Hersteller, Modell, Seriennummer, BIOS |
| CPU | Modell, Cores, Threads, Auslastung |
| Memory | Total, Used, Free |
| Disks | ZFS Datasets, Belegung, Mountpoints |
| Network | Interfaces, IPs, Status, MAC, Statistiken |
| Services | Laufende OPNsense-Dienste |
| WireGuard | Tunnel, Peers, Transfer, Handshake |
| DHCP | Aktive Leases (KEA/ISC/dnsmasq) |
| Routing | Routing-Tabelle |
| Gateways | Status, RTT, Loss |
| Zertifikate | Ablaufdatum, Aussteller |
| Plugins | Installierte OPNsense-Plugins |
| Updates | Verfügbare Core + Package Updates |
| Cron | System-Crontab + OPNsense Jobs |
Remote-Commands (via WebSocket)
| Command | Beschreibung |
|---|---|
exec |
Beliebigen Shell-Befehl ausführen |
backup |
config.xml sichern |
update |
OPNsense Update (Core + Packages) |
major_update |
Major-Upgrade (2-Phasen) |
reboot |
Neustart |
tunnel_connect |
TCP-Tunnel öffnen (SSH, WebGUI, etc.) |
wg_add_peer |
WireGuard-Peer anlegen |
wg_delete_peer |
WireGuard-Peer löschen |
Hinweise (FreeBSD)
- Volle Pfade verwenden:
/usr/local/sbin/pluginctl,/usr/bin/netstat daemonstattnohupfür Hintergrundprozessecshhat kein$()— Agent verwendet/bin/sh -c- OPNsense Plugin-Cache nach View-Änderungen leeren
- PHP-Fehlerlog:
/var/log/php-fpm.log