A kiszolgáló végpont egészségügyi mutatók nyomon követése és exportálása a Prometheusba és a Datadogba.

Ez a cikk áttekintést nyújt a végpont állapotmetrikáiról, és bemutatja, hogyan exportálhatja a metrikákat a Prometheusba és a Datadogba az exportálási API használatával.

A végpont állapotmetrikái mérik az infrastruktúrát és a metrikákat, például a késést, a kérések gyakoriságát, a hibaarányt, a PROCESSZORhasználatot, a memóriahasználatot stb. Ez megmutatja, hogyan működik a kiszolgálói infrastruktúra.

Követelmények

  • Olvassa el a kívánt végponthoz és a személyes hozzáférési jogkivonathoz (PAT) való hozzáférést, amely Settings a Azure Databricks felhasználói felületén hozható létre a végpont eléréséhez.

  • Egy meglévő modellszolgáltatási végpont. Ezt a végpont állapotának ellenőrzésével ellenőrizheti a következőkkel:

    curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]
    
  • Ellenőrizze az exportálási metrikák API-t:

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

Végpontmetrikák definícióinak kiszolgálása

Mértékegység Leírás
Latencia (ms) Rögzíti a medián (P50) és a 99. percentilis (P99) oda-vissza késleltetési idejét az Azure Databricksben. Ez nem foglalja magában a Databrickshez kapcsolódó további késéseket, például a hitelesítést és a sebességkorlátozást
Modell következtetési késleltetés (ms) Megragadja a medián (P50) és a 99. percentilis (P99) idejét, amelyet a modell előrejelzés számítására tölt, beleértve a funkció tároló lekérdezéseket is. Ellentétben a Latency (ms)-vel, amely a teljes oda-vissza időt méri, ez izolálja a modell végrehajtási idejét a kéréssorban vagy az Azure Databricks infrastruktúrájában töltött várakozás idejétől.
Tekintse meg ezt a metrikát a kiszolgálói végpont Metrikák lapján található kiszolgálói felhasználói felületen.
Sorban állás kérése (ms) A kéréseknek a szerver kérésvárakozási sorában töltött medián (P50) és 99. percentilisű (P99) várakozási idejét méri, mielőtt egy replika megkezdi a feldolgozásukat. A megnövekedett sorban állási idő azt jelzi, hogy a végpont alulméretezett a rá érkező forgalomhoz képest; a számítási kapacitás horizontális skálázási tartományának bővítése csökkentheti ezt.
Tekintse meg ezt a metrikát a kiszolgálói végpont Metrikák lapján található kiszolgálói felhasználói felületen.
Kérelem sebessége (másodpercenként) A másodpercenként feldolgozott kérelmek számát méri. Ezt az arányt úgy számítjuk ki, hogy a kérések számát egy percen belül összegzik, majd 60-tal (másodpercek száma egy perc alatt) osztjuk el.
Kérések hibaaránya (másodpercenként) Nyomon követi a másodpercenkénti 4xx és 5xx HTTP-hibaválaszok arányát. A kérések arányához hasonlóan a rendszer úgy számítja ki, hogy a sikertelen kérelmek teljes számát egy percen belül összesítve 60-tal osztja el.
CPU-használat (%) Az összes kiszolgálóreplika átlagos cpu-kihasználtságának százalékos aránya. A Databricks-infrastruktúra kontextusában a replika virtuálisgép-csomópontokra hivatkozik. A konfigurált egyidejűségi beállításoktól függően a Databricks több replikát hoz létre a modellforgalom hatékony kezeléséhez.
Memóriahasználat (%) Az összes kiszolgálóreplika átlagos memóriakihasználtságának százalékos aránya.
Kiosztott egyidejűség A kiosztott egyidejűség a rendszer által kezelhető párhuzamos kérelmek maximális száma. A kiosztott egyidejűség dinamikusan igazodik a számítási felskálázási tartomány minimális és maximális korlátain belül, a bejövő forgalomra adott válaszként változó módon.
GPU-használat (%) Az NVIDIA DCGM-exportőr által jelentett átlagos GPU-kihasználtságot jelöli. Ha a példánytípus több GPU-val rendelkezik, mindegyik külön lesz nyomon követve (például, gpu0, , gpu1..., gpuN). A kihasználtságot az összes kiszolgálóreplika átlaga alapján számítjuk ki, és percenként egyszer mintát vettünk. Megjegyzés: A ritkán használt mintavételezés azt jelenti, hogy ez a metrika állandó terhelés alatt a legpontosabb.
Tekintse meg ezt a metrikát a kiszolgálói végpont Metrikák lapján található kiszolgálói felhasználói felületen.
GPU-memóriahasználat (%) Az NVIDIA DCGM-exportőr adatai alapján az egyes GPU-k kihasznált keretpuffermemória átlagos százalékos arányát jelzi. A GPU-használathoz hasonlóan ezt a metrikát a replikák között átlagoltuk, és percenként mintát vettünk. Konzisztens terhelési körülmények között a legmegbízhatóbb.
Tekintse meg ezt a metrikát a kiszolgálói végpont Metrikák lapján található kiszolgálói felhasználói felületen.

Prometheus-integráció

Feljegyzés

Függetlenül attól, milyen típusú üzembe helyezéssel rendelkezik a termelési környezetben, a gyűjtési konfigurációnak hasonlónak kell lennie.

Az ebben a szakaszban található útmutató a Prometheus dokumentációját követi, hogy helyileg elindítsa a Prometheus szolgáltatást a Docker használatával.

  1. Írjon egy yaml konfigurációs fájlt, és nevezze el.prometheus.yml Például:

    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. Indítsa el helyileg a Prometheust a következő paranccsal:

       docker run \
       -p 9090:9090 \
       -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
       prom/prometheus
    
  3. Nyissa meg a http://localhost:9090, hogy ellenőrizze, működik-e a helyi Prometheus szolgáltatás.

  4. Ellenőrizze a Prometheus gyűjtő állapotát, és javítsa ki a hibákat a következőből: http://localhost:9090/targets?search=

  5. Ha a cél teljes mértékben működik, lekérdezheti a megadott metrikákat, például cpu_usage_percentage vagy mem_usage_percentage, a felhasználói felületen.

Datadog-integráció

A Datadog számos különböző ügynökkel rendelkezik, amelyek különböző környezetekben helyezhetők üzembe.

Bemutató célokra a következők helyileg elindítanak egy Mac OS-ügynököt, amely lekaparja a Databricks-gazdagép metrikák végpontját. A más ügynökök használatára vonatkozó konfiguráció hasonló mintában van.

Feljegyzés

A példa előzetes beállítása az ingyenes kiadáson alapul.

A Datadog egy Azure Databricks-integrációt is kínál, amely összekapcsolja a Datadogot a végpontokat kiszolgáló modellel, hogy kód nélkül monitorozza a végpontmetrikákat. A Datadog dokumentációjában olvashatja el, hogyan csatlakoztathatja a modell kiszolgáló konfigurációját a Datadoghoz.

  1. Datadog-fiók regisztrálása.

  2. Telepítse az OpenMetrics-integrációt a fiók irányítópultján, hogy a Datadog elfogadhassa és feldolgozhassa az OpenMetrics-adatokat.

  3. Kövesse a Datadog dokumentációját a Datadog agent üzembe helyezéséhez. Ebben a példában használja a DMG csomag lehetőséget, hogy minden telepítve legyen, beleértve launchctl-t és datadog-agent-t is.

  4. Keresse meg az OpenMetrics-konfigurációt. Ebben a példában a konfiguráció a következő ~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default: . Az alábbiakban egy példakonfigurációs yaml fájl található.

    
     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
       - model_prediction_latency_ms:
           name: model_prediction_latency_ms
           type: histogram
       - model_queue_time_ms:
           name: model_queue_time_ms
           type: histogram
    
       tag_by_endpoint: false
    
       send_distribution_buckets: true
    
       headers:
         Authorization: Bearer [PAT]
         Content-Type: application/openmetrics-text
    
  5. Indítsa el a datadog-ügynököt a következővel launchctl start com.datadoghq.agent: .

  6. Minden alkalommal, amikor módosítania kell a konfigurációt, újra kell indítania az ügynököt a módosítás felvételéhez.

     launchctl stop com.datadoghq.agent
     launchctl start com.datadoghq.agent
    
  7. Ellenőrizze az ügynök állapotát a következővel datadog-agent health: .

  8. Ellenőrizze az ügynök állapotát datadog-agent status. A következőhöz hasonló választ kell látnia. Ha nem, hibaelhárítást végezz a hibaüzenet segítségével. A lehetséges problémákat egy lejárt PAT-jogkivonat vagy helytelen URL-cím okozhatja.

     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. Az ügynök állapota a felhasználói felületenhttp://127.0.0.1:5002/ is látható:

    Ha az ügynök teljesen működik, visszatérhet a Datadog irányítópultjára, hogy megjelenítse a metrikákat. A metrikaadatok alapján monitort vagy riasztást is létrehozhat:https://app.datadoghq.com/monitors/create/metric