Skip to content

Widget- & Metriken-API

ENTWURF — Nur für interne Entwickler

Diese API-Referenz ist für interne Entwicklungsteams bestimmt.

Übersicht

Was es ist: Die Widget- und Metriken-API liefert operative Überwachungsdaten für die Discovery-Infrastruktur. Dies umfasst Systemressourcen-Metriken (CPU, Speicher, Festplatte), Web-Traffic-Metriken und Identitätserfassungsmetriken. Widgets kombinieren diese Metriken zu diagrammfähigen Datenstrukturen.

Beziehung zu Dashboard-Daten: Die Dashboard-Daten-API liefert Identitätslage-Daten (Konten, Bedrohungen, Gruppen). Diese Widget-API liefert Infrastruktur-Überwachungsdaten (CPU, Speicher, Erfassungsgesundheit). Beide fließen in das Dashboard-System von Control ein — Lagedaten für Identitätsrisiko-Widgets, operative Daten für Plattformzustands-Widgets.

Endpunkte

MethodePfadBeschreibungAuth
POST/internal/v1/logging/metricsRohe Metrik-Datenpunkte abfragenJWT
POST/internal/v1/logging/metrics/chartMetrikdaten formatiert für Diagramme abfragenJWT
GET/internal/v1/logging/dashboard/:didDashboard-Konfiguration mit Widget-Liste abrufenJWT

POST /internal/v1/logging/metrics/chart

Eine oder mehrere Metriken abfragen und diagrammfähige Daten mit Zeitstempeln, Linienreihen und Formatierungshinweisen erhalten.

Anfrage:

http
POST /internal/v1/logging/metrics/chart
Authorization: Bearer <token>
Content-Type: application/json

{
  "duration": 86400,
  "interval": 3600,
  "TickFormat": "l",
  "LabelFormat": "lll",
  "metricQuery": [
    {
      "metric": "proc.cpu.usage",
      "labelQuery": [
        { "label": [{ "key": "mod", "value": "collector.ad" }] }
      ],
      "dimension": "nid",
      "aggregate": "max",
      "name": "AD Collector CPU"
    }
  ]
}

WidgetQuery-Felder

FeldTypBeschreibung
startint64Abfragestart (Unix-Sekunden). Optional — Standard ist now - duration
endint64Abfrageende (Unix-Sekunden). Optional — Standard ist now
durationint64Zeitfenster in Sekunden (z. B. 86400 = 24 Stunden)
intervalint64Aggregations-Bucket-Größe in Sekunden (z. B. 3600 = 1 Stunde)
TickFormatstringAchsenbeschriftungsformat (z. B. "l" für Kurzdatum)
LabelFormatstringDatenbeschriftungsformat (z. B. "lll" für vollständiges Datum-Uhrzeit)
metricQueryMetricQuery[]Eine oder mehrere Metrikabfragen

MetricQuery-Felder

FeldTypBeschreibung
metricstringMetrikname (siehe Verfügbare Metriken)
labelQueryLabelQuery[]Label-Filter zur Eingrenzung der Metrik
dimensionstringDimension für die Gruppierung (siehe Dimensionen)
startint64Abfragestart für diese Metrik überschreiben
endint64Abfrageende für diese Metrik überschreiben
durationint64Dauer für diese Metrik überschreiben
intervalint64Intervall für diese Metrik überschreiben
aggregatestringAggregationsfunktion: sum, avg, min, max, lst
combinestring[]Dimensionen zum Kombinieren (mehrere Reihen zusammenführen)
namestringAnzeigebezeichnung für diese Metrikreihe

LabelQuery

FeldTypBeschreibung
labelLabel[]Array von Schlüssel-Wert-Paaren, die alle übereinstimmen müssen

Label

FeldTypBeschreibung
keystringLabel-Schlüssel (z. B. "mod", "nid")
valuestringLabel-Wert (z. B. "collector.ad", "node-001")

Antwort (200):

json
{
  "data": [1707609600, 1707613200, 1707616800],
  "lines": [
    {
      "id": "proc.cpu.usage-node-001",
      "labels": { "mod": "collector.ad", "nid": "node-001" },
      "metric": "proc.cpu.usage",
      "key": "node-001",
      "name": "AD Collector CPU",
      "type": "gauge",
      "unit": "%",
      "metricPoint": {
        "1707609600": 23.5,
        "1707613200": 45.2,
        "1707616800": 31.8
      }
    }
  ],
  "labelFormat": "lll",
  "tickFormat": "l",
  "start": 1707609600,
  "end": 1707696000,
  "interval": 3600,
  "timestamp": 1707696000000
}

Diagramm-Antwortfelder

