مراقبة Azure IoT Hub

توضح هذه المقالة ما يلي:

  • أنواع بيانات المراقبة التي يمكنك جمعها لهذه الخدمة.
  • طرق لتحليل تلك البيانات.

إشعار

إذا كنت على دراية بهذه الخدمة و/أو Azure Monitor وتريد فقط معرفة كيفية تحليل بيانات المراقبة، فشاهد قسم Analyze بالقرب من نهاية هذه المقالة.

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

قطع اتصال الشاشة لكل جهاز مع Event Grid

يوفر Azure Monitor مقياسا يسمى الأجهزة المتصلة التي يمكنك استخدامها لمراقبة عدد الأجهزة المتصلة بمركز IoT. يقوم هذا المقياس بتشغيل تنبيه عندما ينخفض عدد الأجهزة المتصلة إلى أقل من قيمة الحد. ترسل Azure Monitor أيضاً أحداثاً في فئة الاتصالات التي يمكنك استخدامها لمراقبة اتصالات الجهاز وعمليات قطع الاتصال وأخطاء الاتصال. في حين أن هذه الأحداث قد تكون كافية لبعض السيناريوهات، توفر Azure Event Grid حلا لمراقبة زمن انتقال منخفض لكل جهاز يمكنك استخدامه لتعقب اتصالات الجهاز للأجهزة والبنية الأساسية الهامة.

باستخدام Event Grid، يمكنك الاشتراك في IoT Hub DeviceConnected وDeviceDisconnected أحداث لتشغيل التنبيهات ومراقبة حالة اتصال الجهاز. توفر Event Grid زمن انتقال أقل بكثير من Azure Monitor، بحيث يمكنك المراقبة على أساس كل جهاز بدلا من جميع الأجهزة المتصلة. تجعل هذه العوامل Event Grid الطريقة المفضلة لمراقبة الاتصالات للأجهزة والبنية الأساسية المهمة. نوصي بشدة باستخدام Event Grid لمراقبة اتصالات الجهاز في بيئات الإنتاج.

لمزيد من المعلومات حول مراقبة اتصال الجهاز مع Event Grid وAzure Monitor، راجع مراقبة اتصال الجهاز ب Azure IoT Hub وتشخيصه واستكشاف الأخطاء وإصلاحها.

أنواع الموارد

يستخدم Azure مفهوم أنواع الموارد والمعرفات لتحديد كل شيء في الاشتراك. أنواع الموارد هي أيضا جزء من معرفات الموارد لكل مورد يعمل في Azure. على سبيل المثال، نوع مورد واحد لجهاز ظاهري هو Microsoft.Compute/virtualMachines. للحصول على قائمة بالخدمات وأنواع الموارد المقترنة بها، راجع موفري الموارد.

ينظم Azure Monitor بالمثل بيانات المراقبة الأساسية في مقاييس وسجلات استنادا إلى أنواع الموارد، وتسمى أيضا مساحات الأسماء. تتوفر مقاييس وسجلات مختلفة أنواع موارد مختلفة. قد تكون خدمتك مقترنة بأكثر من نوع مورد واحد.

لمزيد من المعلومات حول أنواع الموارد ل IoT Hub، راجع مرجع بيانات مراقبة Azure IoT Hub.

تخزين البيانات.

بالنسبة إلى Azure Monitor:

  • يتم تخزين بيانات المقاييس في قاعدة بيانات مقاييس Azure Monitor.
  • يتم تخزين بيانات السجل في مخزن سجلات Azure Monitor. Log Analytics هي أداة في مدخل Microsoft Azure يمكنها الاستعلام عن هذا المتجر.
  • سجل نشاط Azure هو مخزن منفصل بواجهة خاصة به في مدخل Microsoft Azure.

يمكنك اختياريا توجيه بيانات سجل المقاييس والنشاط إلى مخزن سجلات Azure Monitor. يمكنك بعد ذلك استخدام Log Analytics للاستعلام عن البيانات وربطها ببيانات السجل الأخرى.

يمكن للعديد من الخدمات استخدام إعدادات التشخيص لإرسال بيانات القياس والسجل إلى مواقع التخزين الأخرى خارج Azure Monitor. تتضمن الأمثلة تخزين Azure وأنظمة الشركاء المستضافة وأنظمة الشركاء غير Azure باستخدام مراكز الأحداث.

للحصول على معلومات مفصلة حول كيفية تخزين Azure Monitor للبيانات، راجع النظام الأساسي لبيانات Azure Monitor.

الجمع والتوجيه

مقاييس النظام الأساسي وسجل النشاط وسجلات الموارد لها مواصفات فريدة للمجموعة والتخزين والتوجيه.

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

لقطة شاشة توضح كيفية إضافة إعداد تشخيص في مركز IoT في مدخل Microsoft Azure.

تُظهر لقطة الشاشة التالية إعداداً تشخيصياً لتوجيه نوع سجل المورد عمليات الاتصال وجميع قياسات النظام الأساسي إلى مساحة عمل Log Analytics.

لقطة شاشة لنموذج إعدادات التشخيص لمراقبة مركز IoT.

عند توجيه مقاييس النظام الأساسي ل IoT Hub إلى مواقع أخرى:

  • مقاييس النظام الأساسي هذه غير قابلة للتصدير باستخدام إعدادات التشخيص: الأجهزة المتصلة وإجمالي الأجهزة.

  • القياسات متعددة الأبعاد، على سبيل المثال بعض قياسات التوجيه، يتم تصديرها حالياً كقياسات مسطحة أحادية البعد مجمعة عبر قيم الأبعاد. لمزيد من المعلومات، راجع تصدير مقاييس النظام الأساسي إلى مواقع أخرى.

مقاييس النظام الأساسي ل Azure Monitor

يوفر Azure Monitor مقاييس النظام الأساسي لمعظم الخدمات. هذه المقاييس هي:

  • معرف بشكل فردي لكل مساحة اسم.
  • مخزن في قاعدة بيانات مقاييس السلسلة الزمنية ل Azure Monitor.
  • خفيف الوزن وقادر على دعم التنبيه في الوقت الفعلي تقريبا.
  • يستخدم لتعقب أداء مورد بمرور الوقت.

المجموعة: يجمع Azure Monitor مقاييس النظام الأساسي تلقائيا. لا يلزم التكوين.

التوجيه: يمكنك أيضا توجيه بعض مقاييس النظام الأساسي إلى Azure Monitor Logs / Log Analytics حتى تتمكن من الاستعلام عنها باستخدام بيانات السجل الأخرى. تحقق من إعداد تصدير DS لكل مقياس لمعرفة ما إذا كان يمكنك استخدام إعداد تشخيص لتوجيه المقياس إلى سجلات Azure Monitor / Log Analytics.

للحصول على قائمة بجميع المقاييس، من الممكن جمعها لجميع الموارد في Azure Monitor، راجع المقاييس المدعومة في Azure Monitor.

نظرة عامة على المراقب

تتضمن صفحة نظرة عامة في مدخل Microsoft Azure لكل مركز IoT مخططات توفر بعض قياسات الاستخدام، مثل عدد الرسائل المستخدمة وعدد الأجهزة المتصلة بـ IoT Hub.

مخططات القياس الافتراضية في صفحة IoT hub Overview.

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

المعلومات المقدمة في جزء Overview مفيدة، ولكنها تمثل كمية صغيرة فقط من بيانات المراقبة المتوفرة لمركز IoT. يتم جمع بعض بيانات المراقبة تلقائيا وإتاحتها للتحليل بمجرد إنشاء مركز IoT الخاص بك. يمكنك تمكين أنواع إضافية من جمع البيانات مع بعض التكوين.

هام

الأحداث الصادرة عن خدمة IoT Hub باستخدام سجلات موارد Azure Monitor غير مضمونة لتكون موثوقة أو مرتبة. قد يتم فقدان بعض الأحداث أو تسليمها بدون ترتيب. لا يقصد بسجلات الموارد أن تكون في الوقت الحقيقي، لذلك قد يستغرق تسجيل الأحداث عدة دقائق إلى اختيارك للوجهة.

