تصحيح الأخطاء المستند إلى البيانات باستخدام الرسم التخطيطي للوظيفة

يمكن أن يساعدك الرسم التخطيطي للوظيفة على الشريحةMonitoring في مدخل Microsoft Azure في تصور مسار عملك. يعرض المدخلات والمخرجات وخطوات الاستعلام. يمكنك استخدام الرسم التخطيطي للوظيفة لفحص المقاييس لكل خطوة، لعزل مصدر المشكلة بشكل أسرع عند استكشاف المشكلات وإصلاحها.

استخدام الرسم التخطيطي للمهمة

في مدخل Microsoft Azure، أثناء وجودك في وظيفة Stream Analytics، ضمن SUPPORT + TROUBLESHOOTING، حدد Job diagram:

Job diagram with metrics - location

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

Job diagram with metrics - basic job

لمشاهدة أقسام إدخال مراكز الأحداث، حدد . . . تظهر قائمة سياق. يمكنك أيضا رؤية دمج الإدخال.

Job diagram with metrics - expand partition

لمشاهدة مخطط المقاييس لقسم واحد فقط، حدد عقدة القسم. يتم عرض المقاييس في أسفل الصفحة.

Job diagram with metrics - more metrics

لمشاهدة مخطط المقاييس لعملية دمج، حدد عقدة الدمج. يوضح المخطط التالي أنه لم يتم إسقاط أي أحداث أو تعديلها.

Job diagram with metrics - grid

للاطلاع على تفاصيل قيمة المقياس ووقته، أشر إلى المخطط.

Job diagram with metrics - hover

استكشاف الأخطاء وإصلاحها باستخدام المقاييس

يشير مقياس QueryLastProcessedTime إلى وقت تلقي خطوة معينة للبيانات. من خلال النظر إلى المخطط، يمكنك العمل للخلف من معالج الإخراج لمعرفة الخطوة التي لا تتلقى البيانات. إذا كانت الخطوة لا تحصل على البيانات، فانتقل إلى خطوة الاستعلام قبلها تماما. تحقق مما إذا كانت خطوة الاستعلام السابقة تحتوي على نافذة زمنية، وما إذا كان قد مر وقت كاف لإخراج البيانات. (لاحظ أنه يتم محاذاة نوافذ الوقت إلى الساعة.)

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

ما مقدار البيانات التي تتم قراءتها؟

  • InputEventsSourcesTotal هو عدد وحدات البيانات المقروءة. على سبيل المثال، عدد الكائنات الثنائية كبيرة الحجم.
  • InputEventsTotal هو عدد الأحداث المقروءة. يتوفر هذا المقياس لكل قسم.
  • InputEventsInBytesTotal هو عدد وحدات البايت المقروءة.
  • يتم تحديث InputEventsLastArrivalTime مع وقت كل حدث تم تلقيه في قائمة الانتظار.

هل الوقت يمضي قدما؟ إذا تم قراءة الأحداث الفعلية، فقد لا يتم إصدار علامات الترقيم.

  • يشير InputEventsLastPunctuationTime إلى وقت إصدار علامات ترقيم للحفاظ على الوقت للمضي قدما. إذا لم يتم إصدار علامات الترقيم، يمكن حظر تدفق البيانات.

هل هناك أي أخطاء في الإدخال؟

  • InputEventsEventDataNullTotal هو عدد الأحداث التي تحتوي على بيانات فارغة.
  • InputEventsSerializerErrorsTotal هو عدد الأحداث التي تعذر إلغاء تسلسلها بشكل صحيح.
  • InputEventsDegradedTotal هو عدد الأحداث التي كانت لها مشكلة أخرى غير إلغاء التسلسل.

هل يتم إسقاط الأحداث أو تعديلها؟

  • InputEventsEarlyTotal هو عدد الأحداث التي تحتوي على طابع زمني للتطبيق قبل خاصية العلامة المائية المتطورة.
  • InputEventsLateTotal هو عدد الأحداث التي تحتوي على طابع زمني للتطبيق بعد خاصية العلامة المائية المتطورة.
  • InputEventsDroppedBeforeApplicationStartTimeTotal هو عدد الأحداث التي تم إسقاطها قبل وقت بدء المهمة.

هل نتخلف في قراءة البيانات؟

  • تخبرك أحداث الإدخال المتراكمة (الإجمالي) بعدد الرسائل التي يجب قراءتها لمراكز الأحداث وإدخالات Azure IoT Hub. عندما يكون هذا الرقم أكبر من 0، فهذا يعني أن وظيفتك لا يمكنها معالجة البيانات بالسرعة التي تأتي بها. في هذه الحالة، قد تحتاج إلى زيادة عدد وحدات البث و/أو التأكد من إمكانية توازي وظيفتك. يمكنك مشاهدة مزيد من المعلومات حول هذا في صفحة توازي الاستعلام.

الحصول على المساعدة

للحصول على مساعدة إضافية، جرب صفحة سؤال Microsoft Q&A الخاصة بنا ل Azure Stream Analytics.

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