Zum Inhalt springen

PRTG Auto-Register — wiederverwendbare PrtgConnection

Mit einer PrtgConnection kann RSGO sich selbst in PRTG eintragen, wenn ein ProductDeployment hochkommt, und sich wieder austragen, wenn es entfernt wird. Im Gegensatz zu Variant 4 (HTTP Data Advanced Sensor) und Variant 1 (Device Template Bundle), die PRTG-seitig manuell konfiguriert werden, ist diese Variante bidirektional: RSGO kennt PRTG und ruft dessen API auf.

  1. Du legst einmal eine PrtgConnection in /settings/prtg-connections an: URL + PRTG-API-Token + optional eine Template-Device-ID in PRTG, die RSGO pro Deployment dupliziert.
  2. Beim Deploy linkst du das ProductDeployment an die Connection (über die API oder die Detail-Seite — siehe “Linken” unten).
  3. Sobald das ProductDeployment in den Status Running wechselt, ruft RSGO die PRTG-API auf:
    • duplicateobject.htm → dupliziert das Template-Device, vergibt einen Namen RSGO: <product> (<version>), setzt den Host auf die RSGO-URL
    • pause.htm?action=1 → unpaused das neue Device, sodass PRTG zu pollen anfängt
    • Die zurückgegebene PRTG-Device-ID wird auf dem ProductDeployment gespeichert.
  4. Beim Removed- oder Superseded-Event löscht RSGO das Device per deleteobject.htm.

Alle Aufrufe sind best-effort: ein PRTG-Ausfall blockiert den RSGO-Deploy nicht, nur die Sync-Operation wird in den RSGO-Logs als Warning markiert.

Lege in PRTG einmalig ein Template-Device an, das alle Sensoren enthält, die RSGO pro Deployment haben soll. Sensoren auf Pause stellen, damit das Template selbst nichts pollt. Notiere dir die Object ID des Devices (sichtbar in der URL beim Bearbeiten: device.htm?id=4221 → ID = 4221).

Optional: das Variant 1 Device-Template-Bundle als Ausgangspunkt nutzen — es liefert das Sensoren-Set, das RSGO erwartet.

In PRTG: Setup → System Administration → User Accounts → eigener User → Passhash sichtbar (oder, ab PRTG 23.x, echter API-Token).

Settings hat eine eigene Kachel PRTG Connections für den Einstieg:

Settings-Index mit der PRTG-Connections-Kachel zwischen den anderen Konfigurations-Tiles

Beim ersten Aufruf ist die Liste noch leer. + Add connection öffnet das Formular:

Add-PRTG-Connection-Formular mit Name, URL, API token, Template Device ID und Verify-TLS-Checkbox

FeldWert
Nameprod-prtg (Frei wählbar, erscheint im Deploy-Wizard)
URLhttps://prtg.example.local
API token / passhashAus Schritt 2
Template Device ID4221 aus Schritt 1 — leer lassen schaltet Auto-Register aus
Verify TLS certificateAushaken, wenn PRTG ein Self-Signed Cert hat (sehr häufig)

Auf Create klicken. Der Token wird in der RSGO-DB verschlüsselt — du siehst ihn danach nie wieder in der UI. Anschließend zeigt die Liste den neuen Eintrag:

PRTG-Connections-Liste mit dem neu erstellten Eintrag, Spalten für URL, Template-Device und Last-used

Auf der Deployment-Detail-Seite findest du eine PRTG monitoring Card mit zwei Tabs:

  • Saved connection — Connection-Dropdown (für diese Variante)
  • Inline (ad-hoc) — direkt URL+Token eintragen (siehe V2)

Saved-Connection-Tab der PRTG-monitoring-Card auf der Deployment-Detail-Seite mit Dropdown zum Auswählen der Connection

Alternativ per REST-API:

Terminal-Fenster
curl -X PUT https://rsgo.local/api/deployments/<deployment-id>/prtg-connection \
-H "X-Api-Key: rsgo_..." \
-H "Content-Type: application/json" \
-d '{"id":"<deployment-id>","prtgConnectionId":"<connection-id>"}'

prtgConnectionId: null setzt den Link wieder zurück.

Beim nächsten Lifecycle-Event (Running → Register, Removed/Superseded → Deregister) macht RSGO den PRTG-API-Call automatisch.

  • API-Token verschlüsselt: gespeichert mit demselben ICredentialEncryptionService, der auch für Docker-Registry-Credentials und SNMPv3-Passphrases zuständig ist.
  • Token-Leak-Impact: Read+Write-Zugriff auf PRTG. Behandle die Connection wie eine Registry-Credential.
  • TLS: Verify TLS standardmäßig aktiv. Bei Self-Signed-Certs explizit aushaken — RSGO logged das per Connection.
  • Berechtigungen in PRTG: Der PRTG-User braucht nur Lese- und Schreibrechte auf der Gruppe, in der die RSGO-Devices liegen. Kein PRTG-Admin nötig.
TriggerRSGO ruftZweck
ProductDeployment → RunningPOST /api/duplicateobject.htm?id=<template>&name=<n>&host=<h>Device aus Template anlegen
(gleich danach)GET /api/pause.htm?id=<new-device-id>&action=1Device unpausen, Polling startet
ProductDeployment → Removed oder SupersededPOST /api/deleteobject.htm?id=<device-id>&approve=1Device löschen
(Healthcheck der Connection)GET /api/getstatus.jsonLiveness + Token-Validierung

Vollständige PRTG-API-Doku: https://www.paessler.com/manuals/prtg/application_programming_interface_api_definition

Variant 4 (HTTP Sensor)Variant 1 (Bundle)Variant 3 (Connection)
Setup-Aufwand5 min in PRTG10–15 min in PRTG (Admin)5 min in PRTG + RSGO-Connection
Auto-Register neuer Deployments✓ (Auto-Discovery, alle 60 min)✓ sofort beim Deploy
Auto-Deregister bei Remove
RSGO ruft PRTG-API auf
Sensor-Granularitätaggregierte ChannelsPer-Stack/Per-Serviceaus Template-Device

Variant 3 macht primär dann Sinn, wenn dir das Auto-Cleanup wichtig ist oder du in einem CI/CD-Setup viele Deployments hochfahren/abreißen lässt.