تمكين وعرض بيانات تتبع الاستخدام المحسنة في Application Insights لسير العمل القياسي في Azure Logic Apps
ينطبق على: Azure Logic Apps (قياسي)
يوضح هذا الدليل الإرشادي كيفية تشغيل مجموعة بيانات تتبع الاستخدام المحسنة في Application Insights لمورد تطبيق المنطق القياسي ثم عرض البيانات التي تم جمعها بعد انتهاء سير العمل من التشغيل.
المتطلبات الأساسية
حساب واشتراك Azure. إذا لم يكن لديك اشتراك، فيجب التسجيل للحصول على حساب Azure مجاني.
مثيل Application Insights . يمكنك إنشاء هذا المورد مسبقا، عند إنشاء تطبيق المنطق القياسي الخاص بك، أو بعد نشر تطبيق المنطق.
تطبيق منطق قياسي وسير عمل، إما في مدخل Microsoft Azure أو في Visual Studio Code.
يجب أن يستخدم مورد تطبيق المنطق أو المشروع وقت تشغيل Azure Functions v4، والذي يتم تمكينه افتراضيا.
يجب أن يكون تطبيق المنطق الخاص بك قد مكن Application Insights لتسجيل التشخيص والتتبع. يمكنك القيام بذلك إما عند إنشاء تطبيق المنطق الخاص بك أو بعد التوزيع.
تمكين بيانات تتبع الاستخدام المحسنة في Application Insights
في مدخل Microsoft Azure، افتح مورد تطبيق المنطق القياسي.
في قائمة logic app، ضمن Development Tools، حدد Advanced Tools. في صفحة Advanced Tools ، حدد Go، الذي يفتح أدوات Kudu.
في صفحة Kudu ، من قائمة وحدة تحكم تتبع الأخطاء، حدد CMD. في جدول دليل المجلد، استعرض للوصول إلى الملف التالي وحدد Edit: site/wwwroot/host.json
في ملف host.json ، أضف التعليمات البرمجية JSON التالية:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows", "version": "[1, 2.00]" }, "extensions": { "workflow": { "Settings": { "Runtime.ApplicationInsightTelemetryVersion": "v2" } } } }
يتيح هذا التكوين المستوى الافتراضي من الإسهاب. للحصول على خيارات أخرى، راجع تطبيق التصفية في المصدر.
فتح Application Insights
بعد انتهاء سير العمل الخاص بك من التشغيل وتمرير بضع دقائق، افتح مورد Application Insights.
في مدخل Microsoft Azure، في قائمة logic app، ضمن Settings، حدد Application Insights.
في قائمة مورد Application Insights، ضمن Monitoring، حدد Logs.
عرض السجلات المحسنة في Application Insights
تصف الأقسام التالية الجداول في Application Insights حيث يمكنك العثور على بيانات تتبع الاستخدام المحسنة التي تم إنشاؤها من تشغيل سير العمل وعرضها.
اسم الجدول | الوصف |
---|---|
الطلبات | تفاصيل حول الأحداث التالية في تشغيل سير العمل: - أحداث المشغل والإجراء - محاولات إعادة المحاولة - استخدام الموصل |
اثار | تفاصيل حول الأحداث التالية في تشغيل سير العمل: - أحداث بدء سير العمل وإنهاءه - أحداث الإرسال الدفعي وتلقي الدفعات |
الاستثناءات | تفاصيل حول أحداث الاستثناء في عمليات تشغيل سير العمل |
التبعيات | تفاصيل حول أحداث التبعية في عمليات تشغيل سير العمل |
جدول الطلبات
يحتوي جدول الطلبات على حقول تتعقب البيانات حول الأحداث التالية في تشغيل سير العمل القياسي:
- أحداث المشغل والإجراء
- عمليات إعادة المحاولة
- استخدام الموصل
لإظهار كيفية وصول البيانات إلى هذه الحقول، افترض أن لديك المثال التالي لسير العمل القياسي الذي يبدأ بمشغل الطلب متبوعا بإجراء الإنشاء وإجراء الاستجابة.
تحتوي إعدادات المشغل على معلمة تسمى Custom Tracking Id. يتم تعيين قيمة المعلمة إلى تعبير يسحب قيمة الخاصية orderId من نص رسالة واردة:
بعد ذلك، تحتوي إعدادات إجراء الإنشاء لسير العمل على خاصية متعقبة إضافية تسمى solutionName. يتم تعيين قيمة الخاصية إلى اسم مورد تطبيق المنطق.
يتبع إجراء الإنشاء إجراء استجابة يقوم بإرجاع استجابة إلى المتصل.
تحتوي القائمة التالية على أمثلة للاستعلامات التي يمكنك إنشاؤها وتشغيلها مقابل جدول الطلبات:
مهمة | الخطوات |
---|---|
عرض جميع أحداث المشغلات والإجراءات | الاستعلام عن جميع أحداث المشغلات والإجراءات |
عرض أحداث المشغل أو أحداث الإجراء فقط | الاستعلام عن أحداث التشغيل أو الإجراء فقط |
عرض أحداث المشغل أو الإجراء بنوع عملية معين | مشغل الاستعلام أو أحداث الإجراء حسب نوع العملية |
عرض أحداث المشغل والإجراءات باستخدام معرف تشغيل سير عمل معين | مشغل الاستعلام وأحداث الإجراء حسب معرف تشغيل سير العمل |
عرض أحداث المشغل والإجراءات باستخدام معرف تعقب عميل معين | مشغل الاستعلام وأحداث الإجراء بواسطة معرف تتبع العميل |
عرض أحداث المشغل والإجراءات باستخدام اسم حل معين | مشغل الاستعلام وأحداث الإجراء حسب اسم الحل |
عرض أحداث المشغل والإجراءات مع محاولات إعادة المحاولة | مشغل الاستعلام وأحداث الإجراء لمحاولات إعادة المحاولة |
عرض أحداث المشغل والإجراءات باستخدام الموصل | الاستعلام عن أحداث المشغل والإجراء لاستخدام الموصل |
الاستعلام عن جميع أحداث المشغلات والإجراءات
بعد تشغيل سير العمل وتمرير بضع دقائق، يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض جميع أحداث العملية.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض جميع أحداث المشغلات والإجراءات، قم بإنشاء الاستعلام التالي وتشغيله:
requests | sort by timestamp desc | take 10
يظهر المثال التالي علامة التبويب النتائج مع الأعمدة والبيانات المذكورة في كل صف:
العمود الوصف مثال الاسم اسم عملية سير العمل في هذا المثال، تظهر الصفوف يدويا (مشغل الطلب) وإنشاء واستجابة. نجاح حالة تنفيذ العملية على سبيل المثال، تظهر كافة الصفوف True لتنفيذ ناجح. إذا حدث خطأ، تكون القيمة False. رمز النتيجة رمز حالة تنفيذ العملية في هذا المثال، تظهر كافة الصفوف Succeeded (200). المدة مدة تنفيذ العملية يختلف لكل عملية. لعرض تفاصيل عملية معينة، قم بتوسيع الصف للمشغل أو الإجراء:
يوضح المثال التالي التفاصيل الموسعة لمشغل الطلب :
الخاصية الوصف مثال الفئة فئة العملية، وهي دائما إما Workflow.Operations.Triggers أو Workflow.Operations.Actions، استنادا إلى العملية Workflow.Operations.Triggers. clientTrackingId معرف تعقب مخصص، إذا تم تحديده 123456 runId معرف مثيل تشغيل سير العمل 08585358375819913417237801890CU00 triggerName اسم المشغل يدوي معرف سير العمل معرف سير العمل الذي قام بتشغيل المشغل c7711d107e6647179c2e15fe2c2720ce workflowName اسم سير العمل الذي قام بتشغيل المشغل طلب الاستجابة-سير العمل operation_Name اسم العملية التي شغلت المشغل. في هذه الحالة، يكون هذا الاسم هو نفس اسم سير العمل. طلب الاستجابة-سير العمل operation_Id معرف المكون أو سير العمل الذي تم تشغيله للتو. هذا المعرف هو نفس قيمة runId لمثيل تشغيل سير العمل. إذا كانت هناك استثناءات أو تبعيات، فإن هذه القيمة تتجاوز الجداول حتى تتمكن من ربط سجل المشغل هذا بتلك الاستثناءات أو التبعيات. 08585358375819913417237801890CU00 operation_ParentId معرف قابل للربط لسير العمل الذي يسمى المشغل f95138daff8ab129 يوضح المثال التالي التفاصيل الموسعة لإجراء الإنشاء :
الخاصية الوصف مثال الفئة فئة العملية، وهي دائما إما Workflow.Operations.Triggers أو Workflow.Operations.Actions، استنادا إلى العملية Workflow.Operations.Actions clientTrackingId معرف تعقب مخصص، إذا تم تحديده 123456 actionName اسم الإجراء ألف runId معرف مثيل تشغيل سير العمل 08585358375819913417237801890CU00 معرف سير العمل معرف سير العمل الذي قام بتشغيل الإجراء c7711d107e6647179c2e15fe2c2720ce workflowName اسم سير العمل الذي قام بتشغيل الإجراء طلب الاستجابة-سير العمل اسم الحل اسم الخاصية المتعقبة، إذا تم تحديده LA-AppInsights operation_Name اسم العملية التي شغلت الإجراء. في هذه الحالة، يكون هذا الاسم هو نفس اسم سير العمل. طلب الاستجابة-سير العمل operation_Id معرف المكون أو سير العمل الذي تم تشغيله للتو. هذا المعرف هو نفس قيمة runId لمثيل تشغيل سير العمل. إذا كانت هناك استثناءات أو تبعيات، فإن هذه القيمة تتجاوز الجداول حتى تتمكن من ربط سجل الإجراء هذا بتلك الاستثناءات أو التبعيات. 08585358375819913417237801890CU00 operation_ParentId معرف قابل للارتباط لسير العمل الذي دعا الإجراء f95138daff8ab129
الاستعلام عن أحداث التشغيل أو الإجراء فقط
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض مجموعة فرعية من أحداث العملية، استنادا إلى فئة العملية واسم سير العمل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض كافة أحداث المشغل في سير عمل معين، قم بإنشاء وتشغيل استعلام مع تعيين قيمة الخاصية customDimensions.Category إلى Workflow.Operations.Triggers operation_Name تعيين إلى اسم سير العمل، على سبيل المثال:
requests | where customDimensions.Category == "Workflow.Operations.Triggers" and operation_Name == "Request-Response-Workflow"
لعرض كافة أحداث الإجراءات في سير عمل معين، قم بإنشاء استعلام مع تعيين قيمة الخاصية customDimensions.Category إلى Workflow.Operations.Actions وتعيين operation_Name إلى اسم سير العمل، على سبيل المثال:
requests | where customDimensions.Category == "Workflow.Operations.Actions" and operation_Name == "Request-Response-Workflow"
مشغل الاستعلام أو أحداث الإجراء حسب نوع العملية
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض الأحداث لمشغل أو نوع إجراء معين.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض كافة أحداث العملية بنوع مشغل معين، قم بإنشاء وتشغيل استعلام مع تعيين قيمة customDimensions.triggerType إلى نوع المشغل الذي تريده، على سبيل المثال:
requests | where customDimensions.triggerType == "Request"
لعرض كافة أحداث العملية بنوع إجراء معين، قم بإنشاء وتشغيل استعلام مع تعيين قيمة customDimensions.actionType إلى نوع الإجراء الذي تريده، على سبيل المثال:
requests | where customDimensions.actionType == "Compose"
مشغل الاستعلام وأحداث الإجراء حسب معرف تشغيل سير العمل
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض مجموعة فرعية من أحداث العملية، استنادا إلى معرف تشغيل سير العمل. معرف تشغيل سير العمل هذا هو نفس المعرف الذي يمكنك العثور عليه في محفوظات تشغيل سير العمل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض كافة أحداث العملية بمعرف تشغيل سير عمل معين، قم بإنشاء استعلام وتشغيله باستخدام القيمة operation_Id المعينة إلى معرف تشغيل سير العمل، على سبيل المثال:
requests | where operation_Id == "08585287554177334956853859655CU00"
مشغل الاستعلام وأحداث الإجراء بواسطة معرف تتبع العميل
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض مجموعة فرعية من أحداث العملية، استنادا إلى اسم سير العمل ومعرف تتبع العميل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض كافة أحداث العملية مع معرف تعقب عميل معين في سير عمل معين، قم بإنشاء وتشغيل استعلام مع تعيين قيمة operation_Name إلى اسم سير العمل وقيمة الخاصية clientTrackingId المعينة إلى القيمة التي تريدها، على سبيل المثال:
requests | where operation_Name == "Request-Response-Workflow" | extend correlation = todynamic(tostring(customDimensions.correlation)) | where correlation.clientTrackingId == "123456"
مشغل الاستعلام وأحداث الإجراء حسب اسم الحل
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض مجموعة فرعية من أحداث العملية، استنادا إلى اسم سير العمل واسم الحل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض كافة أحداث العملية مع معرف تعقب عميل معين في سير عمل معين، قم بإنشاء وتشغيل استعلام مع تعيين قيمة operation_Name إلى اسم سير العمل وقيمة خاصية solutionName المعينة إلى القيمة التي تريدها، على سبيل المثال:
requests | where operation_Name == "Request-Response-Workflow" and customDimensions has "trackedProperties" | extend trackedProperties = todynamic(tostring(customDimensions.trackedProperties)) | where trackedProperties.solutionName == "LA-AppInsights"
عمليات إعادة المحاولة
لإظهار كيفية وصول هذه البيانات إلى جدول الطلبات، يستخدم سير العمل القياسي المثال التالي إجراء HTTP يستدعي عنوان URL، والذي لا يحل. يحتوي سير العمل أيضا على نهج إعادة محاولة يتم تعيينه إلى فاصل زمني ثابت يعيد المحاولة ثلاث مرات، مرة واحدة كل 60 ثانية.
مشغل الاستعلام وأحداث الإجراء لمحاولات إعادة المحاولة
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض مجموعة فرعية من أحداث العملية مع محاولات إعادة المحاولة.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض أحداث التشغيل والإجراءات فقط مع محفوظات إعادة المحاولة، قم بإنشاء وتشغيل الاستعلام التالي في Application Insights:
requests | extend retryHistory = tostring(tostring(customDimensions.retryHistory)) | where isnotempty(retryHistory)
لعرض محاولات إعادة المحاولة لعملية معينة باستخدام نهج إعادة المحاولة، قم بتوسيع الصف لهذه العملية.
يوضح المثال التالي التفاصيل الموسعة لإجراء HTTP :
تشير قيم خاصية success و resultCode إلى فشل إجراء HTTP. بالإضافة إلى الخصائص الموضحة في الاستعلام عن جدول الطلبات لكافة أحداث المشغل والإجراءات، يحتوي السجل على المعلومات التالية، والتي تتضمن ثلاث محاولات لإعادة المحاولة:
الخاصية الوصف مثال إعادة المحاولةHistory تفاصيل المحفوظات لمحاولة واحدة أو أكثر من محاولات إعادة المحاولة رمز نوع الخطأ لمحاولة إعادة محاولة معينة error تفاصيل حول الخطأ المحدد الذي حدث
مشغل الاستعلام وأحداث الإجراء لاستخدام الموصل
يمكنك إنشاء استعلام مقابل جدول الطلبات لعرض مجموعة فرعية من أحداث العملية، استنادا إلى استخدام موصل معين.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض كافة أحداث المشغل باستخدام نوع موصل معين، قم بإنشاء استعلام وتشغيله باستخدام الخصائص والقيم التالية:
requests | where customDimensions.Category == "Workflow.Operations.Triggers" and customDimensions.triggerType =="ApiConnectionWebhook" and customDimensions.apiName =="commondataservice"
الخاصية مثال للقيمة customDimensions.Category Workflow.Operations.Triggers customDimensions.triggerType نوع العملية، على سبيل المثال، ApiConnectionWebhook customDimensions.apiName اسم واجهة برمجة التطبيقات للموصل بتنسيق JSON، على سبيل المثال، commondataservice لموصل Microsoft Dataverse لعرض جميع أحداث الإجراءات باستخدام موصل معين، قم بإنشاء وتشغيل استعلام مع تعيين قيمة customDimensions.Category إلى Workflow.Operations.Actions وقيمة customDimensions.triggerType التي تم تعيينها إلى نوع العملية وتعيين customDimensions.apiName إلى اسم API للموصل بتنسيق JSON، على سبيل المثال:
الخاصية مثال للقيمة customDimensions.Category Workflow.Operations.Actions customDimensions.triggerType نوع العملية، على سبيل المثال، ApiConnection customDimensions.apiName اسم واجهة برمجة التطبيقات للموصل بتنسيق JSON، على سبيل المثال، office365 لموصل Microsoft Office 365 Outlook requests | where customDimensions.Category == "Workflow.Operations.Actions" and customDimensions.actionType == "ApiConnection" and customDimensions.apiName == "office365"
بالنسبة لكل من المشغلات والإجراءات، يميز Application Insights بين أنواع الاتصالات الموجودة. قد ترى قيما مختلفة في حقلي actionType و triggerType استنادا إلى ما إذا كان الاتصال يحتوي على ApiConnection أو ApiConnectionWebhook أو النوع الأساسي المضمن مثل Request أو نوع ServiceProvider المستند إلى موفر الخدمة المضمن.
جدول التتبعات
يحتوي جدول Traces على حقول تتعقب البيانات حول الأحداث التالية في تشغيل سير العمل القياسي:
أحداث بدء سير العمل وإنهاءه
يتم تمثيل هذه المعلومات كحدثين مميزين بسبب احتمال تنفيذ مهام سير العمل طويلة الأمد.
أحداث إرسال واستقبال الدفعات
لمزيد من المعلومات، راجع استخدام العمليات الدفعية المضمنة في Azure Logic Apps (قياسي)
تحتوي القائمة التالية على أمثلة للاستعلامات التي يمكنك إنشاؤها وتشغيلها مقابل جدول Traces:
مهمة | الخطوات |
---|---|
عرض أحداث البدء والانتهاء في جميع عمليات تشغيل سير العمل | الاستعلام عن أحداث البدء والانتهاء في جميع عمليات تشغيل سير العمل |
عرض أحداث البدء والانتهاء في تشغيل سير عمل معين | الاستعلام عن أحداث البدء والانتهاء في تشغيل سير العمل |
عرض أحداث إرسال واستقبال الدفعات في جميع عمليات تشغيل سير العمل | الاستعلام عن أحداث إرسال الدفعات وتلقي الدفعات في جميع عمليات تشغيل سير العمل |
الاستعلام عن أحداث البدء والانتهاء في جميع عمليات تشغيل سير العمل
يمكنك إنشاء استعلام مقابل جدول Traces لعرض جميع أحداث البدء والنهاية لجميع عمليات تشغيل سير العمل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
إنشاء استعلام وتشغيله مع تعيين قيمة customDimensions.Category إلى Workflow.Operations.Runs، على سبيل المثال:
traces | where customDimensions.Category == "Workflow.Operations.Runs"
الاستعلام عن أحداث البدء والانتهاء في تشغيل سير عمل معين
يمكنك إنشاء استعلام مقابل جدول Traces لعرض أحداث البدء والنهاية لتشغيل سير عمل معين.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
إنشاء استعلام وتشغيله مع تعيين قيمة customDimensions.Category إلى Workflow.Operations.Runs وتعيين قيمة operation_Id إلى معرف تشغيل سير العمل، على سبيل المثال:
traces | where customDimensions.Category == "Workflow.Operations.Runs" | and operation_Id == "08585287571846573488078100997CU00"
الاستعلام عن أحداث إرسال الدفعات وتلقي الدفعات في جميع عمليات تشغيل سير العمل
يمكنك إنشاء استعلام مقابل جدول Traces لعرض أحداث إرسال الدفعة وتلقي الدفعة في جميع عمليات تشغيل سير العمل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
إنشاء استعلام وتشغيله مع تعيين قيمة customDimensions.Category إلى Workflow.Operations.Runs وتعيين قيمة operation_Id إلى معرف تشغيل سير العمل، على سبيل المثال:
traces | where customDimensions.Category == "Workflow.Operations.Batch"
جدول الاستثناءات
يحتوي جدول الاستثناءات على حقول تتعقب البيانات حول أحداث الاستثناء في تشغيل سير العمل القياسي. لإظهار كيفية وصول البيانات إلى هذه الحقول، افترض أن لديك المثال التالي لسير العمل القياسي الذي يبدأ بمشغل الطلب متبوعا بإجراء الإنشاء وإجراء الاستجابة. يستخدم الإجراء Compose تعبيرا يقسم قيمة على صفر، ما يؤدي إلى إنشاء استثناء:
الاستعلام عن أحداث الاستثناء في جميع عمليات تشغيل سير العمل
يمكنك إنشاء استعلام مقابل جدول الاستثناءات لعرض أحداث الاستثناء في كافة عمليات تشغيل سير العمل.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض جميع أحداث الاستثناء، قم بإنشاء وتشغيل الاستعلام التالي في Application Insights:
exceptions | sort by timestamp desc
لعرض تفاصيل استثناء معين، قم بتوسيع الصف لهذا الاستثناء:
يوضح المثال التالي الاستثناء الموسع لإجراء الإنشاء وتفاصيل حول الاستثناء:
الخاصية الوصف معرف المشكلة نوع الاستثناء، أو وصف مختصر حول الاستثناء الذي حدث رسالة خارجية وصف أكثر تفصيلا حول الاستثناء التفاصيل معلومات مطولة وكاملة حول الاستثناء clientTrackingId معرف تعقب العميل، إذا تم تحديده معرف سير العمل معرف سير العمل الذي واجه الاستثناء workflowName اسم سير العمل الذي واجه الاستثناء runId معرف مثيل تشغيل سير العمل actionName اسم الإجراء الذي فشل مع الاستثناء operation_Name اسم سير العمل الذي واجه الاستثناء operation_Id معرف المكون أو سير العمل الذي تم تشغيله للتو. هذا المعرف هو نفس قيمة runId لمثيل تشغيل سير العمل. تتجاوز هذه القيمة الجداول حتى تتمكن من ربط سجل الاستثناء هذا بمثيل تشغيل سير العمل. operation_ParentId معرف سير العمل الذي يسمى الإجراء، والذي يمكنك ربطه بمعرف الإجراء في جدول الطلبات لعرض الاستثناءات لسير عمل معين، قم بإنشاء الاستعلام التالي وتشغيله:
exceptions | where operation_Name contains "Request-Response-Workflow-Exception"
جدول التبعيات
يحتوي جدول التبعيات على حقول تتعقب البيانات حول أحداث التبعية في تشغيل سير العمل القياسي. يتم إصدار هذه الأحداث عندما يستدعي أحد الموارد موردا آخر وعندما يستخدم كلا الموردين Application Insights. تتضمن أمثلة Azure Logic Apps خدمة تستدعي خدمة أخرى عبر HTTP أو قاعدة بيانات أو نظام ملفات. يقيس Application Insights مدة استدعاءات التبعية وما إذا كانت هذه الاستدعاءات تنجح أو تفشل، جنبا إلى جنب مع المعلومات، مثل اسم التبعية. يمكنك التحقيق في مكالمات تبعية محددة وربطها بالطلبات والاستثناءات.
لإظهار كيفية وصول البيانات إلى هذه الحقول، افترض أن لديك المثال التالي سير العمل الأصل القياسي الذي يستدعي سير عمل تابع عبر HTTP باستخدام إجراء HTTP :
الاستعلام عن أحداث التبعية في سير عمل معين
يمكنك إنشاء استعلام مقابل جدول التبعيات لعرض أحداث التبعية في تشغيل سير عمل معين.
إذا لزم الأمر، حدد النطاق الزمني الذي تريد مراجعته. بشكل افتراضي، هذه القيمة هي آخر 24 ساعة.
لعرض أحداث التبعية بين سير العمل الأصل وسير العمل التابع، قم بإنشاء الاستعلام التالي وتشغيله:
union requests, dependencies | where operation_Id contains "<runId>"
يستخدم هذا الاستعلام عامل التشغيل الموحد لإرجاع السجلات من جدول الطلبات وجدول التبعيات. يستخدم الاستعلام أيضا قيمة الخاصية operation_Id لتوفير الارتباط بين السجلات عن طريق تحديد قيمة runId لسير العمل التي تريدها، على سبيل المثال:
union requests, dependencies | where operation_Id contains "08585355753671110236506928546CU00"
يوضح المثال التالي حدث تبعية لسير العمل المحدد، بما في ذلك سجلات أحداث العملية في سير العمل الأصل من جدول الطلبات ثم سجل تبعية من جدول التبعيات:
بالنسبة لسجلات أحداث العملية، يعرض عمود itemType أنواع السجلات الخاصة بها كطلب. بالنسبة لسجل التبعية، يشير عمود itemType إلى نوع السجل كتبعية.
الخاصية الوصف runId معرف مثيل تشغيل سير العمل actionName اسم الإجراء حيث يحدث حدث التبعية operation_Id معرف سير العمل المحدد. هذا المعرف هو نفس قيمة runId لمثيل تشغيل سير العمل. تتجاوز هذه القيمة الجداول حتى تتمكن من ربط سجل التبعية هذا بمثيل تشغيل سير العمل. operation_ParentId معرف الإجراء حيث يحدث حدث التبعية، والذي يربط أيضا سجل حدث العملية وسجل حدث التبعية معا
باستخدام الاستعلام الخاص بك، يمكنك أيضا تصور استدعاء التبعية من سير عمل أصل إلى سير عمل تابع عند استخدام مخطط التطبيق في Application Insights. توفر قيمة operation_Id في الاستعلام الارتباط الذي يجعل هذا المرئيات ممكنا.
لفتح خريطة التطبيق، في قائمة مورد Application Insights، ضمن Investigate، حدد Application map.
أحداث التصفية
في Application Insights، يمكنك تصفية الأحداث بالطرق التالية:
إنشاء الاستعلامات وتشغيلها كما هو موضح في الأقسام السابقة.
قم بالتصفية في المصدر عن طريق تحديد معايير لتقييمها قبل إصدار الأحداث.
من خلال تطبيق عوامل التصفية في المصدر، يمكنك تقليل مقدار التخزين الضروري ونتيجة لذلك، تكاليف التشغيل.
تطبيق التصفية في المصدر
في جدول الطلبات أو جدول التتبعات، يحتوي السجل على عقدة تسمى customDimensions، والتي تحتوي على خاصية Category . على سبيل المثال، في جدول الطلبات، يبدو سجل الطلب لحدث مشغل Batch مشابها للعينة التالية:
في جدول الطلبات، يمكن أن تساعدك قيم خصائص الفئة التالية في التمييز بين مستويات الإسهاب المختلفة وإقرانها:
قيمة الفئة | الوصف |
---|---|
Workflow.Operations.Triggers | تعريف سجل طلب لحدث مشغل |
Workflow.Operations.Actions | تعريف سجل طلب لحدث إجراء |
لكل قيمة فئة، يمكنك تعيين مستوى الإسهاب بشكل مستقل في ملف host.json لمورد أو مشروع تطبيق المنطق الخاص بك. على سبيل المثال، لإرجاع سجلات أحداث المشغل أو الإجراء التي تحتوي على أخطاء فقط، في ملف host.json، يمكنك إضافة كائن JSON التسجيل التالي، الذي يحتوي على كائن logLevel JSON مع مستويات الإسهاب التي تريدها:
{
"logging": {
"logLevel": {
"Workflow.Operations.Actions": "Error",
"Workflow.Operations.Triggers": "Error"
}
}
}
بالنسبة لسجلات جدول Traces، توضح الأمثلة التالية الطرق التي يمكنك من خلالها تغيير مستوى الإسهاب للأحداث:
{
"logging": {
"logLevel": {
"Workflow.Host": "Warning",
"Workflow.Jobs": "Warning",
"Workflow.Runtime": "Warning"
}
}
}
يعين المثال التالي مستوى الإسهاب الافتراضي للسجل إلى تحذير، ولكنه يحتفظ بمستوى الإسهاب في معلومات أحداث تشغيل المشغل والإجراء وسير العمل:
{
"logging": {
"logLevel": {
"default": "Warning",
"Workflow.Operations.Actions": "Information",
"Workflow.Operations.Runs": "Information",
"Workflow.Operations.Triggers": "Information"
}
}
}
إذا لم تحدد أي قيم logLevel ، فإن مستوى الإسهاب الافتراضي هو المعلومات. لمزيد من المعلومات، اطلع على تكوين مستويات السجل.
في مدخل Microsoft Azure، افتح مورد تطبيق المنطق القياسي.
في قائمة logic app، ضمن Development Tools، حدد Advanced Tools. في صفحة Advanced Tools ، حدد Go، الذي يفتح أدوات Kudu.
في صفحة Kudu ، من قائمة وحدة تحكم تتبع الأخطاء، حدد CMD. في جدول دليل المجلد، استعرض للوصول إلى الملف التالي وحدد Edit: site/wwwroot/host.json
في ملف host.json ، أضف كائن تسجيل JSON مع تعيين قيم logLevel إلى مستويات الإسهاب التي تريدها:
{ "logging": { "logLevel": { "Workflow.Operations.Actions": "<verbosity-level>", "Workflow.Operations.Triggers": "<verbosity-level>" } } }
عرض مقاييس سير العمل في Application Insights
مع تحسينات القياس عن بعد في Application Insights، يمكنك أيضا الحصول على رؤى سير العمل في لوحة معلومات المقاييس.
فتح لوحة معلومات المقاييس وإعداد عوامل التصفية الأساسية
في مدخل Microsoft Azure، افتح مورد Application Insights، إذا لم يكن مفتوحا بالفعل.
في قائمة مورد Application Insights، ضمن Monitoring، حدد Metrics.
من قائمة النطاق، حدد مثيل Application Insights.
من قائمة Metric Namespace ، حدد workflow.operations.
من قائمة Metric، حدد مقياسا، على سبيل المثال، Runs Completed.
من قائمة التجميع، حدد نوعا، على سبيل المثال، Count أو Avg.
عند الانتهاء، تعرض لوحة معلومات Metrics مخططا مع عمليات تنفيذ سير العمل النهائية.
تصفية استنادا إلى سير عمل معين
عند تمكين المقاييس متعددة الأبعاد في لوحة معلومات المقاييس، يمكنك استهداف مجموعة فرعية من الأحداث الإجمالية التي تم التقاطها في Application Insights وتصفية الأحداث استنادا إلى سير عمل معين.
على مورد Application Insights، قم بتمكين المقاييس متعددة الأبعاد.
في Application Insights، افتح لوحة معلومات المقاييس.
على شريط أدوات المخطط، حدد إضافة عامل تصفية.
من قائمة الخصائص، حدد سير العمل.
من قائمة عامل التشغيل ، حدد علامة التساوي (=).
من قائمة القيم، حدد مهام سير العمل التي تريدها.
عرض بيانات السجل والمقاييس "المباشرة"
مع تمكين بيانات تتبع الاستخدام المحسنة ل Application Insights، يمكنك عرض بيانات السجل القريبة من الوقت الحقيقي والمقاييس الأخرى من مثيل Application Insights في مدخل Microsoft Azure. يمكنك استخدام هذه المرئيات لرسم الطلبات الواردة والطلبات الصادرة والصحة العامة. يمكنك أيضا الحصول على جدول لتشخيصات مستوى التتبع.
في مدخل Microsoft Azure، افتح مورد Application Insights، إذا لم يكن مفتوحا بالفعل.
في قائمة مورد Application Insights، ضمن Investigate، حدد Live metrics.
تعرض صفحة المقاييس المباشرة بيانات السجل والمقاييس الأخرى، على سبيل المثال:
لمزيد من المعلومات، راجع القياسات المباشرة: المراقبة والتشخيص باستخدام زمن انتقال لمدة ثانية.
إشعار
نظرا لأن مهام سير عمل تطبيق المنطق القياسي تستند إلى Azure Functions، تدعم Live Metrics مهام سير عمل التطبيق المنطقي هذه.
دفق وعرض إخراج تصحيح الأخطاء من ملفات سجل التطبيق
مع تمكين القياس عن بعد المحسن ل Application Insights، يمكنك دفق معلومات تصحيح الأخطاء المطولة في مدخل Microsoft Azure لملفات سجل التطبيق الخاص بك. هذه المعلومات تعادل الإخراج الذي تم إنشاؤه من تصحيح أخطاء سير العمل في بيئة Visual Studio Code المحلية.
في مدخل Microsoft Azure، افتح مورد تطبيق المنطق القياسي.
في قائمة موارد تطبيق المنطق، ضمن Monitoring، حدد Log stream.
تتصل صفحة دفق السجل بمثيل Application Insights وتعرض إخراج تصحيح الأخطاء. على سبيل المثال، يتضمن الإخراج التالي استدعاءات الطلب والاستجابة من بين معلومات أخرى: