Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält eine Übersicht über die Bereitstellung von Endpunktintegritätsmetriken und zeigt, wie Sie die Metrikexport-API zum Exportieren von Endpunktmetriken in Prometheus und Datadog verwenden.
Endpunktintegritätsmetriken messen Infrastruktur und Metriken wie die Wartezeit, Anforderungsrate, Fehlerrate, CPU-Auslastung, Arbeitsspeicherauslastung usw. Anhand dieser Daten können Sie das Verhalten Ihrer Bereitstellungsinfrastruktur ermitteln.
Anforderungen
Lesezugriff auf den gewünschten Endpunkt und das persönliche Zugriffstoken (PAT), das in Settings in der Azure Databricks-Benutzeroberfläche generiert werden kann, um auf den Endpunkt zuzugreifen.
Ein vorhandener Model-Serving-Endpunkt. Das können sie überprüfen, indem Sie die Endpunktintegrität mit den folgenden Schritten überprüfen:
curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]Überprüfen der Exportmetrik-API:
curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]/metrics
Bereitstellen von Endpunktmetrikendefinitionen
| Metrik | Beschreibung |
|---|---|
| Latenz (ms) | Erfasst die Median- (P50) und das 99. Perzentil- (P99) Roundtrip-Latenzzeiten in Azure Databricks. Dies schließt keine zusätzlichen Databricks-bezogenen Latenzen wie Authentifizierung und Ratenlimitierung ein |
| Anforderungsrate (pro Sekunde) | Misst die Anzahl der pro Sekunde verarbeiteten Anfragen. Diese Rate wird berechnet, indem die Gesamtanzahl der Anforderungen innerhalb einer Minute berechnet und dann durch 60 dividiert wird (die Anzahl der Sekunden in einer Minute). |
| Anforderungsfehlerrate (pro Sekunde) | Verfolgt die Rate von 4xx- und 5xx HTTP-Fehlerantworten pro Sekunde. Ähnlich wie bei der Anforderungsrate wird sie berechnet, indem die Gesamtanzahl der nicht erfolgreichen Anforderungen innerhalb einer Minute aggregiert und durch 60 dividiert wird. |
| CPU-Auslastung (%) | Zeigt den durchschnittlichen Prozentsatz der CPU-Auslastung für alle Serverreplikate an. Im Kontext der Databricks-Infrastruktur bezieht sich ein Replikat auf virtuelle Computerknoten. Je nach Ihren konfigurierten Parallelitätseinstellungen erstellt Databricks mehrere Replikate, um den Modelldatenverkehr effizient zu verwalten. |
| Speicherauslastung (%) | Zeigt den durchschnittlichen Speicherauslastungsprozentsatz für alle Serverreplikate an. |
| Bereitgestellte Parallelität | Bereitgestellte Parallelität ist die maximale Anzahl paralleler Anforderungen, die das System verarbeiten kann. Die bereitgestellte Parallelität passt sich dynamisch innerhalb der Mindest- und Höchstgrenzen des Compute-Scale-out-Bereichs an und variiert je nach eingehendem Datenverkehr. |
| GPU-Auslastung (%) | Stellt die durchschnittliche GPU-Auslastung dar, wie vom NVIDIA DCGM -Exporter gemeldet. Wenn der Instanztyp über mehrere GPUs verfügt, wird jeder separat nachverfolgt (z. B. gpu0, gpu1, … gpuN). Die Auslastung wird für alle Serverreplikate gemittelt und es wird einmal pro Minute eine Stichprobe entnommen.
Anmerkung: Das seltene Sampling bedeutet, dass diese Metrik unter einer konstanten Last am genauesten ist.Zeigen Sie diese Metrik in der Bereitstellungsbenutzeroberfläche auf der Registerkarte Metriken des Bereitstellungsendpunkts an. |
| GPU-Speicherauslastung (%) | Gibt den durchschnittlichen Prozentsatz des verwendeten Frame-Pufferspeichers für jede GPU basierend auf NVIDIA DCGM-Exporterdaten an. Wie bei der GPU-Verwendung wird diese Metrik in Replikaten gemittelt und es wird jede Minute eine Stichprobe entnommen. Sie ist unter konsistenten Ladebedingungen am zuverlässigsten. Zeigen Sie diese Metrik in der Bereitstellungsbenutzeroberfläche auf der Registerkarte Metriken des Bereitstellungsendpunkts an. |
Prometheus-Integration
Hinweis
Unabhängig davon, welchen Bereitstellungstyp Sie in Ihrer Produktionsumgebung verwenden, sollte die Scraping-Konfiguration ähnlich sein.
Der Leitfaden in diesem Abschnitt folgt der Prometheus-Dokumentation, um einen Prometheus-Dienst lokal mit Docker zu starten.
Erstellen Sie eine
yaml-Konfigurationsdatei und benennen Sie sieprometheus.yml. Es folgt ein Beispiel:global: scrape_interval: 1m scrape_timeout: 10s scrape_configs: - job_name: 'prometheus' metrics_path: '/api/2.0/serving-endpoints/[ENDPOINT_NAME]/metrics' scheme: 'https' authorization: type: 'Bearer' credentials: '[PAT_TOKEN]' static_configs: - targets: ['dbc-741cfa95-12d1.dev.databricks.com']Starten Sie Prometheus lokal mit dem folgenden Befehl:
docker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheusNavigieren Sie zu
http://localhost:9090, um zu überprüfen, ob Ihr lokaler Prometheus-Dienst aktiv ist.Überprüfen Sie den Status des Prometheus-Scrapers und beheben Sie Fehler unter:
http://localhost:9090/targets?search=Sobald das Ziel vollständig ausgeführt wurde, können Sie die bereitgestellten Metriken wie
cpu_usage_percentageodermem_usage_percentageauf der Benutzeroberfläche abfragen.
Datadog-Integration
Datadog verfügt über eine Vielzahl von Agents, die in verschiedenen Umgebungen bereitgestellt werden können.
Zu Demonstrationszwecken startet Folgendes lokal einen macOS-Agenten, der den Metrik-Endpunkt auf Ihrem Databricks-Host abfragt. Die Konfiguration für die Verwendung anderer Agents weist ein ähnliches Muster auf.
Hinweis
Die vorläufige Einrichtung für dieses Beispiel basiert auf der kostenlosen Edition.
Datadog bietet auch eine Azure Databricks-Integration, die Datadog mit Ihrem Modell verbindet, das Endpunkte bedient, um Endpunktmetriken ohne Code zu überwachen. In der Datadog-Dokumentation erfahren Sie, wie Sie Ihre Modell-Servierkonfiguration mit Datadog verbinden.
Registrieren Sie ein Datadog-Konto.
Installieren Sie die OpenMetrics-Integration in Ihrem Kontodashboard, damit Datadog OpenMetrics-Daten akzeptieren und verarbeiten kann.
Richten Sie Ihren Datadog-Agent anhand der Datadog-Dokumentation ein. Verwenden Sie in diesem Beispiel die DMG-Paketoption, um alles einschließlich
launchctlunddatadog-agentzu installieren.Suchen Sie Ihre OpenMetrics-Konfiguration. In diesem Beispiel befindet sich die Konfiguration unter
~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default. Das folgende Beispiel stellt eineyaml-Konfigurationsdatei dar.instances: - openmetrics_endpoint: https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]/metrics metrics: - cpu_usage_percentage: name: cpu_usage_percentage type: gauge - mem_usage_percentage: name: mem_usage_percentage type: gauge - provisioned_concurrent_requests_total: name: provisioned_concurrent_requests_total type: gauge - request_4xx_count_total: name: request_4xx_count_total type: gauge - request_5xx_count_total: name: request_5xx_count_total type: gauge - request_count_total: name: request_count_total type: gauge - request_latency_ms: name: request_latency_ms type: histogram tag_by_endpoint: false send_distribution_buckets: true headers: Authorization: Bearer [PAT] Content-Type: application/openmetrics-textStarten Sie den Datadog-Agent mit dem Befehl
launchctl start com.datadoghq.agent.Sie müssen den Agent jedes Mal neu starten, wenn Sie Änderungen an Ihrer Konfiguration vornehmen müssen, damit die Änderung übernommen werden.
launchctl stop com.datadoghq.agent launchctl start com.datadoghq.agentÜberprüfen Sie den Status des Agents mit
datadog-agent health.Überprüfen Sie mit dem Befehl
datadog-agent statusden Status des Agents. Die Antwort sollte in etwa folgendermaßen aussehen. Falls nicht, beheben Sie den Fehler anhand der Fehlermeldung. Mögliche Probleme können auf ein abgelaufenes PAT-Token oder eine falsche URL zurückzuführen sein.openmetrics (2.2.2) ------------------- Instance ID: openmetrics: xxxxxxxxxxxxxxxx [OK] Configuration Source: file:/opt/datadog-agent/etc/conf.d/openmetrics.d/conf.yaml.default Total Runs: 1 Metric Samples: Last Run: 2, Total: 2 Events: Last Run: 0, Total: 0 Service Checks: Last Run: 1, Total: 1 Average Execution Time : 274ms Last Execution Date : 2022-09-21 23:00:41 PDT / 2022-09-22 06:00:41 UTC (xxxxxxxx) Last Successful Execution Date : 2022-09-21 23:00:41 PDT / 2022-09-22 06:00:41 UTC (xxxxxxx)Der Agentstatus kann auch auf der Benutzeroberfläche unter http://127.0.0.1:5002/ angezeigt werden.
Wenn Ihr Agent vollständig eingerichtet und in Betrieb ist, können Sie wieder zu Ihrem Datadog-Dashboard wechseln, um die Metriken abzufragen. Sie können auch einen Monitor oder eine Warnung basierend auf den Metrikdaten unter https://app.datadoghq.com/monitors/create/metric erstellen.