Azure Container Apps önizlemesi 'nde bir uygulamayı izleme

Azure Container Apps, kapsayıcı uygulamanız hakkında geniş bir veri kümesi toplar ve Log Analyticskullanarak depolar. Bu makalede, kullanılabilir Günlükler ve günlüklerin nasıl yazılacağı ve görüntüleneceği açıklanır.

Bir günlüğe yazma

Standart çıkış (STDOUT) veya standart hata (stderr) akışlarınayazdığınızda, kapsayıcı uygulamaları günlüğe kaydetme aracıları her ileti için günlükleri yazar.

Bir ileti günlüğe kaydedildiğinde, günlük tablosunda aşağıdaki bilgiler toplanır:

Özellik Açıklamalar
RevisionName
ContainerAppName
ContainerGroupID
ContainerGroupName
ContainerImage
ContainerID Kapsayıcının benzersiz tanımlayıcısı. Bu değeri, kapsayıcı kilitlenmelerinin tanımlanmasına yardımcı olması için kullanabilirsiniz.
Stream stdout stderr Günlüğe kaydetme için kullanılıp kullanılmayacağını gösterir.
EnvironmentName

Basit metin ile yapılandırılmış veriler

Tek bir metin dizesini veya seri hale getirilmiş JSON verilerinin satırını günlüğe kaydedebilirsiniz. Günlüğe girdiğiniz veri türlerine bağlı olarak bilgiler farklı şekilde görüntülenir.

Veri türü Açıklama
Tek satırlık bir metin Metin Log_s sütununda görüntülenir.
Seri hale getirilmiş JSON Veriler, günlük Aracısı tarafından ayrıştırılır ve JSON nesne özelliği adlarıyla eşleşen sütunlarda görüntülenir.

Günlükleri görüntüleme

Bir kapsayıcı uygulaması aracılığıyla günlüğe kaydedilen veriler, ContainerAppConsoleLogs_CL Log Analytics çalışma alanındaki özel tabloda depolanır. Günlükleri Azure portal veya CLı ile görüntüleyebilirsiniz.

Kaynak grubunuzun adını ve Log Analytics çalışma alanını ayarlayın ve ardından LOG_ANALYTICS_WORKSPACE_CLIENT_ID aşağıdaki komutlarla öğesini alın.

RESOURCE_GROUP="my-containerapps"
LOG_ANALYTICS_WORKSPACE="containerapps-logs"

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az monitor log-analytics workspace show --query customerId -g $RESOURCE_GROUP -n $LOG_ANALYTICS_WORKSPACE --out tsv`

Komut satırında günlükleri görüntülemek için aşağıdaki CLı komutunu kullanın.

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated | take 3" \
  --out table

Aşağıdaki çıktı, CLı komutundan beklenen yanıtın türünü gösterir.

ContainerAppName_s    Log_s                 TableName      TimeGenerated
--------------------  --------------------  -------------  ------------------------
my-container-app      listening on port 80  PrimaryResult  2021-10-23T02:09:00.168Z
my-container-app      listening on port 80  PrimaryResult  2021-10-23T02:11:36.197Z
my-container-app      listening on port 80  PrimaryResult  2021-10-23T02:11:43.171Z

Sonraki adımlar