مراقبة السجلات في Azure Container Apps باستخدام Log Analytics

تم دمج Azure Container Apps مع Azure Monitor Log Analytics لمراقبة وتحليل سجلات تطبيق الحاوية. عند تحديدها كحل لمراقبة السجل الخاص بك، تتضمن بيئة Container Apps مساحة عمل Log Analytics التي توفر مكانا شائعا لتخزين بيانات النظام وسجل التطبيق من جميع تطبيقات الحاوية التي تعمل في البيئة.

يمكن الوصول إلى إدخالات السجل عن طريق الاستعلام عن جداول Log Analytics من خلال مدخل Microsoft Azure أو واجهة الأوامر باستخدام Azure CLI.

هناك نوعان من السجلات لتطبيقات الحاوية.

  • سجلات وحدة التحكم، التي يصدرها تطبيقك.
  • سجلات النظام، التي يتم إصدارها بواسطة خدمة Container Apps.

سجلات النظام

توفر خدمة Container Apps رسائل سجل النظام على مستوى تطبيق الحاوية. تصدر سجلات النظام الرسائل التالية:

Source النوع رسالة
Dapr المعلومات تم إنشاء اسم> مكون <dapr بنجاح مع نطاق <dapr-component-scope>
Dapr المعلومات تم تحديث اسم> مكون <dapr بنجاح مع نوع مكون النطاق <>
Dapr خطأ حدث خطأ أثناء إنشاء اسم مكون <dapr>
تحميلات وحدة التخزين المعلومات تم تحميل اسم> وحدة التخزين <بنجاح لنطاق مراجعة المراجعة <>
تحميلات وحدة التخزين خطأ خطأ في تحميل اسم وحدة التخزين <>
ربط المجال المعلومات ربط مجال> المجال <بنجاح باسم تطبيق حاوية تطبيق <الحاوية>
المصادقة المعلومات تمكين المصادقة على التطبيق. إنشاء تكوين المصادقة
المصادقة المعلومات تم إنشاء تكوين المصادقة بنجاح
وزن نسبة استخدام الشبكة المعلومات تعيين وزن نسبة استخدام الشبكة بنسبة <النسبة المئوية> لمراجعة اسم المراجعة <\>
توفير المراجعة المعلومات إنشاء مراجعة جديدة: <اسم المراجعة>
توفير المراجعة المعلومات تم توفير اسم المراجعة <بنجاح>
توفير المراجعة المعلومات إلغاء تنشيط المراجعات القديمة منذ "ActiveRevisionsMode=Single"
توفير المراجعة خطأ حدث خطأ أثناء توفير اسم> مراجعة المراجعة<. ErrorCode: <[ErrImagePull]|[ المهلة]|[ContainerCrashing]>

يمكن الوصول إلى بيانات سجل النظام عن طريق الاستعلام عن ContainerAppSystemLogs_CL الجدول. الأعمدة المحددة لتطبيقات الحاوية الأكثر استخداما في الجدول هي:

العمود ‏‏الوصف
ContainerAppName_s اسم تَطبيق الحاوية
EnvironmentName_s اسم بيئة تطبيقات الحاوية
Log_s رسالة السجل
RevisionName_s اسم المراجعة

سجلات وحدة التحكم

تنشأ سجلات وحدة التحكم من و stderr stdout رسائل من الحاويات في تطبيق الحاوية و Dapr sidecars. يمكنك عرض سجلات وحدة التحكم عن طريق الاستعلام عن ContainerAppConsoleLogs_CL الجدول.

تلميح

يمكن أن يساعدك وضع علامة على التعليمات البرمجية الخاصة بك باستخدام رسائل سجل محددة جيدا على فهم كيفية أداء التعليمات البرمجية وتصحيح المشكلات. لمعرفة المزيد حول أفضل الممارسات، راجع التصميم للعمليات.

تتضمن الأعمدة الخاصة بتطبيقات الحاوية الأكثر استخداما في ContainerAppConsoleLogs_CL ما يلي:

العمود ‏‏الوصف
ContainerAppName_s اسم تَطبيق الحاوية
ContainerGroupName_g اسم النسخة المتماثلة
ContainerId_s معرف الحاوية
ContainerImage_s اسم صورة الحاوية
EnvironmentName_s اسم بيئة تطبيقات الحاوية
Log_s رسالة السجل
RevisionName_s اسم المراجعة

سجل الاستعلام مع Log Analytics

Log Analytics هي أداة في مدخل Microsoft Azure يمكنك استخدامها لعرض بيانات السجل وتحليلها. باستخدام Log Analytics، يمكنك كتابة استعلامات Kusto ثم فرز النتائج وتصفيتها وتصورها في المخططات لاكتشاف الاتجاهات وتحديد المشكلات. يمكنك العمل بشكل تفاعلي مع نتائج الاستعلام أو استخدامها مع ميزات أخرى مثل التنبيهات ولوحات المعلومات والمصنفات.

مدخل Azure

ابدأ Log Analytics من السجلات في قائمة الشريط الجانبي على صفحة تطبيق الحاوية. يمكنك أيضًا بدء تشغيل Log Analytics من Monitor>Logs.

يمكنك الاستعلام عن السجلات باستخدام الجداول المدرجة في علامة التبويب جداول الفئة CustomLogs. الجداول الموجودة في هذه الفئة هي ContainerAppSystemlogs_CL الجداول وContainerAppConsoleLogs_CL.

Screenshot of the Log Analytics custom log tables.

فيما يلي استعلام Kusto الذي يعرض إدخالات سجل وحدة التحكم لتطبيق الحاوية المسمى album-api.

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

فيما يلي استعلام Kusto يعرض إدخالات سجل النظام لتطبيق الحاوية المسمى album-api.

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 واستعلامات السجل، راجع البرنامج التعليمي Log Analytics.

واجهة سطر الأوامر من Azure/PowerShell

يمكن الاستعلام عن سجلات تطبيقات الحاوية باستخدام Azure CLI.

يقوم هذا المثال استعلامات Azure CLI إخراج جدول يحتوي على سجلات السجل لاسم تطبيق الحاوية album-api. يتم تحديد أعمدة الجدول بواسطة المعلمات بعد project عامل التشغيل. $WORKSPACE_CUSTOMER_ID يحتوي المتغير على GUID لمساحة عمل Log Analytics.

يستعلم هذا المثال عن 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

يستعلم هذا المثال عن 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

الخطوات التالية