مراقبة وتسجيل الدخول إلى IoT Edge

edge icon
بدلا من ذلك، تحقق من المراقبة وسجل الدخول إلى الخدمة.


ملاحظة

نقوم بإيقاف خدمة معاينة Azure Video Analyzer، وينصحك بنقل تطبيقاتك من محلل الفيديو بحلول 01 ديسمبر 2022.

لا يتأثر Azure Video Analyzer for Media بهذا الإيقاف. يتم الآن تغيير العلامة التجارية إلى Azure Video Indexer. انقر هنا لقراءة المزيد.

الإجراء المطلوب: لتقليل تعطيل أحمال العمل، قم بنقل التطبيق الخاص بك من Video Analyzer لكل اقتراحات موصوفة في هذا الدليل قبل 01 ديسمبر 2022. بعد 1 ديسمبر 2022، لن يعمل حساب Azure Video Analyzer الخاص بك. اعتبارا من 2 مايو 2022، لن تتمكن من إنشاء حسابات محلل فيديو جديدة.

في هذه المقالة، ستتعلم كيفية تلقي الأحداث للمراقبة عن بعد من الوحدة النمطية Azure Video Analyzer IoT Edge.

ستتعلم أيضا كيفية التحكم في السجلات التي تنشئها الوحدة النمطية.

تصنيف الأحداث

يصدر Video Analyzer الذي تم إنشاؤه أعلى IoT Edge الأحداث، أو بيانات تتبع الاستخدام، وفقا للتطبيب التالي:

Diagram that shows the taxonomy of events.

  • التشغيل: الأحداث التي تم إنشاؤها بواسطة إجراءات المستخدم أو أثناء تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية

    • مستوى الصوت: من المتوقع أن يكون منخفضا (بضع مرات في الدقيقة، أو حتى أقل)

    • أمثلة:

      • تم تنشيط المسار المباشر

      • تم إلغاء تنشيط المسار المباشر

      نموذج حدث تشغيلي

      {
         "body": {
             "outputType": "filePath",
             "outputLocation": "/var/media/Sample-1-fileSink/sampleFilesFromEVR-motion-fileSinkOutput-20210426T181911Z.mp4"
           },
           "properties": {
             "topic": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/<my-resource-group>/providers/Microsoft.Media/videoAnalyzers/<account-name>",
             "subject": "/edgeModules/avaedge/livePipelines/Sample-Pipeline-1/sinks/fileSink",
             "eventType": "Microsoft.VideoAnalyzer.Operational.RecordingStarted",
             "eventTime": "2021-04-26T18:19:13.298Z",
             "dataVersion": "1.0"
          },
      }
      
  • التشخيص: الأحداث التي تساعد على تشخيص المشاكل المتعلقة بالأداء

    • مستوى الصوت: يمكن أن يكون مرتفعا (عدة مرات في الدقيقة)

    • أمثلة:

      • معلومات RTSP SDP (الموضحة في المثال التالي)
      • أخطاء عند فشل الاتصال بشيء مثل الكاميرا أو ملحق الذكاء الاصطناعي

      نموذج حدث تشخيصي

      {
        "body": {
          "sdp": "SDP:\nv=0\r\no=- 1589326384077235 1 IN IP4 XXX.XX.XX.XXX\r\ns=Matroska video+audio+(optional)subtitles, streamed by the LIVE555 Media Server\r\ni=media/lots_015.mkv\r\nt=0 0\r\na=tool:LIVE555 Streaming Media v2020.04.12\r\na=type:broadcast\r\na=control:*\r\na=range:npt=0-73.000\r\na=x-qt-text-nam:Matroska video+audio+(optional)subtitles, streamed by the LIVE555 Media Server\r\na=x-qt-text-inf:media/lots_015.mkv\r\nm=video 0 RTP/AVP 96\r\nc=IN IP4 0.0.0.0\r\nb=AS:500\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\na=control:track1\r\n"
        },
        "applicationProperties": {
          "topic": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/<my-resource-group>/providers/Microsoft.Media/videoAnalyzers/<account-name>",
          "subject": "/edgeModules/avaedge/livePipelines/Sample-Pipeline-1/sources/rtspSource",
          "eventType": "Microsoft.VideoAnalyzer.Diagnostics.MediaSessionEstablished",
          "eventTime": "2021-04-26T18:15:13.298Z",
          "dataVersion": "1.0"
        }
      }
      
  • تحليلي: الأحداث التي تم إنشاؤها نتيجة لتحليل الفيديو

    • مستوى الصوت: يمكن أن يكون مرتفعا (عدة مرات في الدقيقة أو أكثر)

    • أمثلة:

      • تم الكشف عن الحركة (موضحة في المثال التالي)

      • نتيجة الاستدلال

      نموذج حدث تحليلي

      {
        "body": {
          "timestamp": 143039375044290,
          "inferences": [
            {
              "type": "motion",
              "motion": {
                "box": {
                  "l": 0.48954,
                  "t": 0.140741,
                  "w": 0.075,
                  "h": 0.058824
                }
              }
            }
          ]
        },
        "applicationProperties": {
          "topic": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/<my-resource-group>/providers/Microsoft.Media/videoAnalyzers/<account-name>",
          "subject": "/edgeModules/avaedge/livePipelines/Sample-Pipeline-1/processors/md",
          "eventType": "Microsoft.VideoAnalyzer.Analytics.Inference",
          "eventTime": "2021-04-26T18:15:13.298Z",
          "dataVersion": "1.0"
        }
      }
      

