Servis uç noktası durum ölçümlerini izleme ve Prometheus ile 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ç nokta ve kişisel erişim belirteci (PAT), Databricks Mosaic AI kullanıcı arabirimindeki Ayarlar'dan oluşturularak, istenen uç noktaya okuma erişimi sağlanabilir.

  • 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 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 bir kopya, 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.
Bu ölçümü, hizmet sunma uç noktanızın Ölçümler sekmesindeki Sunma kullanıcı arabiriminden görüntüleyin.
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ında en güvenilirdir.
Bu ölçümü, hizmet sunma uç noktanızın Ölçümler sekmesindeki Sunma kullanıcı arabiriminden görüntüleyin.

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. Yerel Prometheus hizmetinizin çalışır durumda olup olmadığını kontrol etmek için http://localhost:9090 adresine gidin.

  4. Prometheus scraper durumunu kontrol edin ve hataları şu kaynaklardan ayıklayın: http://localhost:9090/targets?search=

  5. Hedef tamamen çalışır duruma geldiğinde, kullanıcı arabiriminde cpu_usage_percentage veya mem_usage_percentage gibi sağlanan ölçümleri sorgulayabilirsiniz.

Datadog tümleştirmesi

Datadog , farklı ortamlarda dağıtılabilir çeşitli aracılara sahiptir.

Gösterim amacıyla, aşağıda açıklanan komut, Databricks sunucunuzdaki metrik 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 desendedir.

Not

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

Datadog ayrıca, uç nokta ölçümlerini kod olmadan izlemek için uç noktaları sunan modelinize Datadog'u bağlayan bir Azure Databricks tümleştirmesi de sunar. Yapılandırma sunan modelinizi Datadog'a bağlamaya yönelik Datadog belgelerine bakın.

  1. Datadog hesabını 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 örnek için, launchctl ve datadog-agent dahil olmak üzere her şeyin yüklü olmasını sağlamak için DMG paketi seçeneğini kullanın.

  4. OpenMetrics yapılandırmanızı bulun. Bu örnekte yapılandırma ~/.datadog-agent/conf.d/openmetrics.d/conf.yaml.default konumundadır. 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. launchctl start com.datadoghq.agent kullanarak Datadog 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. datadog-agent health ile aracın durumunu kontrol edin.

  8. datadog-agent status ile aracı durumunu kontrol edin. Aşağıdakine benzer bir yanıt görebilmeniz gerekir. Aksi takdirde hata mesajını kullanarak 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/

    Ajanı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