Aracılığıyla paylaş


Uç nokta durumu ölçümlerini izleme ve Prometheus ve Datadog'a aktarma

Bu makalede uç nokta durumu ölçümlerine genel bir bakış sağlanır ve uç nokta ölçümlerini Prometheus ve Datadog'a aktarmak için ölçümleri dışarı aktarma API'sinin nasıl kullanılacağı gösterilir.

Uç nokta durumu ölçümleri altyapıyı ve gecikme süresi, istek hızı, hata oranı, CPU kullanımı, bellek kullanımı gibi ölçümleri ölçer. Bu, hizmet altyapınızın nasıl davrandığını gösterir.

Gereksinimler

  • Uç noktaya erişmek için Databricks Mozaik AI kullanıcı arabirimindeki Ayarlar'da oluşturulabilen istenen uç noktaya ve kişisel erişim belirtecine (PAT) okuma erişimi.

  • Uç noktaya hizmet veren mevcut bir model. Uç nokta durumunu aşağıdakilerle denetleyerek bunu doğrulayabilirsiniz:

    curl -n -X GET -H "Authorization: Bearer [PAT]" https://[DATABRICKS_HOST]/api/2.0/serving-endpoints/[ENDPOINT_NAME]
    
  • Dışarı aktarma ölçümleri API'sini doğrulayın:

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

Uç nokta ölçümleri tanımlarını sunma

Metrik Sistem Açıklama
Gecikme süresi (ms) Azure Databricks'te ortanca (P50) ve 99. yüzdebirlik (P99) gidiş dönüş gecikme sürelerini yakalar. Bu, kimlik doğrulaması ve hız sınırlama gibi Databricks ile ilgili ek gecikme sürelerini içermez
İstek oranı (saniye başına) Saniye başına işlenen istek sayısını ölçer. Bu oran, bir dakika içindeki istek sayısı toplanarak ve ardından 60'a bölünerek (bir dakikadaki saniye sayısı) hesaplanır.
İstek hata oranı (saniye başına) Saniyede 4xx ve 5xx HTTP hata yanıtlarının hızını izler. İstek oranına benzer şekilde, bir dakika içinde toplam başarısız istek sayısı toplanarak ve 60'a bölünerek hesaplanır.
CPU kullanımı (%) Tüm sunucu çoğaltmalarında ortalama CPU kullanım yüzdesini gösterir. Databricks altyapısı bağlamında çoğaltma, sanal makine düğümlerini ifade eder. Yapılandırılmış eşzamanlılık ayarlarınıza bağlı olarak Databricks, model trafiğini verimli bir şekilde yönetmek için birden çok çoğaltma oluşturur.
Bellek kullanımı (%) Tüm sunucu çoğaltmalarında ortalama bellek kullanım yüzdesini gösterir.
Sağlanan eşzamanlılık Sağlanan eşzamanlılık, sistemin işleyebileceği en fazla paralel istek sayısıdır. Sağlanan eşzamanlılık, işlem ölçeği genişletme aralığının en düşük ve en yüksek sınırları içinde dinamik olarak ayarlanır ve gelen trafiğe yanıt olarak değişir.
GPU kullanımı (%) NVIDIA DCGM ihracatçısı tarafından bildirilen ortalama GPU kullanımını temsil eder. Örnek türü birden çok GPU'ya sahipse, her biri ayrı ayrı izlenir (örneğin, gpu0, gpu1, ..., gpuN). Kullanım, tüm sunucu çoğaltmalarında ortalama olarak alınır ve dakikada bir örneklendirilir. Not: Seyrek örnekleme, bu ölçümün sabit bir yük altında en doğru olduğu anlamına gelir.
GPU bellek kullanımı (%) NVIDIA DCGM dışarı aktarma verileri temelinde her GPU'da kullanılan çerçeve arabelleği belleğinin ortalama yüzdesini gösterir. GPU kullanımında olduğu gibi bu ölçüm de çoğaltmalar arasında ortalama olarak alınır ve dakikada bir örneklendirilir. Tutarlı yük koşulları altında en güvenilirdir.

Prometheus tümleştirmesi

Not

Üretim ortamınızda hangi dağıtım türüne sahip olduğunuzdan bağımsız olarak, kazıma yapılandırması benzer olmalıdır.

Bu bölümdeki yönergeler, Docker kullanarak yerel olarak bir Prometheus hizmeti başlatmak için Prometheus belgelerini izler.

  1. Bir yaml yapılandırma dosyası yazın ve olarak adlandırın prometheus.yml. Aşağıda bir örnek verilmiştir:

     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. Aşağıdaki komutla Prometheus'ı yerel olarak başlatın:

       docker run \
       -p 9090:9090 \
       -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
       prom/prometheus
    
  3. http://localhost:9090 Yerel Prometheus hizmetinizin çalışır durumda olup olmadığını denetlemek için adresine gidin.

  4. Prometheus kazıyıcı durumunu denetleyin ve hata ayıklamayı şu kaynaklardan yapın: http://localhost:9090/targets?search=

  5. Hedef tam olarak çalışır duruma gelip çalışmaya başladığında, kullanıcı arabiriminde veya mem_usage_percentagegibi cpu_usage_percentage sağlanan ölçümleri sorgulayabilirsiniz.

Datadog tümleştirmesi

Not

Bu örnek için ayarlanan ön ayar, ücretsiz sürümü temel alır.

Datadog , farklı ortamlarda dağıtılabilir çeşitli aracılara sahiptir. Gösterim amacıyla, aşağıdakiler Databricks konağınızdaki ölçüm uç noktasını kazıyabilen bir Mac OS aracısını yerel olarak başlatır. Diğer aracıları kullanma yapılandırması benzer bir desende olmalıdır.

  1. Bir datadog hesabı kaydedin.

  2. Datadog'un OpenMetrics verilerini kabul edebilmesi ve işleyebilmesi için hesap panonuza OpenMetrics tümleştirmesini yükleyin.

  3. Datadog aracınızı çalışır duruma getirmek için Datadog belgelerini izleyin. Bu örnekte ve dahil olmak üzere launchctl datadog-agenther şeyin yüklü olması için DMG paketi seçeneğini kullanın.

  4. OpenMetrics yapılandırmanızı bulun. Bu örnekte yapılandırma konumundadır ~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default. Aşağıda örnek bir yapılandırma yaml dosyası verilmiştir.

    
     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. kullanarak launchctl start com.datadoghq.agentdatadog aracıyı başlatın.

  6. Yapılandırmanızda her değişiklik yapmanız gerektiğinde, değişikliği almak için aracıyı yeniden başlatmanız gerekir.

     launchctl stop com.datadoghq.agent
     launchctl start com.datadoghq.agent
    
  7. ile datadog-agent healtharacı durumunu denetleyin.

  8. ile datadog-agent statusaracı durumunu denetleyin. Aşağıdakine benzer bir yanıt görebilmeniz gerekir. Aksi takdirde hata iletisiyle hata ayıklayın. Olası sorunlar süresi dolan PAT belirtecine veya yanlış URL'ye bağlı olabilir.

     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. Aracı durumu şu konumdaki kullanıcı arabiriminden de görülebilir:http://127.0.0.1:5002/

    Aracınız tamamen çalışır durumdaysa ölçümleri sorgulamak için Datadog panonuza geri dönebilirsiniz. Ölçüm verilerini temel alan bir izleyici veya uyarı da oluşturabilirsiniz:https://app.datadoghq.com/monitors/create/metric