سجلات موارد Azure Monitor

توفر سجلات الموارد نظرة ثاقبة على العمليات التي تم إجراؤها بواسطة مورد Azure. يتم إنشاء السجلات تلقائيا، ولكن يجب توجيهها إلى سجلات Azure Monitor لحفظها أو الاستعلام عنها. يتم تنظيم السجلات في فئات. قد تحتوي مساحة الاسم المحددة على فئات سجل موارد متعددة.

المجموعة: لا يتم تجميع سجلات الموارد وتخزينها حتى تقوم بإنشاء إعداد تشخيص وتوجيه السجلات إلى موقع واحد أو أكثر. عند إنشاء إعداد تشخيص، فإنك تحدد فئات السجلات المراد تجميعها. هناك طرق متعددة لإنشاء إعدادات التشخيص وصيانتها، بما في ذلك مدخل Microsoft Azure برمجيا، وعلى الرغم من نهج Azure.

التوجيه: الافتراضي المقترح هو توجيه سجلات الموارد إلى سجلات Azure Monitor حتى تتمكن من الاستعلام عنها باستخدام بيانات السجل الأخرى. تتوفر أيضا مواقع أخرى مثل Azure Storage وAzure Event Hubs وبعض شركاء مراقبة Microsoft. لمزيد من المعلومات، راجع سجلات موارد Azure ووجهات سجل الموارد.

للحصول على معلومات مفصلة حول جمع سجلات الموارد وتخزينها وتوجيهها، راجع إعدادات التشخيص في Azure Monitor.

للحصول على قائمة بجميع فئات سجل الموارد المتوفرة في Azure Monitor، راجع سجلات الموارد المدعومة في Azure Monitor.

تحتوي جميع سجلات الموارد في Azure Monitor على نفس حقول العنوان، متبوعة بالحقول الخاصة بالخدمة. المخطط الشائع مُوضح في مخطط سجل الموارد في Azure Monitor.

توجيه أحداث الاتصال إلى السجلات

يصدر مركز IoT سجلات الموارد بصورة مستمرة لعدة فئات من العمليات. لجمع بيانات السجل هذه، بالرغم من ذلك، تحتاج إلى إنشاء إعداد تشخيص لتوجيهه إلى وجهة حيث يمكن تحليلها أو أرشفتها. إحدى هذه الوجهات هي سجلات Azure Monitor عبر مساحة عمل Log Analytics (راجع التسعير)، حيث يمكن تحليل البيانات باستخدام استعلامات Kusto.

تصدر فئة اتصالات سجلات مواردمركز IoT عمليات وأخطاء تتعلق باتصالات الجهاز. تظهر لقطة الشاشة الآتية إعداد تشخيص لتوجيه هذه السجلات إلى مساحة عمل Log Analytics:

إعداد موصى به لإرسال سجلات الاتصالات إلى مساحة عمل Log Analytics.

نوصي بإنشاء إعداد تشخيص في أقرب وقت ممكن بعد إنشاء مركز IoT الخاص بك، لأنه على الرغم من أن IoT Hub يرسل دائما سجلات الموارد، فإن Azure Monitor لا يجمعها حتى تقوم بتوجيهها إلى وجهة.

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

سجل الأنشطة Azure

يحتوي سجل النشاط على أحداث على مستوى الاشتراك تتعقب العمليات لكل مورد Azure كما هو ظاهر من خارج هذا المورد؛ على سبيل المثال، إنشاء مورد جديد أو بدء تشغيل جهاز ظاهري.

المجموعة: يتم إنشاء أحداث سجل النشاط تلقائيا وتجميعها في مخزن منفصل للعرض في مدخل Microsoft Azure.

التوجيه: يمكنك إرسال بيانات سجل النشاط إلى سجلات Azure Monitor حتى تتمكن من تحليلها جنبا إلى جنب مع بيانات السجل الأخرى. تتوفر أيضا مواقع أخرى مثل Azure Storage وAzure Event Hubs وبعض شركاء مراقبة Microsoft. لمزيد من المعلومات حول كيفية توجيه سجل النشاط، راجع نظرة عامة على سجل نشاط Azure.

تحليل السجلات

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

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

لتنفيذ Log Analytics، انتقل إلى مدخل Microsoft Azure وافتح مركز IoT، ثم حدد Logs ضمن Monitoring. يتم تحديد نطاق استعلامات Log Analytics هذه، بشكل افتراضي، للسجلات والمقاييس التي تم جمعها في سجلات Azure Monitor لمركز IoT الخاص بك.

Logs page for an IoT hub.

عند توجيه مقاييس النظام الأساسي ل IoT Hub إلى سجلات Azure Monitor:

  • مقاييس النظام الأساسي التالية غير قابلة للتصدير باستخدام إعدادات التشخيص: الأجهزة المتصلة وإجمالي الأجهزة.

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

للحصول على الاستعلامات الشائعة مع IoT Hub، راجع نموذج استعلامات Kusto. لمزيد من المعلومات حول استخدام استعلامات Log Analytics، راجع نظرة عامة على استعلامات السجل في Azure Monitor.

إصدار SDK في سجلات IoT Hub

ترجع sdkVersion بعض العمليات خاصية في كائنها properties لسجلات موارد IoT Hub. بالنسبة لهذه العمليات، عندما يستخدم أحد الأجهزة أو التطبيقات الخلفية إحدى حزم Azure IoT SDK، فإن هذه الخاصية تحتوي على معلومات بشأن SDK قيد الاستخدام، وإصدار SDK، والنظام الأساسي الذي يتم تشغيل SDK عليه.

