GET Versionierten Vorlagenkatalog lesen
/api/v1/templates
Vorschläge aktivieren Alarme nicht automatisch. HTTP- und Laufvorlagen benötigen außerdem die jeweiligen Funktionsfreigaben.
Auf dieser Seite
Zugriff und Rechte
Vorschläge aktivieren Alarme nicht automatisch. HTTP- und Laufvorlagen benötigen außerdem die jeweiligen Funktionsfreigaben.
Browsersitzung: Cookie __Host-mb_session.
Maschinen-Verwaltungszugang in Authorization: Bearer. Beachten Sie die von der Operation benötigten Berechtigungen (Scopes).
Parameter und Header
Keine Pfad-, Query- oder zusätzlichen Anfrageheader-Parameter.
Anfragekörper
Kein Anfragekörper.
Antworten
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| $.alarm_suggestions_active_by_default | boolean | Ja | — |
| $.apply_available | boolean | Ja | — |
| $.templates | array<object> | Ja | — |
| $.templates[] | object | Ja | — |
| $.templates[].alarm_suggestions | array<object> | Ja | — |
| $.templates[].alarm_suggestions[] | object | Ja | — |
| $.templates[].alarm_suggestions[].kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.templates[].alarm_suggestions[].series_key | string | Nein | — |
| $.templates[].alarm_suggestions[].summary | string | Ja | — |
| $.templates[].alarm_suggestions[].summary_key | string | Ja | — |
| $.templates[].id | string | Ja | UUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf. |
| $.templates[].monitor_type | string | Ja | — |
| $.templates[].required_config | array<string> | Ja | — |
| $.templates[].required_config[] | string | Ja | — |
| $.templates[].series | array<object> | Ja | — |
| $.templates[].series[] | object | Ja | — |
| $.templates[].series[].expected_interval_seconds | integer | Ja | Erwartetes Abtastintervall in Sekunden. Bestimmt die Aktualitätsbewertung, garantiert aber keinen Dateneingang. |
| $.templates[].series[].key | string | Ja | — |
| $.templates[].series[].kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.templates[].series[].unit | string | Ja | Anzeigeeinheit einer numerischen Reihe; eingehende Werte werden dadurch nicht automatisch umgerechnet. |
| $.templates[].title | string | Ja | Kurze lesbare Bezeichnung der Antwort oder des Widgets. |
| $.templates[].title_key | string | Ja | — |
| $.templates[].version | integer | Ja | — |
| $.templates[].widgets | array<object> | Ja | — |
| $.templates[].widgets[] | object | Ja | — |
| $.templates[].widgets[].kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.templates[].widgets[].series_key | string | Nein | — |
| $.templates[].widgets[].title | string | Ja | Kurze lesbare Bezeichnung der Antwort oder des Widgets. |
| $.templates[].widgets[].title_key | string | Ja | — |
| $.templates[].chart_presets | ChartPresetRegistry | Nein | — |
| $.templates[].chart_presets.presets | array<object> | Ja | — |
| $.templates[].chart_presets.presets[] | object | Ja | — |
| $.templates[].chart_presets.presets[].comparison | boolean | Nein | — |
| $.templates[].chart_presets.presets[].component_kind | string | Ja | — |
| $.templates[].chart_presets.presets[].group | string | Ja | — |
| $.templates[].chart_presets.presets[].id | string; {"enum":["server-overview-cpu","server-overview-memory","server-overview-load","server-disk-total","server-overview-disk","server-overview-network","server-overview-filesystem","cpu-total","cpu-parts","cpu-guest","load","load-core","memory","swap","paging","swap-traffic","filesystem-capacity","filesystem-inodes","filesystem-bytes","filesystem-operations","filesystem-service_time","filesystem-time","disk-bytes","disk-operations","disk-service_time","disk-time","filesystem-states","disk-busy","disk-states","network-traffic","network-packets","network-errors","network-states","container-status","container-restarts","descriptors","uptime","server-overview-swap","server-overview-processes","filesystem-inode-usage","disk-weighted-latency","resource-pressure","oom-killed","storage-pool-health","storage-pool-progress"]} | Ja | — |
| $.templates[].chart_presets.presets[].members | array<object> | Ja | — |
| $.templates[].chart_presets.presets[].members[] | object | Ja | — |
| $.templates[].chart_presets.presets[].members[].axis | string; {"enum":["left","right"]} | Ja | — |
| $.templates[].chart_presets.presets[].members[].key | string | Ja | — |
| $.templates[].chart_presets.presets[].members[].mode | string; {"enum":["value","rate","increase"]} | Ja | — |
| $.templates[].chart_presets.presets[].members[].role | string; {"enum":["plot","limit","context"]} | Ja | — |
| $.templates[].chart_presets.presets[].members[].transform | string; {"enum":["busy_percent","pressure_percent","operations_mean"]} | Nein | — |
| $.templates[].chart_presets.presets[].members[].label_key | string | Nein | — |
| $.templates[].chart_presets.presets[].members[].optional | boolean | Nein | — |
| $.templates[].chart_presets.presets[].members[].denominator | string | Nein | — |
| $.templates[].chart_presets.presets[].presentation | string; {"enum":["line","area","bar","capacity","stack","state","duration"]} | Ja | — |
| $.templates[].chart_presets.presets[].stack_keys | array<string> | Nein | — |
| $.templates[].chart_presets.presets[].stack_keys[] | string | Ja | — |
| $.templates[].chart_presets.presets[].title_key | string | Ja | — |
| $.templates[].chart_presets.presets[].setup_preset | string; {"enum":["server-overview","server-overview-optional"]} | Nein | — |
| $.templates[].chart_presets.presets[].display_unit | string; {"enum":["auto","bits"]} | Nein | — |
| $.templates[].chart_presets.version | integer; {"minimum":1} | Ja | — |
| $.server_platform_capabilities | object | Nein | — |
| $.server_platform_capabilities.linux | array<string> | Ja | — |
| $.server_platform_capabilities.linux[] | string | Ja | — |
| $.server_platform_capabilities.darwin | array<string> | Ja | — |
| $.server_platform_capabilities.darwin[] | string | Ja | — |
| $.server_platform_capabilities.windows | array<string> | Ja | — |
| $.server_platform_capabilities.windows[] | string | Ja | — |
| $.server_platform_minimum_intervals | object; {"additionalProperties":false} | Nein | — |
| $.server_platform_minimum_intervals.linux | object | Ja | — |
| $.server_platform_minimum_intervals.darwin | object | Ja | — |
| $.server_platform_minimum_intervals.windows | object | Ja | — |
{
"alarm_suggestions_active_by_default": false,
"apply_available": false,
"templates": []
}| Stabile Fehlercodes |
|---|
| invalid_credential |
| unauthorized |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 401,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| csrf |
| insufficient_scope |
| invalid_origin |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 403,
"title": "Demo error",
"type": "about:blank"
}Wiederholungen und asynchrone Aufträge
Diese Operation liest oder prüft, ohne eine Ressourcenänderung anzuwenden. Beachten Sie Ratenlimits und Zugangslaufzeiten.
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.
curl --silent --show-error --output /dev/null --write-out "%{http_code}\n" \
--request GET \
--header @"$HOME/.config/metribeacon/headers.txt" \
"https://metribeacon.com/api/v1/templates"
import json
from pathlib import Path
from urllib.request import Request, HTTPRedirectHandler, build_opener
from urllib.error import HTTPError
headers = json.loads((Path.home() / ".config/metribeacon/headers.json").read_text())
request = Request("https://metribeacon.com/api/v1/templates", data=None, headers=headers, method="GET")
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, request, fp, code, message, headers, target):
return None
opener = build_opener(NoRedirect())
try:
with opener.open(request, timeout=10) as response:
print(response.status)
except HTTPError as error:
print(error.code)
error.close()
import { readFile } from "node:fs/promises";
import { homedir } from "node:os";
import { join } from "node:path";
const headers = JSON.parse(await readFile(join(homedir(), ".config/metribeacon/headers.json"), "utf8"));
const response = await fetch("https://metribeacon.com/api/v1/templates", {
method: "GET", headers, redirect: "manual",
signal: AbortSignal.timeout(10000),
});
console.log(response.status);
await response.body?.cancel();
package main
import (
"fmt"
"net/http"
"time"
"encoding/json"
"os"
"path/filepath"
)
func main() {
home, err := os.UserHomeDir(); if err != nil { panic("request failed; credentials and response omitted") }
raw, err := os.ReadFile(filepath.Join(home, ".config/metribeacon/headers.json")); if err != nil { panic("request failed; credentials and response omitted") }
var headers map[string]string
if json.Unmarshal(raw, &headers) != nil { panic("invalid local headers") }
request, err := http.NewRequest("GET", "https://metribeacon.com/api/v1/templates", nil)
if err != nil { panic("request failed; credentials and response omitted") }
for name, value := range headers { request.Header.Set(name, value) }
client := &http.Client{Timeout: 10*time.Second, CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
response, err := client.Do(request)
if err != nil { panic("request failed; credentials and response omitted") }
defer response.Body.Close()
fmt.Println(response.StatusCode)
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- POST Vorlage atomar im eigenen Arbeitsbereich anwenden
Wendet eine Vorlage atomar innerhalb der Kontogrenzen an. Server/NAS v2 reserviert Monitor, Reihen und ausgewählte Alarmplätze und liefert einen fortsetzbaren Auftrag; andere Vorlagen werden sofort angewendet. Wiederholte normalisierte Anfragen liefern den vorhandenen Monitor.
- POST Vorlagenkapazität ohne Reservierung prüfen
Prüfen Sie Ressourcen und Platzbedarf einer Vorlage, ohne sie anzulegen. Eine Vorschau reserviert keine Plätze; apply prüft den verfügbaren Platz erneut.
- POST Vorlage ohne Ressourcenänderung prüfen
Prüft Syntax, Version, Konfiguration und Alarmauswahl ohne Ressourcen zu reservieren. Eigentum und Kapazität werden bei plan und apply geprüft.