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
.
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