Delen via


Metrische gegevens voor eindpuntstatus bijhouden en exporteren naar Prometheus en Datadog

Dit artikel bevat een overzicht van metrische gegevens over eindpuntstatus en laat zien hoe u de API voor het exporteren van metrische gegevens voor metrische gegevens kunt gebruiken om metrische gegevens van eindpunten te exporteren naar Prometheus en Datadog.

Metrische gegevens over eindpuntstatus meten infrastructuur en metrische gegevens, zoals latentie, aanvraagsnelheid, foutpercentage, CPU-gebruik, geheugengebruik, enzovoort. Dit vertelt u hoe uw ondersteunende infrastructuur zich gedraagt.

Vereisten

  • Leestoegang tot het gewenste eindpunt en het persoonlijke toegangstoken (PAT) dat kan worden gegenereerd in Instellingen in de AI-gebruikersinterface van Databricks Mosaic voor toegang tot het eindpunt.

  • Een bestaand model dat eindpunt dient . U kunt dit valideren door de eindpuntstatus te controleren op het volgende:

    curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]
    
  • Valideer de API voor metrische exportgegevens:

    curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]/metrics
    

Metrische eindpuntdefinities verwerken

Metrisch Beschrijving
Latentie (ms) Legt de mediaan (P50) en 99e percentiel (P99) retourlatentietijden vast binnen Azure Databricks. Dit omvat geen aanvullende databricks-gerelateerde latenties, zoals verificatie en frequentiebeperking
Aanvraagsnelheid (per seconde) Meet het aantal verwerkte aanvragen per seconde. Deze snelheid wordt berekend door het totale aantal aanvragen binnen een minuut te berekenen en vervolgens te delen met 60 (het aantal seconden in een minuut).
Foutpercentage aanvragen (per seconde) Houdt de snelheid bij van 4xx- en 5xx HTTP-foutreacties per seconde. Net als bij de aanvraagsnelheid wordt het berekend door het totale aantal mislukte aanvragen binnen een minuut samen te aggregateren en door 60 te delen.
CPU-gebruik (%) Geeft het gemiddelde CPU-gebruikspercentage weer voor alle serverreplica's. In de context van de Databricks-infrastructuur verwijst een replica naar knooppunten van virtuele machines. Afhankelijk van uw geconfigureerde gelijktijdigheidsinstellingen maakt Databricks meerdere replica's om modelverkeer efficiënt te beheren.
Geheugengebruik (%) Geeft het gemiddelde percentage geheugengebruik weer voor alle serverreplica's.
Ingerichte gelijktijdigheid Ingerichte gelijktijdigheid is het maximum aantal parallelle aanvragen dat het systeem kan verwerken. Ingerichte gelijktijdigheid wordt dynamisch aangepast binnen de minimum- en maximumlimieten van het uitschaalbereik voor rekenkracht, variërend in reactie op inkomend verkeer.
GPU-gebruik (%) Vertegenwoordigt het gemiddelde GPU-gebruik, zoals gerapporteerd door de NVIDIA DCGM-exporteur . Als het exemplaartype meerdere GPU's heeft, wordt elk afzonderlijk bijgehouden (zoals, gpu0, gpu1, ... , ). gpuN Het gebruik wordt gemiddeld voor alle serverreplica's en één keer per minuut genomen. Opmerking: De onregelmatige steekproef betekent dat deze metrische waarde het meest nauwkeurig is onder een constante belasting.

Bekijk deze metriek vanuit de bedieningsinterface op het tabblad Metriek van uw service-eindpunt.
GPU-geheugengebruik (%) Geeft het gemiddelde percentage van het gebruikte framebuffergeheugen op elke GPU aan op basis van NVIDIA DCGM-exportgegevens. Net als bij GPU-gebruik wordt dit metrische gegeven gemiddeld over replica's en elke minuut genomen. Het is het betrouwbaarst onder consistente belastingsomstandigheden.

Bekijk deze metriek vanuit de bedieningsinterface op het tabblad Metriek van uw service-eindpunt.

Prometheus-integratie

Notitie

Ongeacht welk type implementatie u in uw productieomgeving hebt, moet de scrapingconfiguratie vergelijkbaar zijn.

De richtlijnen in deze sectie volgen de Prometheus-documentatie om een Prometheus-service lokaal te starten met behulp van docker.

  1. Schrijf een yaml configuratiebestand en geef het een prometheus.ymlnaam. Hier volgt een voorbeeld:

     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"]
    
  2. Start Prometheus lokaal met de volgende opdracht:

       docker run \
       -p 9090:9090 \
       -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
       prom/prometheus
    
  3. Navigeer om te http://localhost:9090 controleren of uw lokale Prometheus-service actief is.

  4. Controleer de status van de Prometheus-scraper en foutopsporingsfouten van: http://localhost:9090/targets?search=

  5. Zodra het doel volledig actief is, kunt u een query uitvoeren op de opgegeven metrische gegevens, zoals cpu_usage_percentage of mem_usage_percentage, in de gebruikersinterface.

Datadog-integratie

Notitie

De voorlopige installatie voor dit voorbeeld is gebaseerd op de gratis editie.

Datadog heeft verschillende agents die in verschillende omgevingen kunnen worden geïmplementeerd. Voor demonstratiedoeleinden start u een Mac OS-agent lokaal waarmee het eindpunt voor metrische gegevens in uw Databricks-host wordt verwijderd. De configuratie voor het gebruik van andere agents moet een vergelijkbaar patroon hebben.

  1. Registreer een datadog-account.

  2. Installeer OpenMetrics-integratie in uw accountdashboard, zodat Datadog OpenMetrics-gegevens kan accepteren en verwerken.

  3. Volg de Datadog-documentatie om uw Datadog-agent aan de slag te laten gaan. Voor dit voorbeeld gebruikt u de DMG-pakketoptie om alles te installeren, inclusief launchctl en datadog-agent.

  4. Zoek de OpenMetrics-configuratie. In dit voorbeeld bevindt de configuratie zich op ~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default. Hier volgt een voorbeeld van een configuratiebestand yaml .

    
     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
    
  5. Datadog-agent starten met behulp van launchctl start com.datadoghq.agent.

  6. Telkens wanneer u wijzigingen moet aanbrengen in uw configuratie, moet u de agent opnieuw starten om de wijziging op te halen.

     launchctl stop com.datadoghq.agent
     launchctl start com.datadoghq.agent
    
  7. Controleer de status van de agent met datadog-agent health.

  8. Controleer de agentstatus met datadog-agent status. U moet een antwoord als het volgende kunnen zien. Als dat niet het probleem is, kunt u fouten opsporen met het foutbericht. Mogelijke problemen kunnen worden veroorzaakt door een verlopen PAT-token of een onjuiste 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)
    
  9. De agentstatus kan ook worden weergegeven vanuit de gebruikersinterface op:http://127.0.0.1:5002/.

    Als uw agent volledig actief is, kunt u teruggaan naar uw Datadog-dashboard om een query uit te voeren op de metrische gegevens. U kunt ook een monitor of waarschuwing maken op basis van de metrische gegevens:https://app.datadoghq.com/monitors/create/metric.