توضح الأمثلة التالية الخاصية sdkVersion المنبعثة deviceConnect لعملية باستخدام:

  • جهاز Node.js SDK: "azure-iot-device/1.17.1 (node v10.16.0; Windows_NT 10.0.18363; x64)"
  • .NET (C#) SDK: ".NET/1.21.2 (.NET Framework 4.8.4200.0; Microsoft Windows 10.0.17763 WindowsProduct:0x00000004; X86)".

يعرض الجدول التالي اسم SDK المستخدم في حزم Azure IoT SDK المختلفة:

اسم SDK في خاصية sdkVersion اللغة
.NET .NET (C#)
microsoft.azure.devices ‎.NET (C#) service SDK
microsoft.azure.devices.client ‎.NET (C#) device SDK
iothubclient C or Python v1 (deprecated) device SDK
iothubserviceclient C or Python v1 (deprecated) service SDK
azure-iot-device-iothub-py Python device SDK
azure-iot-device Node.js device SDK
Azure - iothub Node.js service SDK
com.microsoft.azure.iothub-java-client Java device SDK
com.microsoft.azure.iothub.service.sdk Java service SDK
com.microsoft.azure.sdk.iot.iot-device-client Java device SDK
com.microsoft.azure.sdk.iot.iot-service-client Java service SDK
C Embedded C
C + (OSSimplified = Eclipse ThreadX) Eclipse ThreadX

يمكنك استخراج خاصية إصدار SDK عند إجراء استعلامات على سجلات موارد IoT Hub. على سبيل المثال، يقوم الاستعلام التالي باستخراج خاصية إصدار SDK (ومعرف الجهاز) من الخصائص التي يتم إرجاعها بواسطة عمليات الاتصالات. تتم كتابة هاتين الخاصيتين في النتائج جنباً إلى جنب مع وقت العملية ومعرف المورد لـ IoT Hub الذي يتصل به الجهاز.

// SDK version of devices
// List of devices and their SDK versions that connect to IoT Hub
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Connections"
| extend parsed_json = parse_json(properties_s) 
| extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId)
| distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId

قراءة السجلات من مراكز أحداث Azure

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

class Program
{ 
    static string connectionString = "{your AMS eventhub endpoint connection string}";
    static string monitoringEndpointName = "{your AMS event hub endpoint name}";
    static EventHubClient eventHubClient;
    //This is the Diagnostic Settings schema
    class AzureMonitorDiagnosticLog
    {
        string time { get; set; }
        string resourceId { get; set; }
        string operationName { get; set; }
        string category { get; set; }
        string level { get; set; }
        string resultType { get; set; }
        string resultDescription { get; set; }
        string durationMs { get; set; }
        string callerIpAddress { get; set; }
        string correlationId { get; set; }
        string identity { get; set; }
        string location { get; set; }
        Dictionary<string, string> properties { get; set; }
    };

    static void Main(string[] args)
    {
        Console.WriteLine("Monitoring. Press Enter key to exit.\n");
        eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, monitoringEndpointName);
        var d2cPartitions = eventHubClient.GetRuntimeInformationAsync().PartitionIds;
        CancellationTokenSource cts = new CancellationTokenSource();
        var tasks = new List<Task>();
        foreach (string partition in d2cPartitions)
        {
            tasks.Add(ReceiveMessagesFromDeviceAsync(partition, cts.Token));
        }
        Console.ReadLine();
        Console.WriteLine("Exiting...");
        cts.Cancel();
        Task.WaitAll(tasks.ToArray());
    }

    private static async Task ReceiveMessagesFromDeviceAsync(string partition, CancellationToken ct)
    {
        var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow);
        while (true)
        {
            if (ct.IsCancellationRequested)
            {
                await eventHubReceiver.CloseAsync();
                break;
            }
            EventData eventData = await eventHubReceiver.ReceiveAsync(new TimeSpan(0,0,10));
            if (eventData != null)
            {
                string data = Encoding.UTF8.GetString(eventData.GetBytes());
                Console.WriteLine("Message received. Partition: {0} Data: '{1}'", partition, data);
                var deserializer = new JavaScriptSerializer();
                //deserialize json data to azure monitor object
                AzureMonitorDiagnosticLog message = new JavaScriptSerializer().Deserialize<AzureMonitorDiagnosticLog>(result);
            }
        }
    }
}

للحصول على فئات سجل الموارد المتوفرة وجداول Log Analytics المقترنة بها ومخططات السجل ل IoT Hub، راجع مرجع بيانات مراقبة Azure IoT Hub.

تحليل بيانات المراقبة

هناك العديد من الأدوات لتحليل بيانات المراقبة.

أدوات Azure Monitor

يدعم Azure Monitor الأدوات الأساسية التالية:

  • مستكشف المقاييس، أداة في مدخل Microsoft Azure تسمح لك بعرض وتحليل المقاييس لموارد Azure. لمزيد من المعلومات، راجع تحليل المقاييس باستخدام مستكشف مقاييس Azure Monitor.

  • Log Analytics، أداة في مدخل Microsoft Azure تسمح لك بالاستعلام عن بيانات السجل وتحليلها باستخدام لغة استعلام Kusto (KQL). لمزيد من المعلومات، راجع البدء في استعلامات السجل في Azure Monitor.

  • سجل النشاط، الذي يحتوي على واجهة مستخدم في مدخل Microsoft Azure للعرض وعمليات البحث الأساسية. لإجراء تحليل أكثر تعمقا، يجب عليك توجيه البيانات إلى سجلات Azure Monitor وتشغيل استعلامات أكثر تعقيدا في Log Analytics.

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

  • لوحات المعلومات التي تتيح لك دمج أنواع مختلفة من البيانات في جزء واحد في مدخل Microsoft Azure.
  • المصنفات والتقارير القابلة للتخصيص التي يمكنك إنشاؤها في مدخل Microsoft Azure. يمكن أن تتضمن المصنفات النص والمقاييس واستعلامات السجل.
  • Grafana، أداة منصة مفتوحة تتفوق في لوحات المعلومات التشغيلية. يمكنك استخدام Grafana لإنشاء لوحات معلومات تتضمن بيانات من مصادر متعددة غير Azure Monitor.
  • Power BI، خدمة تحليلات الأعمال التي توفر مرئيات تفاعلية عبر مصادر بيانات مختلفة. يمكنك تكوين Power BI لاستيراد بيانات السجل تلقائيًا من Azure Monitor للاستفادة من هذه المرئيات.

أدوات تصدير Azure Monitor

يمكنك الحصول على البيانات من Azure Monitor في أدوات أخرى باستخدام الطرق التالية:

  • المقاييس: استخدم واجهة برمجة تطبيقات REST للمقاييس لاستخراج بيانات القياس من قاعدة بيانات مقاييس Azure Monitor. تدعم واجهة برمجة التطبيقات تعبيرات التصفية لتحسين البيانات التي تم استردادها. لمزيد من المعلومات، راجع مرجع Azure Monitor REST API.

  • السجلات: استخدم واجهة برمجة تطبيقات REST أو مكتبات العميل المقترنة.

  • خيار آخر هو تصدير بيانات مساحة العمل.

لبدء استخدام واجهة برمجة تطبيقات REST ل Azure Monitor، راجع معاينة واجهة برمجة تطبيقات REST لمراقبة Azure.

استعلامات Kusto

يمكنك تحليل بيانات المراقبة في مخزن Azure Monitor Logs / Log Analytics باستخدام لغة استعلام Kusto (KQL).

هام

عند تحديد Logs من قائمة الخدمة في المدخل، يفتح Log Analytics مع تعيين نطاق الاستعلام إلى الخدمة الحالية. يعني هذا النطاق أن استعلامات السجل ستتضمن بيانات من هذا النوع من الموارد فقط. إذا كنت ترغب في تشغيل استعلام يتضمن بيانات من خدمات Azure الأخرى، فحدد Logs من قائمة Azure Monitor . راجع نطاق الاستعلام عن السجل والزمن في Azure Monitor Log Analytics للحصول على التفاصيل.

للحصول على قائمة بالاستعلامات الشائعة لأي خدمة، راجع واجهة استعلامات Log Analytics.

استخدم استعلامات Kusto التالية لمساعدتك في مراقبة مركز IoT.

  • أخطاء الاتصال: تحديد أخطاء اتصال الجهاز.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections" and Level == "Error"
    
  • أخطاء التقييد: تحديد الأجهزة التي قدمت معظم الطلبات مما أدى إلى أخطاء تقييد.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where ResultType == "429001"
    | extend DeviceId = tostring(parse_json(properties_s).deviceId)
    | summarize count() by DeviceId, Category, _ResourceId
    | order by count_ desc
    
  • نقاط النهاية الميتة: حدد نقاط النهاية الميتة أو غير السليمة حسب عدد المرات التي تم فيها الإبلاغ عن المشكلة وتعرف سبب ذلك.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Routes" and OperationName in ("endpointDead", "endpointUnhealthy")
    | extend parsed_json = parse_json(properties_s)
    | extend Endpoint = tostring(parsed_json.endpointName), Reason = tostring(parsed_json.details) 
    | summarize count() by Endpoint, OperationName, Reason, _ResourceId
    | order by count_ desc
    
  • ملخص الخطأ: عدد الأخطاء عبر جميع العمليات حسب النوع.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Level == "Error"
    | summarize count() by ResultType, ResultDescription, Category, _ResourceId
    
  • الأجهزة المتصلة مؤخرا: قائمة بالأجهزة التي رأى IoT Hub توصيلها في الفترة الزمنية المحددة.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections" and OperationName == "deviceConnect"
    | extend DeviceId = tostring(parse_json(properties_s).deviceId)
    | summarize max(TimeGenerated) by DeviceId, _ResourceId
    
  • أحداث الاتصال لجهاز معين: جميع أحداث الاتصال المسجلة لجهاز معين (جهاز اختبار).

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections"
    | extend DeviceId = tostring(parse_json(properties_s).deviceId)
    | where DeviceId == "test-device"
    
  • إصدار SDK من الأجهزة: قائمة الأجهزة وإصدارات SDK الخاصة بها لاتصالات الجهاز أو الجهاز بعمليات توأم السحابة.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections" or Category == "D2CTwinOperations"
    | extend parsed_json = parse_json(properties_s)
    | extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId)
    | distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId
    

