Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller en översikt över servering av slutpunktshälsomått och visar hur du använder måttexport-API:et för att exportera slutpunktsmått till Prometheus och Datadog.
Slutpunktshälsomått mäter infrastruktur och mått, till exempel svarstid, begärandefrekvens, felfrekvens, CPU-användning, minnesanvändning osv. Detta visar hur din betjänande infrastruktur fungerar.
Krav
Läs åtkomst till önskad slutpunkt och personlig åtkomsttoken (PAT) som kan genereras i Inställningar i Databricks Mosaic AI-användargränssnittet för att få åtkomst till slutpunkten.
En befintlig modell som betjänar slutpunkten. Du kan verifiera detta genom att kontrollera slutpunktshälsan med följande:
curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]
Verifiera API:et för exportmått:
curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]/metrics
Hantera definitioner av slutpunktsmått
Mätvärde | Beskrivning |
---|---|
Svarstid (ms) | Samlar in medianen (P50) och den 99:e percentilen (P99) svarstider för tur och retur i Azure Databricks. Detta inkluderar inte ytterligare Databricks-relaterade svarstider som autentisering och hastighetsbegränsning |
Begärandefrekvens (per sekund) | Mäter antalet begäranden som bearbetas per sekund. Den här frekvensen beräknas genom att totalt antal begäranden inom en minut och sedan divideras med 60 (antalet sekunder på en minut). |
Felfrekvens för begäran (per sekund) | Spårar antalet HTTP-felrespons 4xx och 5xx per sekund. På samma sätt som förfrågningsfrekvensen beräknas den genom att det totala antalet misslyckade begäranden sammanställs inom en minut och divideras med 60. |
CPU-användning (%) | Visar den genomsnittliga cpu-användningsprocenten för alla serverrepliker. I samband med Databricks-infrastrukturen refererar en replik till noder för virtuella datorer. Beroende på dina konfigurerade samtidighetsinställningar skapar Databricks flera repliker för att effektivt hantera modelltrafik. |
Minnesanvändning (%) | Visar den genomsnittliga minnesanvändningsprocenten för alla serverrepliker. |
Förkonfigurerad samtidighet | Etablerad samtidighet är det maximala antalet parallella begäranden som systemet kan hantera. Förberedd samtidighet anpassas dynamiskt inom det förberäknade skalningsintervallens minimi- och maxgränser, och varierar beroende på inkommande trafik. |
GPU-användning (%) | Representerar den genomsnittliga GPU-användningen, enligt rapporter från NVIDIA DCGM-exportören . Om instanstypen har flera GPU:er spåras var och en separat (till exempel , gpu0 , gpu1 ..., gpuN ). Användningen är genomsnittlig för alla serverrepliker och samplas en gång i minuten.
Obs! Den ovanliga samplingen innebär att det här måttet är mest exakt under en konstant belastning.Visa denna mätning från Serving UI på fliken Mått på din serveringsslutpunkt. |
GPU-minnesanvändning (%) | Anger den genomsnittliga procentandelen använt rambuffertminne på varje GPU baserat på NVIDIA DCGM-exporterdata. Precis som med GPU-användning är det här måttet medelvärdet för repliker och samplas varje minut. Den är mest tillförlitlig under konsekventa belastningsförhållanden. Visa denna mätning från Serving UI på fliken Mått på din serveringsslutpunkt. |
integrering med Prometheus
Kommentar
Oavsett vilken typ av distribution du har i produktionsmiljön bör konfigurationen av datainsamlingen vara likartad.
Vägledningen i det här avsnittet följer Prometheus-dokumentationen för att starta en Prometheus-tjänst lokalt med docker.
Skriv en
yaml
konfigurationsfil och ge denprometheus.yml
namnet . Följande utgör ett exempel: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']
Starta Prometheus lokalt med följande kommando:
docker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
Gå till
http://localhost:9090
för att kontrollera om din lokala Prometheus-tjänst fungerar.Kontrollera Prometheus-skraparens status och avhjälp fel från:
http://localhost:9090/targets?search=
När målet är helt igång kan du ställa frågor mot de angivna måtten, t.ex.
cpu_usage_percentage
ellermem_usage_percentage
, i användargränssnittet.
Datadog-integrering
Datadog har en mängd olika agenter som kan distribueras i olika miljöer.
För demonstrationsändamål startar följande en MacOS-agent lokalt som skrapar uppgiftsslutpunkten för mätvärden i din Databricks-värd. Konfigurationen för att använda andra agenter är i ett liknande mönster.
Kommentar
Den preliminära konfigurationen för det här exemplet baseras på den kostnadsfria utgåvan.
Datadog erbjuder också en Azure Databricks-integrering som ansluter Datadog till din modell som betjänar slutpunkter för att övervaka slutpunktsmått utan kod. Se Datadog-dokumentationen för hur du ansluter din modell som hanterar konfiguration till Datadog.
Registrera ett Datadog-konto.
Installera OpenMetrics-integrering på din kontoinstrumentpanel så att Datadog kan acceptera och bearbeta OpenMetrics-data.
Följ Datadog-dokumentationen för att få igång din Datadog-agent. I det här exemplet använder du alternativet DMG-paket för att installera allt, inklusive
launchctl
ochdatadog-agent
.Leta upp din OpenMetrics-konfiguration. I det här exemplet är konfigurationen på
~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default
. Följande är en exempelkonfigurationsfilyaml
.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-text
Starta Datadog-agenten med
launchctl start com.datadoghq.agent
.Varje gång du behöver göra ändringar i konfigurationen måste du starta om agenten för att hämta ändringen.
launchctl stop com.datadoghq.agent launchctl start com.datadoghq.agent
Kontrollera agenthälsan med
datadog-agent health
.Kontrollera agentstatus med
datadog-agent status
. Du bör kunna se ett svar som liknar följande. Om inte, felsök med felmeddelandet. Potentiella problem kan bero på en pat-token som har upphört att gälla eller på en felaktig URL.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)
Agentstatus kan också visas från användargränssnittet på:http://127.0.0.1:5002/.
Om din agent är i full gång kan du gå tillbaka till din Datadog-instrumentpanel för att visa metrikdata. Du kan också skapa en övervakare eller avisering baserat på måttdata:https://app.datadoghq.com/monitors/create/metric.