FeldTypBeschreibung
dataint64[]Array von Zeitstempeln (Unix-Sekunden) für die X-Achse
linesChartLine[]Eine Reihe pro Metrik-Dimensionswert
lines[].idstringEindeutiger Reihenbezeichner
lines[].labelsmap<string, string>Label-Schlüssel-Wert-Paare für diese Reihe
lines[].metricstringMetrikname
lines[].keystringDimensionswert, den diese Reihe darstellt
lines[].namestringAnzeigebezeichnung
lines[].metricPointmap<int64, float64>Zeitstempel-zu-Wert-Zuordnung
labelFormatstringFormatierungshinweis für Beschriftungen
tickFormatstringFormatierungshinweis für Achsenbeschriftungen
startint64Tatsächlicher Abfragestart (Unix-Sekunden)
endint64Tatsächliches Abfrageende (Unix-Sekunden)
intervalint64Verwendetes Aggregationsintervall
timestampint64Zeitpunkt der Antwortgenerierung (ms seit Epoch)

POST /internal/v1/logging/metrics

Rohe Metrik-Datenpunkte ohne Diagrammformatierung abfragen.

Anfrage:

http
POST /internal/v1/logging/metrics
Authorization: Bearer <token>
Content-Type: application/json

{
  "metric": "proc.mem.usage",
  "labelQuery": [
    { "label": [{ "key": "mod", "value": "datastore" }] }
  ],
  "dimension": "nid",
  "duration": 3600,
  "interval": 300,
  "aggregate": "avg"
}

Antwort (200): Array von Metrikobjekten mit Label-Sets und Datenpunkten.


GET /internal/v1/logging/dashboard/:did

Eine Dashboard-Konfiguration einschließlich ihrer geordneten Widget-Liste abrufen.

Pfadparameter:

ParameterTypBeschreibung
didstringDashboard-Bezeichner (main oder identity)

Anfrage:

http
GET /internal/v1/logging/dashboard/main
Authorization: Bearer <token>

Antwort (200):

json
{
  "id": "main",
  "name": "main",
  "includeDefault": true,
  "widget": [
    "Controller CPU",
    "Controller Memory",
    "Registry CPU",
    "Web Services HTTP Request Summary",
    "Web Services Successful Logons"
  ],
  "userWidget": []
}

Dashboard-Felder

FeldTypBeschreibung
idstringDashboard-Bezeichner
namestringAnzeigename
includeDefaultboolOb Standard-System-Widgets einbezogen werden
widgetstring[]Geordnete Liste von Widget-Namen
userWidgetstring[]Vom Benutzer hinzugefügte Widgets

Verfügbare Metriken

Systemprozess-Metriken

MetrikBeschreibungLabel-FilterDiagrammtyp
proc.cpu.usageCPU-Auslastung in Prozentmod = ModulnameLineChart
proc.mem.usageSpeichernutzungmod = ModulnameLineChart

Modul-Labels für proc.cpu.usage und proc.mem.usage:

Label-Wert (mod)Dienst
controllerController
registryRegistry
collector.adActive Directory Collector
collector.azureAzure Collector
collector.oktaOkta Collector
collector.linuxLinux Collector
collector.windowsWindows Collector
datastoreDatastore
reportingReporting
entitystoreEntity Store
commshubCommunications Hub
auditAudit
apigwAPI Gateway (Web Services)
schedulerScheduler
idmapperID Mapper
dashboardDashboard

Dateisystem-Metriken

MetrikBeschreibungDiagrammtyp
sys.fs.freeFreier FestplattenspeicherLineChart
sys.fs.sizeGesamte FestplattenkapazitätLineChart
sys.fs.usageBelegter FestplattenspeicherLineChart

Web-Traffic-Metriken

MetrikBeschreibungDimensionDiagrammtyp
http.requestHTTP-Anfragenanzahll6n (Standort) oder ctn (Mandant)BarChart / PieChart
signin.successErfolgreiche AnmeldungenBarChart
signin.failureFehlgeschlagene AnmeldeversucheBarChart

Identitätserfassungs-Metriken

MetrikBeschreibungDimensionDiagrammtyp
identity.collection.accounts.totalGesamtzahl erkannter KontenText
identity.collection.accountsKonten nach Collectorcid (Collector-ID)BarChart / PieChart
identity.collection.accounts.newNeue Konten nach CollectorcidBarChart
identity.collection.accounts.stale.accountAnzahl veralteter KontenText
identity.collection.accounts.stale.passwordAnzahl veralteter PasswörterText
identity.collection.scanErfassungsscanscidBarChart / PieChart
identity.collection.scan.failFehlgeschlagene ScanscidBarChart

Dimensionen

Dimensionen steuern, wie Metrikdaten in separate Reihen gruppiert werden.

DimensionBeschreibungBeispiel
nidKnoten-ID — Gruppierung nach Discovery-Collector-KnotenEine Linie pro Collector-Knoten
modModulname — Gruppierung nach DienstmodulEine Linie pro Dienst
l6nStandort — Gruppierung nach geografischem StandortEin Segment pro Standort
ctnMandant — Gruppierung nach MandantEine Reihe pro Mandant
cidCollector-/Datenquellen-IDEin Balken pro Datenquelle
tidMandanten-IDMetriken pro Mandant
ageAltersschwellenwertFür Einteilung veralteter Passwörter/Konten

Aggregationsfunktionen

FunktionBeschreibung
sumSumme aller Werte im Bucket
avgDurchschnittswert im Bucket
minMinimaler Wert im Bucket
maxMaximaler Wert im Bucket
lstLetzter (aktuellster) Wert im Bucket

Vordefinierte Widgets

Haupt-Dashboard-Widgets

Dienstressourcen-Überwachung:

Widget-NameMetrikLabel-FilterDiagramm
Controller CPUproc.cpu.usagemod=controllerLineChart
Controller Memoryproc.mem.usagemod=controllerLineChart
Registry CPUproc.cpu.usagemod=registryLineChart
Registry Memoryproc.mem.usagemod=registryLineChart
Active Directory Collector CPUproc.cpu.usagemod=collector.adLineChart
Active Directory Collector Memoryproc.mem.usagemod=collector.adLineChart
Azure Collector CPUproc.cpu.usagemod=collector.azureLineChart
Azure Collector Memoryproc.mem.usagemod=collector.azureLineChart
Okta Collector CPUproc.cpu.usagemod=collector.oktaLineChart
Okta Collector Memoryproc.mem.usagemod=collector.oktaLineChart
Linux Collector CPUproc.cpu.usagemod=collector.linuxLineChart
Linux Collector Memoryproc.mem.usagemod=collector.linuxLineChart
Windows Collector CPUproc.cpu.usagemod=collector.windowsLineChart
Windows Collector Memoryproc.mem.usagemod=collector.windowsLineChart
Datastore CPUproc.cpu.usagemod=datastoreLineChart
Datastore Memoryproc.mem.usagemod=datastoreLineChart
Reporting CPUproc.cpu.usagemod=reportingLineChart
Reporting Memoryproc.mem.usagemod=reportingLineChart
Entitystore CPUproc.cpu.usagemod=entitystoreLineChart
Entitystore Memoryproc.mem.usagemod=entitystoreLineChart
Communications Hub CPUproc.cpu.usagemod=commshubLineChart
Communications Hub Memoryproc.mem.usagemod=commshubLineChart
Audit CPUproc.cpu.usagemod=auditLineChart
Audit Memoryproc.mem.usagemod=auditLineChart
Web Services CPUproc.cpu.usagemod=apigwLineChart
Web Services Memoryproc.mem.usagemod=apigwLineChart
Scheduler CPUproc.cpu.usagemod=schedulerLineChart
Scheduler Memoryproc.mem.usagemod=schedulerLineChart
ID Mapper CPUproc.cpu.usagemod=idmapperLineChart
ID Mapper Memoryproc.mem.usagemod=idmapperLineChart
Dashboard CPUproc.cpu.usagemod=dashboardLineChart
Dashboard Memoryproc.mem.usagemod=dashboardLineChart

Speicherüberwachung:

Widget-NameMetrikDiagramm
Data Storage Free Spacesys.fs.freeLineChart
Data Storage Capacitysys.fs.sizeLineChart
Data Storage Usagesys.fs.usageLineChart

Web-Traffic-Überwachung:

Widget-NameMetrikDimensionDiagramm
Web Services HTTP Request Summaryhttp.requestl6nPieChart
Web Services HTTP Request Historyhttp.requestl6nBarChart
Tenant HTTP Request Summaryhttp.requestctnPieChart
Tenant HTTP Request Historyhttp.requestctnBarChart
Web Services Successful Logonssignin.successBarChart
Web Services Failed Logonssignin.failureBarChart

Identitäts-Dashboard-Widgets

Widget-NameMetrikDimensionDiagramm
Total Discovered Accountsidentity.collection.accounts.totalText
Total Scansidentity.collection.scanBarChart
Accounts by Platform Summaryidentity.collection.accountscidPieChart
Accounts by Platform Historyidentity.collection.accountscidBarChart
Active Directory Accountsidentity.collection.accountscid (AD)BarChart
New Active Directory Accountsidentity.collection.accounts.newcid (AD)BarChart
Azure Accountsidentity.collection.accountscid (Azure)BarChart
Okta Accountsidentity.collection.accountscid (Okta)BarChart
Linux Host Accountsidentity.collection.accountscid (Linux)BarChart
Windows Host Accountsidentity.collection.accountscid (Windows)BarChart
AD Computers Accountsidentity.collection.accountscid (AD Computers)BarChart
New Accounts by Platformidentity.collection.accounts.newcidBarChart
Scans by Platform Summaryidentity.collection.scancidPieChart
Scans by Platform Historyidentity.collection.scancidBarChart
Stale Passwordsidentity.collection.accounts.stale.passwordText
Stale Accountsidentity.collection.accounts.stale.accountText

Diagrammtypen

TypBeschreibungAnwendungsfall
LineChartZeitreihen-LiniendiagrammCPU-/Speichertrends, Ressourcenauslastung im Zeitverlauf
BarChartKategorisches BalkendiagrammAnmeldeanzahlen, Konten nach Plattform, Scan-Verlauf
PieChartProportionales KreisdiagrammVerteilungszusammenfassungen (HTTP nach Standort, Konten nach Plattform)
TextEinzelne numerische WertanzeigeGesamtanzahlen (erkannte Konten, veraltete Passwörter)

Hydden Documentation and Training Hub