يتم إرسال الأحداث المنبعثة من الوحدة النمطية إلى مركز IoT Edge. من هناك، يمكن توجيهها إلى وجهات أخرى.

الأحداث وتشغيل الفيديو

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

أحداث التوجيه

يمكنك استخدام خصائص الوحدة النمطية المزدوجة التالية لتوجيه الأحداث التشغيلية والتشخيصية التي نشرتها وحدة محلل الفيديو. يتم توثيق هذه الخصائص في مخطط JSON المزدوج للوحدة النمطية.

  • diagnosticsEventsOutputName: للحصول على أحداث تشخيصية من الوحدة النمطية، قم بتضمين هذه الخاصية وتوفير أي قيمة لها. قم بحذفه أو اتركه فارغا لإيقاف الوحدة النمطية من نشر الأحداث التشخيصية.

  • operationalEventsOutputName: للحصول على أحداث تشغيلية من الوحدة النمطية، قم بتضمين هذه الخاصية وتوفير أي قيمة لها. احذفه أو اتركه فارغا لإيقاف الوحدة النمطية من نشر الأحداث التشغيلية.

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

يمكنك التحكم في توجيه جميع الأحداث السابقة باستخدام desired خاصية الوحدة النمطية $edgeHub المزدوجة في بيان النشر:

 "$edgeHub": {
   "properties.desired": {
     "schemaVersion": "1.1",
     "routes": {
       "moduleToHub": "FROM /messages/modules/avaedge/outputs/* INTO $upstream"
     },
     "storeAndForwardConfiguration": {
       "timeToLiveSecs": 7200
     }
   }
 }

في JSON السابق، avaedge هو اسم وحدة محلل الفيديو. تتبع قاعدة التوجيه المخطط المحدد في تعريف المسارات.

ملاحظة

للتأكد من أن الأحداث التحليلية تصل إلى مركز IoT Edge، يجب أن يكون لديك عقدة مصدر رسالة مركز IoT لأي عقدة معالج الكشف عن الحركة و/أو أي عقدة معالج ملحق.

مخطط الأحداث

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

الملخص

يحتوي كل حدث، عند ملاحظته عبر IoT Hub، على مجموعة من الخصائص الشائعة:

الخاصية نوع الخاصية نوع البيانات الوصف
message-id النظام guid معرف الحدث الفريد.
topic applicationProperty سلسلة مسار Azure Resource Manager لحساب Azure Video Analyzer.
subject applicationProperty سلسلة مسار فرعي للكيان الذي ينبعث منه الحدث.
eventTime applicationProperty سلسلة وقت إنشاء الحدث.
eventType applicationProperty سلسلة معرف نوع الحدث. (راجع القسم التالي.)
body هيئة كائن بيانات حدث معينة.
dataVersion applicationProperty سلسلة {Major}. {Minor}

الخصائص

message-id

معرف فريد عمومي (GUID) للحدث.

الموضوع

يمثل وحدة حافة محلل الفيديو التي أنشأت الحدث. مثال:

/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Media/videoAnalyzers/{accountName}

الموضوع

الكيان الذي ينبعث من الحدث. أمثلة:

/edgeModules/avaedge/livePipelines/{livePipelineName}
/edgeModules/avaedge/livePipelines/{livePipelineName}/sources/{nodeName}
/edgeModules/avaedge/livePipelines/{livePipelineName}/processors/{nodeName}
/edgeModules/avaedge/livePipelines/{livePipelineName}/sinks/{nodeName}

subject تسمح لك الخاصية بتعيين أحداث عامة إلى العقدة في البنية الأساسية لبرنامج ربط العمليات التجارية المباشرة التي انبعث منها الحدث. على سبيل المثال، بالنسبة لاسم مستخدم أو كلمة مرور RTSP غير صالحة، سيكون Microsoft.VideoAnalyzer.Diagnostics.ProtocolError الحدث الذي تم إنشاؤه من العقدة /edgeModules/avaedge/livePipelines/Sample-Pipeline-1/sources/rtspSource .

⁧⁩نوع الحدث⁧⁩

يتم تعيين أنواع الأحداث إلى مساحة اسم وفقا لهذا المخطط:

Microsoft.VideoAnalyzer.{EventClass}.{EventType}

قد تكون فئة الحدث واحدة مما يلي:

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

أمثلة:

  • Microsoft.VideoAnalyzer.Analytics.Inference
  • Microsoft.VideoAnalyzer.Diagnostics.AuthorizationError
  • Microsoft.VideoAnalyzer.Operational.RecordingStarted

⁧⁩توقيت الحدث⁧⁩

يتم تنسيق وقت الحدث في سلسلة ISO 8601. يمثل الوقت الذي حدث فيه الحدث.

مثال:

2021-04-26T18:15:13.298Z

المقاييس

سيتم الإبلاغ عن هذه المقاييس من وحدة Video Analyzer من خلال نقطة نهاية Prometheus التي تعمل على المنفذ 9600 من الوحدة النمطية.

اسم قياسي النوع التسميات الوصف
va_active_live_pipelines جهاز قياس iothub، edge_device، module_name، pipeline_topology إجمالي عدد المسارات المباشرة النشطة لكل طبولوجيا.
va_cumulative_latency_seconds_average جهاز قياس iothub، edge_device، module_name، pipeline_topology، live_pipeline، العقدة متوسط زمن الانتقال من وقت تلقي إطار فيديو من قبل مصدر إلى وقت مغادرته للعقدة خلال اللحظة الأخيرة. لا يتم الإبلاغ عن هذا إذا لم يكن هناك إطارات.
va_cumulative_latency_seconds_max جهاز قياس iothub، edge_device، module_name، pipeline_topology، live_pipeline، العقدة الحد الأقصى لزمن الانتقال من الوقت الذي تم فيه تلقي إطار فيديو من قبل مصدر إلى وقت مغادرته للعقدة خلال اللحظة الأخيرة. لا يتم الإبلاغ عن هذا إذا لم يكن هناك إطارات.
va_data_dropped_total Counter iothub، edge_device، module_name، pipeline_topology، live_pipeline، العقدة، data_kind عداد أي بيانات تم إسقاطها (الأحداث والوسائط وما إلى ذلك).
va_received_bytes_total Counter iothub، edge_device، module_name، pipeline_topology، live_pipeline، العقدة إجمالي عدد وحدات البايت التي تتلقاها العقدة. مدعوم فقط لمصادر RTSP.

ملاحظة

إذا قمت بتسمية وحدة Video Analyzer، avaedgeيمكن الوصول إلى المقاييس عن طريق إرسال طلب GET إلى http://avaedge:9600/metrics. اعتمادا على التوزيع الخاص بك، قد تحتاج إلى تعيين هذا المنفذ إلى الجهاز حتى يمكن الوصول إليه.

مجموعة Azure Monitor عبر Telegraf

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

يمكن استخدام العامل لجمع المقاييس من أي وحدة نمطية تعرض نقطة نهاية Prometheus.

  1. أنشئ مجلدا على كمبيوتر التطوير، وانتقل إلى هذا المجلد.

  2. في المجلد، أنشئ ملفا telegraf.toml يحتوي على التكوينات التالية:

    [agent]
        interval = "30s"
        omit_hostname = true
    
    [[inputs.prometheus]]
      metric_version = 2
      urls = ["http://edgeHub:9600/metrics", "http://edgeAgent:9600/metrics", "http://{AVA_EDGE_MODULE_NAME}:9600/metrics"]
    
    [[outputs.azure_monitor]]
      namespace_prefix = "{AVA_EDGE_MODULE_NAME}"
      region = "westus2"
      resource_id = "/subscriptions/{SUBSCRIPTON_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Devices/IotHubs/{IOT_HUB_NAME}"
    

    هام

    تأكد من استبدال المتغيرات في ملف .toml. يتم توضيح المتغيرات بواسطة الأقواس ({}). بالإضافة إلى ذلك، قم بتحديث قيمة region.

  3. في نفس المجلد، قم بإنشاء Dockerfile يحتوي على الأوامر التالية:

    FROM telegraf:1.15.3-alpine
    COPY telegraf.toml /etc/telegraf/telegraf.conf
    
  4. استخدم أوامر Docker CLI لإنشاء ملف Docker ونشر الصورة إلى سجل حاوية Azure.

    لمزيد من المعلومات حول استخدام Docker CLI للدفع إلى سجل حاوية، راجع دفع صور Docker وسحبها. للحصول على معلومات حول Azure Container Registry، راجع الوثائق.

    # Insert your own container image URL
    docker build . -t myregistry.azurecr.io/telegraf_agent
    docker push myregistry.azurecr.io/telegraf_agent
    
  5. بعد اكتمال الدفع إلى Azure Container Registry، أضف العقدة التالية إلى ملف بيان النشر الخاص بك:

    "telegraf": 
    {
      "settings": 
        {
            "image": "{AZURE_CONTAINER_REGISTRY_URL_OF_YOUR_TELEGRAF_IMAGE}"
        },
        "type": "docker",
        "version": "1.0",
        "status": "running",
        "restartPolicy": "always",
        "env": 
        {
            "AZURE_TENANT_ID": { "value": "{YOUR_TENANT_ID}" },
            "AZURE_CLIENT_ID": { "value": "{YOUR CLIENT_ID}" },
            "AZURE_CLIENT_SECRET": { "value": "{YOUR_CLIENT_SECRET}" }
        }
    }
    

    هام

    تأكد من استبدال المتغيرات في ملف البيان. يتم توضيح المتغيرات بواسطة الأقواس ({}).

    يمكن مصادقة Azure Monitor عبر كيان الخدمة.

    يعرض المكون الإضافي Azure Monitor Telegraf عدة طرق للمصادقة.

  6. لاستخدام المصادقة الأساسية للخدمة، قم بتعيين متغيرات البيئة هذه:
    AZURE_TENANT_ID: يحدد المستأجر الذي يجب المصادقة عليه.
    AZURE_CLIENT_ID: يحدد معرف عميل التطبيق لاستخدامه.
    AZURE_CLIENT_SECRET: يحدد سر التطبيق لاستخدامه.

    تلميح

    يمكنك إعطاء كيان الخدمة دور Publisher مقاييس المراقبة. اتبع الخطوات الواردة في إنشاء كيان الخدمة لإنشاء كيان الخدمة وتعيين الدور .

  7. بعد نشر الوحدات النمطية، ستظهر المقاييس في Azure Monitor ضمن مساحة اسم واحدة. ستتطابق أسماء المقاييس مع الأسماء المنبعثة من Prometheus.

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