التنبيهات

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

هناك العديد من مصادر التنبيهات الشائعة لموارد Azure. للحصول على أمثلة للتنبيهات الشائعة لموارد Azure، راجع نموذج استعلامات تنبيه السجل. يوفر موقع Azure Monitor Baseline Alerts (AMBA) طريقة شبه آلية لتنفيذ تنبيهات قياس النظام الأساسي الهامة ولوحات المعلومات والإرشادات. ينطبق الموقع على مجموعة فرعية موسعة باستمرار من خدمات Azure، بما في ذلك جميع الخدمات التي تعد جزءا من منطقة هبوط Azure (ALZ).

يوحد مخطط التنبيه الشائع استهلاك إعلامات تنبيه Azure Monitor. لمزيد من المعلومات، راجع مخطط التنبيه الشائع.

أنواع التنبيهات

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

تصف القائمة التالية أنواع تنبيهات Azure Monitor التي يمكنك إنشاؤها:

  • تقيم التنبيهات القياسية مقاييس الموارد على فترات منتظمة. يمكن أن تكون المقاييس مقاييس النظام الأساسي أو المقاييس المخصصة أو السجلات من Azure Monitor المحولة إلى مقاييس أو مقاييس Application Insights. يمكن أن تطبق التنبيهات القياسية أيضا شروطا متعددة وحدا ديناميكيا.
  • تسمح تنبيهات السجل للمستخدمين باستخدام استعلام Log Analytics لتقييم سجلات الموارد بتردد محدد مسبقا.
  • يتم تشغيل تنبيهات سجل النشاط عند حدوث حدث سجل نشاط جديد يطابق الشروط المحددة. تنبيهات صحة الموارد وتنبيهات حالة الخدمة هي تنبيهات سجل النشاط التي تبلغ عن الخدمة وصحة الموارد.

