استخدام Stream Analytics لمعالجة البيانات المصدرة من Application Insights

Azure Stream Analytics هي الأداة المثالية لمعالجة البيانات المصدرة من Application Insights. يمكن لـStream Analytics سحب البيانات من مجموعة متنوعة من المصادر. يمكن تحويل البيانات وترشيحها، ومن ثم توجيهها إلى مجموعة متنوعة من المصارف.

في هذا المثال، سنقوم بإنشاء محول يأخذ البيانات من Application Insights باستخدام التصدير المستمر وإعادة تسمية بعض الحقول ومعالجتها، وتوجيهها إلى Power BI.

تحذير

هناك طرق أفضل وأسهل بكثير الموصى بها لعرض Application Insights data في Power BI. المسار الموضح هنا هو مجرد مثال لتوضيح كيفية معالجة البيانات المصدرة.

هام

تم إهمال التصدير المستمر وهو معتمد فقط لموارد Application Insights الكلاسيكية. ترحيل إلى مورد Application Insights القائم على مساحة العمل لاستخدام الإعدادات التشخيصية لتصدير بيانات تتبع الاستخدام.

Block diagram for export through Stream Analytics to PowerBI.

إنشاء موقع تخزين في Azure

يقوم التصدير المستمر دائمًا بإخراج البيانات إلى حساب تخزين Azure، لذا تحتاج إلى إنشاء وحدة التخزين أولا.

  1. «Create» حساب تخزين كلاسيكي في اشتراكك في مدخل Microsoft Azure.

    Screenshot of the Azure portal, choose New, Data, Storage.

  2. إنشاء حاوية

    Screenshot of the new storage, select Containers, click the Containers tile, and then Add.

  3. نسخ مفتاح اختصار موقع التخزين

    ستحتاج إليه قريبًا لإعداد المدخلات في خدمة تحليلات البث.

    Screenshot of storage, open Settings, Keys, and take a copy of the Primary Access Key.

بدء التصدير المستمر إلى Azure Storage

