Log Analytics ile Azure Container Apps'te günlükleri izleme

Azure Container Apps, kapsayıcı uygulamanızın günlüklerini izlemek ve analiz etmek için Azure İzleyici Log Analytics ile tümleşiktir. Günlük izleme çözümünüz olarak seçildiğinde, Container Apps ortamınız, ortamda çalışan tüm kapsayıcı uygulamalarından sistem ve uygulama günlüğü verilerini depolamak için ortak bir yer sağlayan bir Log Analytics çalışma alanı içerir.

Log Analytics tablolarını Azure portalından veya Azure CLI kullanarak bir komut kabuğundan sorgulayarak günlük girişlerine erişilebilir.

Container Apps için iki tür günlük vardır.

  • Uygulamanız tarafından yayılan konsol günlükleri.
  • Container Apps hizmeti tarafından yayılan sistem günlükleri.

Sistem günlükleri

Container Apps hizmeti, kapsayıcı uygulaması düzeyinde sistem günlüğü iletileri sağlar. Sistem günlükleri aşağıdaki iletileri yayar:

Kaynak Tür İleti
Dapr Bilgi Kapsam <dapr-component-scope <ile başarıyla oluşturulan dapr bileşeni bileşen-adı>>
Dapr Bilgi Kapsam <bileşeni türüyle dapr bileşeni <bileşen adı> başarıyla güncelleştirildi>
Dapr Hata Dapr bileşeni bileşen <adı oluşturulurken hata oluştu>
Birim Bağlamaları Bilgi Düzeltme düzeltme <kapsamı için birim <birim adı> başarıyla bağlandı>
Birim Bağlamaları Hata Birim <adını bağlama hatası>
Etki Alanı Bağlama Bilgi Etki alanı <başarıyla> kapsayıcı uygulaması kapsayıcı uygulaması <adına bağlandı>
Kimlik Doğrulaması Bilgi Uygulamada kimlik doğrulaması etkinleştirildi. Kimlik doğrulaması yapılandırması oluşturma
Kimlik Doğrulaması Bilgi Kimlik doğrulama yapılandırması başarıyla oluşturuldu
Trafik ağırlığı Bilgi Düzeltme düzeltmesi-adı<\ için yüzdelik trafik ağırlığı ayarlama <>>
Düzeltme Sağlama Bilgi Yeni düzeltme oluşturma: <düzeltme-adı>
Düzeltme Sağlama Bilgi Düzeltme adı başarıyla sağlandı <>
Düzeltme Sağlama Bilgi 'ActiveRevisionsMode=Single' tarihinden bu yana Eski düzeltmeler devre dışı bırakılıyor
Düzeltme Sağlama Hata Düzeltme düzeltmesi <adı> sağlama hatası. ErrorCode: <[ErrImagePull]|[ Zaman aşımı]|[ContainerCrashing]>

Sistem günlük verilerine tablo sorgulanarak ContainerAppSystemLogs_CL erişilebilir. Tablodaki en çok kullanılan Container Apps'e özgü sütunlar şunlardır:

Sütun Açıklama
ContainerAppName_s Kapsayıcı uygulama adı
EnvironmentName_s Container Apps ortam adı
Log_s Günlük iletisi
RevisionName_s Düzeltme adı

Konsol günlükleri

Konsol günlükleri, kapsayıcı uygulamanızdaki ve stdout Dapr sepetlerindeki ve iletilerinden kaynaklanırstderr. Tabloyu sorgulayarak ContainerAppConsoleLogs_CL konsol günlüklerini görüntüleyebilirsiniz.

İpucu

Kodunuzu iyi tanımlanmış günlük iletileriyle izlemeniz, kodunuzun nasıl çalıştığını anlamanıza ve sorunların hatalarını ayıklamanıza yardımcı olabilir. En iyi yöntemler hakkında daha fazla bilgi edinmek için bkz. İşlemler için tasarım.

