MetriBeacon
Menü
Deutsch

POST Einmaligen Server-Installationscode erstellen

/api/v1/agent/install-codes

Im Browser freigegebener Zehn-Minuten-Code für diesen Arbeitsbereich und das gewählte Profil. Erst beim Einlösen entsteht ein Monitor; Bearbeitungsrechte sind erforderlich. Gespeichert wird nur der Codehash.

Auf dieser Seite

Zugriff und Rechte

Im Browser freigegebener Zehn-Minuten-Code für diesen Arbeitsbereich und das gewählte Profil. Erst beim Einlösen entsteht ein Monitor; Bearbeitungsrechte sind erforderlich. Gespeichert wird nur der Codehash.

Browsersitzung: Cookie __Host-mb_session.

Parameter und Header

Keine Pfad-, Query- oder zusätzlichen Anfrageheader-Parameter.

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$AgentInstallSettingsJa—
$.workspace_idstring; {"format":"uuid"}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.device_idstring; {"format":"uuid"}NeinInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.namestringNeinInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.platformstring; {"enum":["unix","windows"]}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.template_idstring; {"const":"server_nas"}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.group_idsarray<string; {"format":"uuid"}>; {"maxItems":100}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.group_ids[]string; {"format":"uuid"}Ja—
$.interval_secondsinteger; {"minimum":1,"maximum":86400,"default":10}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.server_profileServerProfileNein—
$.server_profile.componentsarray<object>; {"maxItems":200} | nullJaErkannte oder ausdrücklich ausgewählte Serverkomponenten.
$.server_profile.components (anyOf 1)array<object>; {"maxItems":200}Nein—
$.server_profile.components (anyOf 1)[]objectJa—
$.server_profile.components (anyOf 1)[].addressstringNein—
$.server_profile.components (anyOf 1)[].familystringNein—
$.server_profile.components (anyOf 1)[].idstringJaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.
$.server_profile.components (anyOf 1)[].kindstringJaRessourcenart oder Messwerttyp aus den angegebenen Werten.
$.server_profile.components (anyOf 1)[].labelstring; {"maxLength":128,"minLength":1}JaAnzeigename der Komponente.
$.server_profile.components (anyOf 1)[].local_refstringNein—
$.server_profile.components (anyOf 1)[].namestringNeinLesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze.
$.server_profile.components (anyOf 1)[].pathstring; {"maxLength":1024}Nein—
$.server_profile.components (anyOf 1)[].portintegerNein—
$.server_profile.components (anyOf 1)[].projectstringNein—
$.server_profile.components (anyOf 1)[].protocolstringNein—
$.server_profile.components (anyOf 1)[].text_languagesobjectNein—
$.server_profile.components (anyOf 1)[].timeout_secondsintegerNein—
$.server_profile.components (anyOf 1)[].translationsobject; {"additionalProperties":false}Nein—
$.server_profile.components (anyOf 1)[].translations.deobjectNein—
$.server_profile.components (anyOf 1)[].translations.enobjectNein—
$.server_profile.components (anyOf 1)[].transportstringNein—
$.server_profile.components (anyOf 1)[].filesystem_identitystring; {"maxLength":256}NeinVom Agenten gemeldete Volumeidentität. Unverändert beibehalten, damit ein Ersatzvolume nicht die Historie eines anderen Volumes fortsetzt.
$.server_profile.components (anyOf 1)[].disk_identitystring; {"maxLength":256}Nein—
$.server_profile.components (anyOf 2)nullNein—
$.server_profile.selectionsarray<object>; {"maxItems":200} | nullJaGewählte Komponenten-/Parameterpaare mit Abtastintervallen.
$.server_profile.selections (anyOf 1)array<object>; {"maxItems":200}Nein—
$.server_profile.selections (anyOf 1)[]objectJa—
$.server_profile.selections (anyOf 1)[].component_idstringJaStabile Kennung der gewählten oder erkannten Komponente.
$.server_profile.selections (anyOf 1)[].interval_secondsinteger; {"maximum":86400,"minimum":0}JaAbtast- oder Prüfintervall in Sekunden innerhalb der angegebenen Grenzen.
$.server_profile.selections (anyOf 1)[].parameter_keystringJaStabile Parameterkennung aus dem Serverkatalog.
$.server_profile.selections (anyOf 2)nullNein—
$.server_profile.versionJSON; {"const":2}Ja—
$.server_profile.overviewobject; {"additionalProperties":false}NeinAusdrückliche Ziele für die Serverübersicht mit sechs Diagrammen; wählen Sie alle benötigten Messwerte aus.
$.server_profile.overview.system_idstring; {"maxLength":128}Ja—
$.server_profile.overview.filesystem_idstring; {"maxLength":128}Ja—
$.server_profile.overview.disk_idstring; {"maxLength":128}Ja—
$.server_profile.overview.network_idstring; {"maxLength":128}Ja—
$.server_profile.overview.platformstring; {"enum":["linux","darwin","windows"]}NeinPlattform der automatischen Übersicht. Nur unterstützte Messgrößen werden gewählt; nicht erkannte Datenträger- oder Netzwerkziele bleiben leer.
$.server_profile.filesystem_discoveryobject; {"additionalProperties":false}NeinOptionale Erkennung lokaler Dateisysteme mit einem Grundintervall von mindestens 10 Sekunden. Neue Server/NAS-Einrichtungen aktivieren sie. Bestehende Profile benötigen eine ausdrückliche Aktivierung. Manuell deaktivierte Messreihen bleiben erhalten.
$.server_profile.filesystem_discovery.modestring; {"enum":["off","local"]}Ja—
$.server_profile.filesystem_discovery.interval_secondsinteger; {"minimum":10,"maximum":86400}Ja—
$.server_profile.system_discoveryobject; {"additionalProperties":false}Nein—
$.server_profile.system_discovery.modestring; {"enum":["off","local"]}Ja—
$.server_profile.system_discovery.interval_secondsinteger; {"minimum":10,"maximum":86400}Ja—
$.server_profile.disk_io_interval_secondsinteger; {"minimum":1,"maximum":86400}Nein—
$.server_profile.global_interval_secondsinteger; {"minimum":1,"maximum":86400}NeinAusdrückliche globale Intervallauswahl. Jede Quelle behält ihr Plattformminimum; einzelne schnelle Reihen gelten nicht als globale Auswahl.

Antworten

application/json

FeldTyp und GrenzenErforderlichBedeutung
$AgentInstallCodeJa—
$.idstring; {"format":"uuid"}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.install_codestringJaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.expires_atstring; {"format":"date-time"}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.versionstringJaInstallationseinstellung oder vom Gerät gemeldeter Wert.

application/json

FeldTyp und GrenzenErforderlichBedeutung
$AgentInstallCodeJa—
$.idstring; {"format":"uuid"}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.install_codestringJaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.expires_atstring; {"format":"date-time"}JaInstallationseinstellung oder vom Gerät gemeldeter Wert.
$.versionstringJaInstallationseinstellung oder vom Gerät gemeldeter Wert.

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
forbidden

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
not_found

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
invalid_install
invalid_profile
invalid_groups

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
install_limit
creation_quota

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
release_unavailable
unavailable

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—

Wiederholungen und asynchrone Aufträge

Für diese Änderung gibt es keine allgemeine Wiederholungsgarantie. Prüfen Sie bei unklarer Antwort den betroffenen Eintrag, bevor Sie es erneut versuchen. Beachten Sie Wartezeiten aus Retry-After und fordern Sie abgelaufene Anmelde- oder Aktionscodes neu an.

Anfragebeispiele

Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.

Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.

shell
curl --fail-with-body --request POST 'https://metribeacon.com/api/v1/agent/install-codes' --header 'Accept: application/json' --header 'Cookie: __Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF' --header 'Origin: https://metribeacon.com' --header 'X-CSRF-Token: YOUR_CSRF' --header 'Content-Type: application/json' --data '{"workspace_id":"11111111-1111-4111-8111-111111111111","template_id":"server_nas","platform":"unix","group_ids":[],"interval_seconds":30}'
python
import urllib.request
headers = {'Accept': 'application/json', 'Cookie': '__Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF', 'Origin': 'https://metribeacon.com', 'X-CSRF-Token': 'YOUR_CSRF', 'Content-Type': 'application/json'}
request = urllib.request.Request('https://metribeacon.com/api/v1/agent/install-codes', headers=headers, method='POST', data='{"workspace_id":"11111111-1111-4111-8111-111111111111","template_id":"server_nas","platform":"unix","group_ids":[],"interval_seconds":30}'.encode())
with urllib.request.urlopen(request) as response:
    print(response.read().decode())
javascript
const response = await fetch("https://metribeacon.com/api/v1/agent/install-codes", {"method": "POST", "headers": {"Accept": "application/json", "Cookie": "__Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF", "Origin": "https://metribeacon.com", "X-CSRF-Token": "YOUR_CSRF", "Content-Type": "application/json"}, "body": "{\"workspace_id\":\"11111111-1111-4111-8111-111111111111\",\"template_id\":\"server_nas\",\"platform\":\"unix\",\"group_ids\":[],\"interval_seconds\":30}"});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());
go
package main
import ("fmt"; "io"; "net/http"; "strings")
func main() {
 req, err := http.NewRequest("POST", "https://metribeacon.com/api/v1/agent/install-codes", strings.NewReader("{\"workspace_id\":\"11111111-1111-4111-8111-111111111111\",\"template_id\":\"server_nas\",\"platform\":\"unix\",\"group_ids\":[],\"interval_seconds\":30}")); if err != nil { panic(err) }
 req.Header.Set("Accept","application/json")
 req.Header.Set("Cookie","__Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF")
 req.Header.Set("Origin","https://metribeacon.com")
 req.Header.Set("X-CSRF-Token","YOUR_CSRF")
 req.Header.Set("Content-Type","application/json")
 response, err := http.DefaultClient.Do(req); if err != nil { panic(err) }; defer response.Body.Close(); data, err := io.ReadAll(response.Body); if err != nil { panic(err) }; fmt.Printf("HTTP %d\n%s\n", response.StatusCode, data)
}
  • HTTP-API, OAuth und MCP

    Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.

  • GET Fortschritt der automatischen Servereinrichtung lesen

    Meldet den Eingang des ersten Lebenszeichens und ausgewählter Messwerte nach der Verbindung. Der ausstellende Browser kann den Fortschritt auch nach Ablauf des Codes lesen.

  • DELETE Unbenutzten Installationscode widerrufen

    Widerruft einen unbenutzten Code. Bereits verbundene Server und ihre Geräteschlüssel werden über die vorhandenen Monitor- und Schlüsselschnittstellen verwaltet.

  • POST Server mit Installationscode verbinden

    Legt den gebundenen Server, Profil, Gruppen und einen Geräteschlüssel aus dem lokal erzeugten Schlüsselhash atomar an oder verbindet sie. Identische Anfragen können sicher fortgesetzt werden; der private Geräteschlüssel kann eine gespeicherte Verbindung nach Ablauf des Codes wiederaufnehmen.