ينقل التصدير المستمر البيانات من Application Insights إلى تخزين Azure.

  1. في مدخل Microsoft Azure، استعرض للوصول إلى مورد Application Insights الذي قمت بإنشائه للتطبيق الخاص بك.

    Screenshot of all resources in the Azure portal, Choose Application Insights then your application.

  2. إنشاء تصدير مستمر.

    Screenshot of Application Insights and choose Settings, Continuous Export, then Add.

    حدد حساب التخزين الذي أنشأته.

    Screenshot of Continuous export, select with add then set the export destination.

    تعيين أنواع الأحداث التي تريد مشاهدتها:

    Screenshot of add continuous export and choose event types.

  3. دع بعض البيانات تتراكم. استرخ والسماح للناس استخدام التطبيق الخاص بك لفترة من الوقت. ستأتي بيانات تتبع الاستخدام وسوف ترى المخططات الإحصائية في المستكشف المتري والأحداث الفردية في البحث التشخيصي.

    وأيضًا، سوف يتم تصدير البيانات إلى موقع التخزين الخاص بك.

  4. فحص البيانات المصدرة. في Visual Studio، اختر «View / Cloud Explorer»، و»open Azure / Storage». (في حال لم يكن لديك خيار القائمة، فسوف تحتاج إلى تثبيت SDK Azure: افتح مربع الحوار «New Project» وافتح «Visual C# / Cloud / Get Microsoft Azure SDK for .NET)»

    Screenshot showing how to set the event types that you want to see.

    دوّن جزءًا مشتركًا من اسم المسار، الُمشتق من اسم التطبيق ومفتاح خاص بتقرير عن حالة النظام.

تتم كتابة الأحداث إلى ملفات blob بتنسيق JSON. قد يحتوي كل ملف على حدث واحد أو أكثر. لذلك نود قراءة بيانات الحدث وترشيح الحقول التي نريدها. جميع أنواع الأشياء التي يمكننا القيام بها مع البيانات، ولكن خطتنا اليوم هي استخدام Stream Analytics لتوجيه البيانات إلى Power BI.

إنشاء مثيل Azure Stream Analytics

من مدخل Microsoft Azure، حدد خدمة Azure Stream Analytics، وأنشئ وظيفة Stream Analytics جديدة:

Screenshot that shows the main page for creating Stream Analytics job in the Azure portal.

Screenshot that shows the details needed when creating a new Stream Analytics job.

بمجرد إنشاء المورد، حدد انتقال إلى المورد.

Screenshot that shows the message received when the new Stream Analytics job deployment is successful.

إضافة إدخال جديد

Screenshot that shows how to add inputs to the Stream Analytics job.

اضبطه لأخذ مدخلات من ملف البيانات الثنائية الكبيرة للتصدير المستمر:

Screenshot that shows configuring the Stream Analytics job to take input from a Continuous Export blob.

ستحتاج الآن إلى مفتاح الوصول الأساسي من حساب التخزين، الذي لاحظته سابقًا. تعيين هذا كمفتاح حساب التخزين.

تعيين نمط بادئة المسار

تأكد من «set» صيغة التاريخ إلى يوم- شهر- عام (مع شرطات).

يحدد نمط بادئة المسار المكان الذي يعثر فيه Stream Analytics على ملفات الإدخال في التخزين. تحتاج إلى تعيينها لتتوافق مع كيفية تخزين "Continuous Export" للبيانات. تعيينها كما يلي:

webapplication27_12345678123412341234123456789abcdef0/PageViews/{date}/{time}

في هذا المثال:

  • webapplication27اسم مورد Application Insights بأحرف صغيرة.
  • 1234...هو مفتاح تقرير عن حالة النظام من مورد Application Insights، حذف الشرطات .
  • PageViewsهو نوع البيانات التي تريد تحليلها. تعتمد الأنواع المتوفرة على عامل التصفية الذي قمت بتعيينه في "Continuous Export.". فحص البيانات المصدرة للاطلاع على الأنواع الأخرى المتوفرة، وراجع نموذج بيانات التصدير.
  • /{date}/{time}هو النمط المكتوب حرفيًا.

ملاحظة

فحص التخزين للتأكد من الحصول على المسار الصحيح.

«Add» إخراج جديد

الآن حدد وظيفتك >المخرجاتإضافة>.

Screenshot that shows selecting your Stream Analytics job to add a new output.

Screenshot of new output, select the new channel, Outputs, Add, then Power BI.

وفر حساب العمل أو المدرسة لتفويض Stream Analytics بالوصول إلى مورد Power BI. ثم اخترع اسما للمخرجات، ولمجموعة بيانات Power BI المستهدفة وجدولها.

تعيين الاستعلام

الاستعلام يحكم الترجمة من الإدخال إلى الإخراج.

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

الاستعلام لعرض عدد الأحداث

لصق هذا الاستعلام:

SELECT
  flat.ArrayValue.name,
  count(*)
INTO
  [pbi-output]
FROM
  [export-input] A
OUTER APPLY GetElements(A.[event]) as flat
GROUP BY TumblingWindow(minute, 1), flat.ArrayValue.name
  • export-input هو الاسم المستعار الذي أعطيناه لإدخال التدفق
  • pbi-output هو الاسم المستعار للإخراج الذي حددناه
  • نحن نستخدم "OUTER APPLY GetElements" لأن اسم الحدث في صفيف a nested JSON. ثم يختار اسم الحدث، مع عدد المثيلات التي تحمل هذا الاسم في الفترة الزمنية. يُجمع شرط«Group By» العناصر في فترات زمنية تبلغ دقيقة واحدة.

الاستعلام عن عرض قيم القياس.

SELECT
  A.context.data.eventtime,
  avg(CASE WHEN flat.arrayvalue.myMetric.value IS NULL THEN 0 ELSE  flat.arrayvalue.myMetric.value END) as myValue
INTO
  [pbi-output]
FROM
  [export-input] A
OUTER APPLY GetElements(A.context.custom.metrics) as flat
GROUP BY TumblingWindow(minute, 1), A.context.data.eventtime
  • يدعم هذا الاستعلام بيانات تتبع الاستخدام عن بعد للمقاييس للحصول على وقت الحدث والقيمة المترية. قيم القياس داخل صفيف، لذلك نحن نستخدم نمط OUTER APPLY GetElements لاستخراج الصفوف. "myMetric" هو اسم القياس في هذه الحالة.

الاستعلام لتضمين قيم خصائص البعد

WITH flat AS (
SELECT
  MySource.context.data.eventTime as eventTime,
  InstanceId = MyDimension.ArrayValue.InstanceId.value,
  BusinessUnitId = MyDimension.ArrayValue.BusinessUnitId.value
FROM MySource
OUTER APPLY GetArrayElements(MySource.context.custom.dimensions) MyDimension
)
SELECT
  eventTime,
  InstanceId,
  BusinessUnitId
INTO AIOutput
FROM flat
  • يتضمن هذا الاستعلام قيم خصائص البعد دون الاعتماد على بعد معين في فهرس ثابت في صفيف الأبعاد.

تشغيل المهمة

يمكنك تحديد التاريخ في الماضي لبدء المهمة.

Screenshot of Stream Analyics, select the job and click Query. Paste the sample below.

انتظر حتى يتم تشغيل المهمة.

شاهد النتائج في Power BI

تحذير

هناك طرق أفضل وأسهل بكثير الموصى بها لعرض Application Insights data في Power BI. المسار الموضح هنا هو مجرد مثال لتوضيح كيفية معالجة البيانات المصدرة.

افتح Power BI باستخدام حساب العمل أو المدرسة، وحدد «select» مجموعة البيانات والجدول المعرفين بأنهم إخراج مهمة Stream Analytics.

Screenshot of Power BI, select your dataset and fields.

الآن يمكنك استخدام مجموعة البيانات في التقارير ولوحات المعلومات في Power BI.

Screenshot shows a report example made from a dataset in Power BI.

ألا توجد بيانات أخرى؟

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