تدعم بعض خدمات Azure أيضا تنبيهات الكشف الذكية أو تنبيهات Prometheus أو قواعد التنبيه الموصى بها.

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

قواعد تنبيه IoT Hub

يمكنك تعيين تنبيهات لأي مقياس أو إدخال سجل أو إدخال سجل نشاط مدرج في مرجع بيانات مراقبة IoT Hub.

إعداد تنبيهات قياسية لقطع اتصال الجهاز

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

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

إعدادات التنبيهات المنطقية لمقاييس الأجهزة المتصلة.

يمكن استخدام قواعد التنبيه القياسي لمراقبة حالات قطع اتصال الجهاز غير الطبيعية على نطاق واسع. أي، استخدم التنبيهات لتحديد وقت قطع اتصال عدد كبير من الأجهزة بشكل غير متوقع. عند اكتشاف هذا الموقف، يمكنك إلقاء نظرة على السجلات للمساعدة في استكشاف المشكلة وإصلاحها. لمراقبة عمليات قطع الاتصال وقطع الاتصال لكل جهاز للأجهزة الهامة في الوقت الفعلي تقريبًا، ومع ذلك، يجب استخدام شبكة الأحداث Event Grid.

لمعرفة المزيد حول التنبيهات باستخدام مركز IoT، يرجى مراجعةالتنبيهات في Monitor IoT Hub. للحصول على إرشادات حول إنشاء تنبيهات في مركز IoT، يرجى مراجعةالبرنامج التعليمي لاستخدام المقاييس والسجلات. للحصول على نظرة عامة أكثر تفصيلاً على التنبيهات، يرجى مراجعةنظرة عامة على التنبيهات في Microsoft Azure في وثائق Azure Monitor.

توصيات Advisor

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

لمزيد من المعلومات حول Azure Advisor، راجع نظرة عامة على Azure Advisor.