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.
Bir
yaml
yapılandırma dosyası yazın ve olarak adlandırınprometheus.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"]
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
http://localhost:9090
Yerel Prometheus hizmetinizin çalışır durumda olup olmadığını denetlemek için adresine gidin.Prometheus kazıyıcı durumunu denetleyin ve hata ayıklamayı şu kaynaklardan yapın:
http://localhost:9090/targets?search=
Hedef tam olarak çalışır duruma gelip çalışmaya başladığında, kullanıcı arabiriminde veya
mem_usage_percentage
gibicpu_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.
Bir datadog hesabı kaydedin.
Datadog'un OpenMetrics verilerini kabul edebilmesi ve işleyebilmesi için hesap panonuza OpenMetrics tümleştirmesini yükleyin.
Datadog aracınızı çalışır duruma getirmek için Datadog belgelerini izleyin. Bu örnekte ve dahil olmak üzere
launchctl
datadog-agent
her şeyin yüklü olması için DMG paketi seçeneğini kullanın.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ırmayaml
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
kullanarak
launchctl start com.datadoghq.agent
datadog aracıyı başlatın.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
ile
datadog-agent health
aracı durumunu denetleyin.ile
datadog-agent status
aracı 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)
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