سجلات المراقبة والمقاييس والوصول في الوقت الحقيقي ل Azure CDN

باستخدام Azure CDN من Microsoft، يمكنك مراقبة الموارد بالطرق التالية لمساعدتك في استكشاف المشكلات وتتبعها وتصحيحها.

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

هام

تتوفر ميزة سجلات HTTP الأولية ل Azure CDN من Microsoft.

إذا لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.

تسجيل الدخول إلى Azure

سجّل الدخول إلى مدخل Azure على https://portal.azure.com.

التكوين - مدخل Microsoft Azure

لتكوين سجلات Raw ل Azure CDN من ملف تعريف Microsoft:

  1. من قائمة مدخل Microsoft Azure، حدد AllResourcesyour-CDN-profile<>>>.

  2. ضمن Monitoring، اختر Diagnostics settings.

  3. حدد + Add diagnostic setting.

    Add diagnostic setting for CDN profile.

    هام

    تتوفر السجلات الأولية فقط في مستوى ملف التعريف بينما تتوفر سجلات التعليمات البرمجية لحالة http المجمعة في مستوى نقطة النهاية.

  4. ضمن إعدادات التشخيص، أدخل اسما لإعداد التشخيص ضمن اسم إعدادات التشخيص.

  5. حدد AzureCdnAccessLog وقم بتعيين الاستبقاء بالأيام.

  6. حدد «Destination details» خيارات الوجهة هي:

    • إرسال إلى تحليلات السجل
      • حدد مساحة عمل الاشتراك وLog Analytics .
    • «Archive to» إلى حساب موقع التخزين
      • حدد الاشتراك وحساب التخزين.
    • «Stream to» مركز أحداث
      • حدد الاشتراكومساحة اسم مركز الأحداثواسم مركز الأحداث (اختياري)واسم نهج مركز الأحداث.

    Configure destination for log settings.

  7. حدد ⁧⁩حفظ⁧⁩.

التكوين - Azure PowerShell

استخدم Set-AzDiagnosticSetting لتكوين إعداد التشخيص للسجلات الأولية.

يتم تعريف بيانات الاستبقاء بواسطة الخيار -RetentionInDays في الأمر .

ملاحظة

تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

تمكين سجلات التشخيص في حساب تخزين

  1. «Sign in» إلى⁧ ⁩Azure PowerShell⁧⁩.

    Connect-AzAccount 
    
  2. لتمكين السجلات التشخيصية في حساب تخزين، أدخل هذه الأوامر. استبدل المتغيرات بقيمك:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $storageacct = <your-storage-account-name>
    $diagname = <your-diagnostic-setting-name>
    $days = '30'
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

تمكين سجلات التشخيص لمساحة عمل Log Analytics

  1. «Sign in» إلى⁧ ⁩Azure PowerShell⁧⁩.

    Connect-AzAccount 
    
  2. لتمكين السجلات التشخيصية لمساحة عمل Log Analytics، أدخل هذه الأوامر. استبدل المتغيرات بقيمك:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $workspacename = <your-log-analytics-workspace-name>
    $diagname = <your-diagnostic-setting-name>
    $days = '30'
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $rsg -Name $workspacename
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -WorkspaceId $workspace.ResourceId -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

تمكين سجلات التشخيص لمساحة اسم مركز الأحداث

  1. «Sign in» إلى⁧ ⁩Azure PowerShell⁧⁩.

    Connect-AzAccount 
    
  2. لتمكين سجلات التشخيص لمساحة اسم لوحة مركز الحدث، أدخل هذه الأوامر. استبدل المتغيرات بقيمك:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $evthubnamespace = <your-event-hub-namespace-name>
    $diagname = <your-diagnostic-setting-name>
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $eventhub = Get-AzEventHubNamespace -ResourceGroupName $rsg -Name $eventhubname
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhub.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

خصائص السجلات الأولية

يوفر Azure CDN من Microsoft Service حاليا سجلات Raw. توفر السجلات الأولية طلبات واجهة برمجة تطبيقات فردية مع كل إدخال يحتوي على المخطط التالي:

الخاصية الوصف
BackendHostname إذا تمت إعادة توجيه الطلب إلى خلفية، يمثل هذا الحقل اسم مضيف الواجهة الخلفية. سيكون هذا الحقل فارغاً إذا تمت إعادة توجيه الطلب أو إعادة توجيهه إلى ذاكرة تخزين مؤقت إقليمية (عند تمكين التخزين المؤقت لقاعدة التحويل).
CacheStatus بالنسبة لسيناريوهات التخزين المؤقت، يحدد هذا الحقل نتيجة/خطأ ذاكرة التخزين المؤقت في بروتوكول POP
عميل عنوان IP للعميل الذي قدم الطلب. إذا كان هناك رأس X-Forwarded-For في الطلب، فسيتم اختيار عنوان IP للعميل من نفس العنوان.
ClientPort منفذ IP للعميل الذي قدم الطلب.
HttpMethod طريقة HTTP المستخدمة في الطلب.
HttpStatusCode تم إرجاع رمز حالة HTTP من الوكيل. إذا تم تعيين طلب إلى مهلة الأصل، يتم تعيين قيمة HttpStatusCode إلى 0.
HttpStatusDetails الحالة الناتجة عن الطلب. يمكن العثور على معنى قيمة السلسلة هذه في الجدول المرجعي للحالة.
HttpVersion نوع الطلب أو الاتصال.
POP الاسم المختصر للحافة التي وصل إليها الطلب.
RequestBytes حجم رسالة طلب HTTP بالبايت، بما في ذلك رؤوس الطلب ونص الطلب.
RequestUri URI للطلب المستلم.
ResponseBytes وحدات البايت المرسلة من خادم الخلفية كاستجابة.
RoutingRuleName اسم قاعدة التحويل التي تطابق الطلب.
RulesEngineMatchNames أسماء القواعد المطابقة للطلب.
SecurityProtocol إصدار بروتوكول TLS/SSL المستخدم بواسطة الطلب أو إلغاء إذا لم يكن هناك تشفير.
SentToOriginShield
(مهمل) * راجع الملاحظات حول الإهمال في القسم التالي.
إذا كان هذا صحيحاً، فهذا يعني أنه تم الرد على هذا الطلب من ذاكرة التخزين المؤقت للدرع الأصلي بدلاً من الحافة المنبثقة. درع الأصل هو ذاكرة تخزين مؤقت الأصل تستخدم لتحسين نسبة عدد مرات الدخول إلى ذاكرة التخزين المؤقت.
isReceivedFromClient إذا كان هذا صحيحاً، فهذا يعني أن الطلب جاء من العميل. إذا كان خطأ، فإن الطلب هو خطأ في الحافة (POP التابع للطفل) ويتم الرد عليه من الفرع الأصلي (POP الأصلي).
TimeTaken المدة الزمنية من البايت الأول للطلب إلى Front Door حتى آخر بايت من الاستجابة، بالثواني.
TrackingReference سلسلة المرجع الفريدة التي تحدد طلباً مقدماً من قبل Front Door، يتم إرسالها أيضاً كرأس X-Azure-Ref إلى العميل. مطلوب للبحث عن تفاصيل في سجلات الوصول لطلب معين.
UserAgent نوع المتصفح الذي استخدمه العميل.
ErrorInfo يحتوي هذا الحقل على نوع الخطأ المحدد لتضييق نطاق استكشاف الأخطاء وإصلاحها.
تتضمن القيم المحتملة:
NoError: يشير إلى عدم العثور على أخطاء.
CertificateError: خطأ شهادة SSL عام.
CertificateNameCheckFailed: اسم المضيف في شهادة SSL غير صحيح أو غير متطابق.
ClientDisconnected: فشل الطلب بسبب اتصال شبكة العميل.
غير محددClientError: خطأ عميل عام.
InvalidRequest: طلب غير صالح. قد يحدث بسبب عدم تكوين رأس ونص وعنوان URL بشكل غير صحيح.
DNSFailure: فشل DNS.
DNSNameNotResolved: تعذر حل اسم الخادم أو العنوان.
OriginConnectionAborted: تم إيقاف الاتصال بالأصل فجأة.
OriginConnectionError: خطأ اتصال أصل عام.
OriginConnectionRefused: تعذر تأسيس الاتصال بالأصل.
OriginError: خطأ أصل عام.
OriginInvalidResponse: أرجع الأصل استجابة غير صالحة أو غير معروف.
OriginTimeout: انتهت صلاحية فترة المهلة لطلب الأصل.
ResponseHeaderTooBig: تم إرجاع الأصل كبير جدا من عنوان الاستجابة.
RestrictedIP: تم حظر الطلب بسبب IP المقيد.
SSLHandshakeError: تعذر إنشاء اتصال بالأصل بسبب فشل اهتزاز يد SSL.
غير محددالخطأ: حدث خطأ لم يتم احتوائه في أي من الأخطاء في الجدول.
TimeToFirstByte طول الوقت بالمللي ثانية من الوقت الذي تتلقى فيه Microsoft CDN الطلب إلى الوقت الذي يتم فيه إرسال البايت الأول إلى العميل. يتم قياس الوقت فقط من جانب Microsoft. لا يتم قياس البيانات من جانب العميل.

ملاحظة

يمكن عرض السجلات ضمن ملف تعريف Log Analytics الخاص بك عن طريق تشغيل استعلام. سيبدو نموذج الاستعلام كما يلي: AzureDiagnostics | where Category == "AzureCdnAccessLog"

تم الإرسال إلى إيقاف الدرع الأصل

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

تتضمن السجلات الأولية السجلات التي تم إنشاؤها من كل من حافة CDN (POP التابع) ودرع الأصل. يشير درع الأصل إلى العقد الأصلية التي تقع إستراتيجياً في جميع أنحاء العالم. تتواصل هذه العقد مع الخوادم الأصلية وتقلل من حمل المرور على الأصل.

لكل طلب يتم إرساله إلى الدرع الأصلي، هناك إدخالات من سجلين:

  • واحد لعُقد الحافة
  • واحد لدرع المنشأ.

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

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

نموذج استعلام Kusto لاستبعاد السجلات التي تم إنشاؤها على درع الأصل في Log Analytics.

AzureDiagnostics 
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"  
| where isReceivedFromClient == true

هام

تتوفر ميزة سجلات HTTP Raw تلقائيا لأي ملفات تعريف تم إنشاؤها أو تحديثها بعد 25 فبراير 2020. بالنسبة لملفات تعريف CDN التي تم إنشاؤها مسبقا، يجب تحديث نقطة نهاية CDN بعد إعداد التسجيل. على سبيل المثال، يمكن للمرء الانتقال إلى التصفية الجغرافية ضمن نقاط نهاية CDN وحظر أي بلد/منطقة غير ذات صلة بأحمال العمل الخاصة بهم والضغط على الحفظ.

المقاييس

تم دمج Azure CDN من Microsoft مع Azure Monitor وينشر أربعة مقاييس CDN للمساعدة في تعقب المشكلات واستكشاف الأخطاء وإصلاحها وتصحيحها.

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

يقيس Azure CDN من Microsoft ويرسل مقاييسه في فواصل زمنية مدتها 60 ثانية. يمكن أن تستغرق المقاييس ما يصل إلى 3 دقائق لتظهر في المدخل.

لمزيد من المعلومات، راجع مقاييس Azure Monitor.

المقاييس التي يدعمها Azure CDN من Microsoft

المقاييس الوصف الأبعاد
نسبة عدد وحدات البايت* النسبة المئوية للإخراج من ذاكرة التخزين المؤقت ل CDN، المحسوبة مقابل إجمالي الخروج. نقطة النهاية
عدد الطلبات عدد طلبات العملاء التي تقدمها شبكة تسليم المحتوى (CDN). بلد عميل نقطة
النهاية.
منطقة العميل.
حالة HTTP.
مجموعة حالة HTTP.
ResponseSize عدد وحدات البايت المرسلة كاستجابات من حافة CDN للعملاء. بلد عميل نقطة
النهاية.
منطقة العميل.
حالة HTTP.
مجموعة حالة HTTP.
إجمالي زمن الانتقال إجمالي الوقت بدءًا من طلب العميل الذي تلقته شبكة تسليم المحتوى (CDN) حتى إرسال آخر بايت من الاستجابة من شبكة تسليم المحتوى (CDN) إلى العميل. بلد عميل نقطة
النهاية.
منطقة العميل.
حالة HTTP.
مجموعة حالة HTTP.

ملاحظة

إذا تم تعيين طلب إلى مهلة الأصل، يتم تعيين قيمة HttpStatusCode إلى 0.

*وحدات البايت Hit Ration = (الخروج من الحافة - الخروج من الأصل)/الخروج من الحافة

السيناريوهات المستثناة في حساب نسبة مرات الوصول بالبايت:

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

تكوين المقاييس

  1. من قائمة مدخل Microsoft Azure، حدد AllResourcesyour-CDN-profile<>>>.

  2. ضمن "مراقبة" ، حدد "المقاييس" :

    Metrics for CDN profile.

  3. حدد Add metric، وحدد المقياس لإضافته:

    Add and select metric for CDN profile.

  4. حدد "إضافة عامل تصفية" لإضافة عامل تصفية:

    Apply filter to metric.

  5. حدد تطبيق التقسيم لرؤية الاتجاه حسب أبعاد مختلفة:

    Apply splitting to the metric.

  6. حدد "مخطط جديد" لإضافة مخطط جديد:

    Add new chart to the metric view.

التنبيهات

يمكنك إعداد التنبيهات على Microsoft CDN عن طريق تحديد MonitoringAlerts>>.

حدد قاعدة تنبيه جديدة للمقاييس المدرجة في قسم المقاييس:

Configure alerts for CDN endpoint.

سيتم تحصيل رسوم التنبيه استنادًا إلى Azure Monitor. لمزيد من المعلومات حول التنبيهات، راجع تنبيهات Azure Monitor.

مقاييس إضافية

يمكنك تمكين مقاييس إضافية باستخدام Azure Log Analytics والسجلات الأولية بتكلفة إضافية.

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

  2. حدد مساحة عمل Log Analytics التي أنشأتها:

    Select log analytics workspace

  3. حدد Logs ضمن General في مساحة عمل تحليلات السجل. ثم حدد بدء الاستخدام:

    Log analytics resource workspace.

  4. حدد ملفات تعريف CDN. حدد استعلاما مثالا لتشغيل شاشة المثال أو إغلاقها لإدخال استعلام مخصص:

    Example query screen.

    Query execution.

  5. لعرض البيانات حسب المخطط، حدد مخطط. حدد تثبيت بلوحة المعلومات لتثبيت المخطط بلوحة معلومات Azure:

    Pin chart to dashboard.

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

في هذه المقالة، قمت بتمكين سجلات HTTP الأولية لخدمة Microsoft CDN.

لمزيد من المعلومات حول Azure CDN وخدمات Azure الأخرى المذكورة في هذه المقالة، راجع: