Sledování a export metrik stavu koncových bodů do služby Prometheus a Datadog
Tento článek obsahuje přehled poskytování metrik stavu koncových bodů a ukazuje, jak pomocí rozhraní API pro export metriky exportovat metriky koncových bodů do služby Prometheus a Datadog.
Metriky stavu koncového bodu měří infrastrukturu a metriky, jako je latence, frekvence požadavků, míra chyb, využití procesoru, využití paměti atd. To vám řekne, jak se vaše obslužná infrastruktura chová.
Požadavky
Přístup pro čtení k požadovanému koncovému bodu a tokenu PAT, který je možné vygenerovat v Nastavení v uživatelském rozhraní Databricks Mosaic AI pro přístup ke koncovému bodu.
Existující model obsluhující koncový bod Můžete to ověřit tak, že zkontrolujete stav koncového bodu následujícím způsobem:
curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]
Ověřte rozhraní API pro export metrik:
curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]/metrics
Obsluha definic metrik koncových bodů
Metrický | Popis |
---|---|
Latence (ms) | Zaznamenává medián (P50) a 99. percentil (P99) doby odezvy odezvy v Rámci Azure Databricks. Nezahrnuje další latence související s Databricks, jako je ověřování a omezování rychlosti. |
Frekvence požadavků (za sekundu) | Měří počet zpracovaných požadavků za sekundu. Tato sazba se počítá součtem počtu požadavků během minuty a následným dělením 60 (počet sekund za minutu). |
Míra chyb požadavků (za sekundu) | Sleduje rychlost chybových odpovědí HTTP 4xx a 5xx za sekundu. Podobně jako u sazby požadavků se počítá agregací celkového počtu neúspěšných požadavků během minuty a vydělením 60. |
Využití procesoru (%) | Zobrazuje průměrné procento využití procesoru ve všech replikách serveru. V kontextu infrastruktury Databricks odkazuje replika na uzly virtuálních počítačů. V závislosti na nakonfigurovaných nastaveních souběžnosti vytvoří Databricks několik replik pro efektivní správu provozu modelu. |
Využití paměti (%) | Zobrazuje průměrné procento využití paměti ve všech replikách serveru. |
Zřízená souběžnost | Zřízená souběžnost je maximální počet paralelních požadavků, které může systém zpracovat. Zřízená souběžnost se dynamicky upravuje v rámci minimálních a maximálních limitů rozsahu škálování výpočetních prostředků, které se liší v reakci na příchozí provoz. |
Využití GPU (%) | Představuje průměrné využití GPU, jak je hlášeno vývozcem NVIDIA DCGM . Pokud má typ instance více GPU, každý se sleduje samostatně (například, , gpu0 , gpu1 ..., gpuN ). Využití se průměruje napříč všemi replikami serveru a vzorkuje se jednou za minutu.
Poznámka: Vzorkování s nízkou frekvencí znamená, že tato metrika je nejpřesnější při konstantním zatížení.Tuto metriku si můžete prohlédnout z uživatelského rozhraní obsluhy na kartě Metriky vašeho koncového bodu obsluhy. |
Využití paměti GPU (%) | Určuje průměrné procento využité paměti vyrovnávací paměti rámce na každém GPU na základě dat vývozce NVIDIA DCGM. Stejně jako u využití GPU se tato metrika průměruje napříč replikami a vzorkuje se každou minutu. Je nejspolehlivější za konzistentních podmínek zatížení. Tuto metriku si můžete prohlédnout z uživatelského rozhraní obsluhy na kartě Metriky vašeho koncového bodu obsluhy. |
Integrace prometheus
Poznámka:
Bez ohledu na to, jaký typ nasazení máte v produkčním prostředí, by měla být konfigurace výstřižku podobná.
Pokyny v této části se řídí dokumentací k Systému Prometheus pro místní spuštění služby Prometheus pomocí Dockeru.
Zapište
yaml
konfigurační soubor a pojmenujte hoprometheus.yml
. Následuje příklad: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"]
Spusťte Prometheus místně pomocí následujícího příkazu:
docker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
Přejděte a
http://localhost:9090
zkontrolujte, jestli je vaše místní služba Prometheus spuštěná.Zkontrolujte stav výstřižku Prometheus a chyby ladění z:
http://localhost:9090/targets?search=
Jakmile je cíl plně spuštěný, můžete zadat dotaz na poskytnuté metriky, například
cpu_usage_percentage
nebomem_usage_percentage
, v uživatelském rozhraní.
Integrace služby Datadog
Poznámka:
Předběžná verze set v tomto příkladu je založená na edici zdarma.
Datadog má řadu agentů, které je možné nasadit v různých prostředích. Pro demonstrační účely spustíme agenta Mac OS místně, který v hostiteli Databricks našrotuje koncový bod metrik. Konfigurace pro použití jiných agentů by měla být v podobném vzoru.
Registrace účtu datadog
Nainstalujte integraci OpenMetrics do řídicího panelu účtu, aby datadog mohl přijímat a zpracovávat data OpenMetrics.
Postupujte podle dokumentace k Datadog a get k uvedení agenta Datadog do provozu. V tomto příkladu použijte možnost balíčku DMG mít vše nainstalované včetně
launchctl
adatadog-agent
.Vyhledejte konfiguraci OpenMetrics. V tomto příkladu je konfigurace v
~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default
. Následuje příklad konfiguračníhoyaml
souboru.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
Spusťte agenta datadog pomocí
launchctl start com.datadoghq.agent
.Pokaždé, když potřebujete provést změny konfigurace, musíte agenta restartovat, aby změnu vyzvedli.
launchctl stop com.datadoghq.agent launchctl start com.datadoghq.agent
Zkontrolujte stav agenta pomocí
datadog-agent health
nástroje .Zkontrolujte stav agenta pomocí
datadog-agent status
. Měla by se zobrazit odpověď podobná následující. Pokud ne, proveďte ladění s chybovou zprávou. Možné problémy můžou být způsobené vypršením platnosti tokenu PAT nebo nesprávnou adresou 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)
Stav agenta lze také zobrazit v uživatelském rozhraní na adrese:http://127.0.0.1:5002/.
Pokud je váš agent plně spuštěný, můžete přejít zpět na řídicí panel Datadog a dotazovat se na metriky. Můžete také vytvořit monitorování nebo výstrahu na základě dat metriky:https://app.datadoghq.com/monitors/create/metric