ContainerAppConsoleLogs_CL'da en yaygın kullanılan Container Apps'e özgü sütunlar şunlardır:

Sütun Açıklama
ContainerAppName_s Kapsayıcı uygulama adı
ContainerGroupName_g Çoğaltma adı
ContainerId_s Kapsayıcı tanımlayıcısı
ContainerImage_s Kapsayıcı görüntüsü adı
EnvironmentName_s Container Apps ortam adı
Log_s Günlük iletisi
RevisionName_s Düzeltme adı

Günlük Analizi ile sorgulama günlüğü

Log Analytics, Azure portalında günlük verilerini görüntülemek ve analiz etmek için kullanabileceğiniz bir araçtır. Log Analytics'i kullanarak Kusto sorguları yazabilir ve ardından eğilimleri belirlemek ve sorunları belirlemek için sonuçları grafiklerde sıralayabilir, filtreleyebilir ve görselleştirebilirsiniz. Sorgu sonuçlarıyla etkileşimli olarak çalışabilir veya bunları uyarılar, panolar ve çalışma kitapları gibi diğer özelliklerle kullanabilirsiniz.

Azure portal

Kapsayıcı uygulama sayfanızdaki kenar çubuğu menüsündeki Günlükler'den Log Analytics'i başlatın. Log Analytics'i İzleme>Günlükleri'nden de başlatabilirsiniz.

CustomLogs kategorisi Tablolar sekmesinde listelenen tabloları kullanarak günlükleri sorgulayabilirsiniz. Bu kategorideki tablolar ve ContainerAppConsoleLogs_CL tablolarıdırContainerAppSystemlogs_CL.

Log Analytics özel günlük tablolarının ekran görüntüsü.

Aşağıda album-api adlı kapsayıcı uygulaması için konsol günlüğü girdilerini görüntüleyen bir Kusto sorgusu verilmiştir.

ContainerAppConsoleLogs_CL
| where ContainerAppName_s == 'album-api'
| project Time=TimeGenerated, AppName=ContainerAppName_s, Revision=RevisionName_s, Container=ContainerName_s, Message=Log_s
| take 100

Aşağıda album-api adlı kapsayıcı uygulaması için sistem günlüğü girdilerini görüntüleyen bir Kusto sorgusu verilmiştir.

ContainerAppSystemLogs_CL
| where ContainerAppName_s == 'album-api'
| project Time=TimeGenerated, EnvName=EnvironmentName_s, AppName=ContainerAppName_s, Revision=RevisionName_s, Message=Log_s
| take 100

Log Analytics ve günlük sorguları hakkında daha fazla bilgi için Log Analytics öğreticisine bakın.

Azure CLI/PowerShell

Container Apps günlükleri Azure CLI kullanılarak sorgulanabilir.

Bu örnek Azure CLI sorguları, kapsayıcı uygulaması adı album-api için günlük kayıtlarını içeren bir tablo çıkışı oluşturur. Tablo sütunları, işleç sonrasındaki parametreler project tarafından belirtilir. değişkeni Log $WORKSPACE_CUSTOMER_ID Analytics çalışma alanının GUID değerini içerir.

Bu örnek tabloyu sorgular ContainerAppConsoleLogs_CL :

az monitor log-analytics query --workspace $WORKSPACE_CUSTOMER_ID --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'album-api' | project Time=TimeGenerated, AppName=ContainerAppName_s, Revision=RevisionName_s, Container=ContainerName_s, Message=Log_s, LogLevel_s | take 5" --out table

Bu örnek tabloyu sorgular ContainerAppSystemLogs_CL :

az monitor log-analytics query --workspace $WORKSPACE_CUSTOMER_ID --analytics-query "ContainerAppSystemLogs_CL | where ContainerAppName_s == 'album-api' | project Time=TimeGenerated, AppName=ContainerAppName_s, Revision=RevisionName_s, Message=Log_s, LogLevel_s | take 5" --out table

Sonraki adımlar