مجموعة مقاييس Log Analytics

باستخدام نقطة نهاية Prometheus جنبا إلى جنب مع Log Analytics، يمكنك إنشاء ومراقبة مقاييس مثل CPUPercent المستخدمة وذاكرةUsedPercent وما إلى ذلك.

ملاحظة

لا يجمع التكوين أدناه السجلات، بل المقاييس فقط. من الممكن توسيع وحدة المجمع لتجميع السجلات وتحميلها أيضا.

Diagram that shows the metrics collection using Log Analytics.

  1. تعرف على كيفية جمع المقاييس

  2. استخدم أوامر Docker CLI لإنشاء ملف Docker ونشر الصورة إلى سجل حاوية Azure.

    لمزيد من المعلومات حول استخدام Docker CLI للدفع إلى سجل حاوية، راجع دفع صور Docker وسحبها. للحصول على معلومات أخرى حول Azure Container Registry، راجع الوثائق.

  3. بعد اكتمال الدفع إلى Azure Container Registry، يتم إدراج ما يلي في بيان النشر:

    "azmAgent": {
      "settings": {
        "image": "{AZURE_CONTAINER_REGISTRY_URL_OF_YOUR_METRICS_COLLECTOR}"
      },
      "type": "docker",
      "version": "1.0",
      "status": "running",
      "restartPolicy": "always",
      "env": {
        "LogAnalyticsWorkspaceId": { "value": "{YOUR_LOG_ANALYTICS_WORKSPACE_ID}" },
        "LogAnalyticsSharedKey": { "value": "{YOUR_LOG_ANALYTICS_WORKSPACE_SECRET}" },
        "LogAnalyticsLogType": { "value": "IoTEdgeMetrics" },
        "MetricsEndpointsCSV": { "value": "http://edgeHub:9600/metrics,http://edgeAgent:9600/metrics,http://avaedge:9600/metrics" },
        "ScrapeFrequencyInSecs": { "value": "30 " },
        "UploadTarget": { "value": "AzureLogAnalytics" }
      }
    }
    

    ملاحظة

    الوحدات النمطية edgeHub، edgeAgent وهي avaedge أسماء الوحدات النمطية المعرفة في ملف بيان التوزيع. يرجى التأكد من تطابق أسماء الوحدات النمطية.

    يمكنك الحصول على قيمك LogAnalyticsWorkspaceId و LogAnalyticsSharedKey باتباع الخطوات التالية:

    1. انتقل إلى مدخل Microsoft Azure
    2. ابحث عن مساحات عمل Log Analytics
    3. بمجرد العثور على مساحة عمل Log Analytics، انتقل إلى الخيار في Agents management جزء التنقل الأيمن.
    4. ستجد معرف مساحة العمل والمفاتيح السرية التي يمكنك استخدامها.
  4. بعد ذلك، أنشئ مصنفا بالنقر فوق Workbooks علامة التبويب في جزء التنقل الأيمن.

  5. باستخدام لغة استعلام Kusto، يمكنك كتابة الاستعلامات كما هو موضح أدناه والحصول على النسبة المئوية لوحدة المعالجة المركزية المستخدمة من قبل وحدات IoT Edge.

    let cpu_metrics = IoTEdgeMetrics_CL
    | where Name_s == "edgeAgent_used_cpu_percent"
    | extend dimensions = parse_json(Tags_s)
    | extend module_name = tostring(dimensions.module_name)
    | where module_name in ("avaedge","yolov3","tinyyolov3")
    | summarize cpu_percent = avg(Value_d) by bin(TimeGenerated, 5s), module_name;
    cpu_metrics
    | summarize cpu_percent = sum(cpu_percent) by TimeGenerated
    | extend module_name = "Total"
    | union cpu_metrics
    

    Diagram that shows the metrics using Kusto query.

تسجيل الدخول

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

  • logLevel

    • القيم المسموح بها هي Verboseو WarningInformationو Errorو و.None
    • القيمة الافتراضية هي Information. ستحتوي السجلات على رسائل خطأ وتحذير ومعلومات.
    • إذا قمت بتعيين القيمة إلى Warning، فستحتوي السجلات على رسائل خطأ وتحذير.
    • إذا قمت بتعيين القيمة إلى Error، فستحتوي السجلات على رسائل خطأ فقط.
    • إذا قمت بتعيين القيمة إلى None، فلن يتم إنشاء سجلات. هذا غير مستحسن.
    • استخدم Verbose فقط إذا كنت بحاجة إلى مشاركة السجلات مع دعم Azure لتشخيص مشكلة.
  • logCategories

    • قائمة مفصولة بفاوصلة لقيمة واحدة أو أكثر من هذه القيم: Application، ، Events. MediaPipeline
    • القيمة الافتراضية هي Application, Events.
    • Application: معلومات عالية المستوى من الوحدة النمطية، مثل رسائل بدء تشغيل الوحدة النمطية وأخطاء البيئة واستدعاءات الأسلوب المباشر.
    • Events: كافة الأحداث التي تم وصفها سابقا في هذه المقالة.
    • MediaPipeline: سجلات منخفضة المستوى قد تقدم رؤى عند استكشاف المشكلات وإصلاحها، مثل الصعوبات في إنشاء اتصال بكاميرا قادرة على RTSP.

إنشاء سجلات تتبع الأخطاء

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

  1. سجل الدخول إلى مدخل Microsoft Azure، وانتقل إلى مركز IoT.

  2. في الجزء الأيمن، حدد IoT Edge.

  3. في قائمة الأجهزة، حدد معرف الجهاز الهدف.

  4. في أعلى الجزء، حدد Set Modules.

    Screenshot of the

  5. في قسم IoT Edge Modules ، ابحث عن avaedge وحدده.

  6. حدد Module Identity Twin. يتم فتح جزء قابل للتحرير.

  7. ضمن المفتاح المطلوب، أضف زوج المفتاح/القيمة التالي:

    "DebugLogsDirectory": "/var/lib/videoanalyzer/logs"

    ملاحظة

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

    1. أنشئ ربطا لموقع سجل تتبع الأخطاء في قسم Binds ، واستبدل $DEBUG_LOG_LOCATION_ON_EDGE_DEVICE و $DEBUG_LOG_LOCATION بالموقع الذي تريده: /var/$DEBUG_LOG_LOCATION_ON_EDGE_DEVICE:/var/$DEBUG_LOG_LOCATION
    2. استخدم الأمر التالي، مع استبدال $DEBUG_LOG_LOCATION بالموقع المستخدم في الخطوة السابقة: "DebugLogsDirectory": "/var/$DEBUG_LOG_LOCATION"
  8. تحديد الحفظ

ستكتب الوحدة النمطية الآن سجلات تتبع الأخطاء بتنسيق ثنائي إلى مسار /var/local/videoAnalyzer/debuglogs/تخزين الجهاز . يمكنك مشاركة هذه السجلات مع دعم Azure.

يمكنك إيقاف جمع السجل عن طريق تعيين القيمة في Module Identity Twin إلى null. ارجع إلى صفحة Module Identity Twin وقم بتحديث المعلمة التالية على النحو التالي:

"DebugLogsDirectory": ""

الأسئلة المتداولة

إذا كانت لديك أسئلة، فشاهد الأسئلة المتداولة حول المراقبة والمقاييس.

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

استكشاف أخطاء Azure Video Analyzer وإصلاحها