سجلات المراقبة والمقاييس والوصول في الوقت الحقيقي ل 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:
من قائمة مدخل Microsoft Azure، حدد AllResourcesyour-CDN-profile<>>>.
ضمن Monitoring، اختر Diagnostics settings.
حدد + Add diagnostic setting.
هام
تتوفر السجلات الأولية فقط في مستوى ملف التعريف بينما تتوفر سجلات التعليمات البرمجية لحالة http المجمعة في مستوى نقطة النهاية.
ضمن إعدادات التشخيص، أدخل اسما لإعداد التشخيص ضمن اسم إعدادات التشخيص.
حدد AzureCdnAccessLog وقم بتعيين الاستبقاء بالأيام.
حدد «Destination details» خيارات الوجهة هي:
- إرسال إلى تحليلات السجل
- حدد مساحة عمل الاشتراك وLog Analytics .
- «Archive to» إلى حساب موقع التخزين
- حدد الاشتراك وحساب التخزين.
- «Stream to» مركز أحداث
- حدد الاشتراكومساحة اسم مركز الأحداثواسم مركز الأحداث (اختياري)واسم نهج مركز الأحداث.
- إرسال إلى تحليلات السجل
حدد حفظ.
التكوين - Azure PowerShell
استخدم Set-AzDiagnosticSetting لتكوين إعداد التشخيص للسجلات الأولية.
يتم تعريف بيانات الاستبقاء بواسطة الخيار -RetentionInDays في الأمر .
ملاحظة
تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
تمكين سجلات التشخيص في حساب تخزين
«Sign in» إلى Azure PowerShell.
Connect-AzAccountلتمكين السجلات التشخيصية في حساب تخزين، أدخل هذه الأوامر. استبدل المتغيرات بقيمك:
## 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
«Sign in» إلى Azure PowerShell.
Connect-AzAccountلتمكين السجلات التشخيصية لمساحة عمل 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
تمكين سجلات التشخيص لمساحة اسم مركز الأحداث
«Sign in» إلى Azure PowerShell.
Connect-AzAccountلتمكين سجلات التشخيص لمساحة اسم لوحة مركز الحدث، أدخل هذه الأوامر. استبدل المتغيرات بقيمك:
## 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 = (الخروج من الحافة - الخروج من الأصل)/الخروج من الحافة
السيناريوهات المستثناة في حساب نسبة مرات الوصول بالبايت:
- لا تقوم بتكوين ذاكرة التخزين المؤقت بشكل صريح إما من خلال محرك القواعد أو سلوك التخزين المؤقت لسلسلة الاستعلام.
- يمكنك تكوين توجيه التحكم في ذاكرة التخزين المؤقت بشكل صريح بدون مخزن أو ذاكرة تخزين مؤقت خاصة.
تكوين المقاييس
من قائمة مدخل Microsoft Azure، حدد AllResourcesyour-CDN-profile<>>>.
ضمن "مراقبة" ، حدد "المقاييس" :
حدد Add metric، وحدد المقياس لإضافته:
حدد "إضافة عامل تصفية" لإضافة عامل تصفية:
حدد تطبيق التقسيم لرؤية الاتجاه حسب أبعاد مختلفة:
حدد "مخطط جديد" لإضافة مخطط جديد:
التنبيهات
يمكنك إعداد التنبيهات على Microsoft CDN عن طريق تحديد MonitoringAlerts>>.
حدد قاعدة تنبيه جديدة للمقاييس المدرجة في قسم المقاييس:
سيتم تحصيل رسوم التنبيه استنادًا إلى Azure Monitor. لمزيد من المعلومات حول التنبيهات، راجع تنبيهات Azure Monitor.
مقاييس إضافية
يمكنك تمكين مقاييس إضافية باستخدام Azure Log Analytics والسجلات الأولية بتكلفة إضافية.
اتبع الخطوات المذكورة أعلاه في تمكين التشخيصات لإرسال السجل الخام إلى تحليلات السجل.
حدد مساحة عمل Log Analytics التي أنشأتها:
حدد Logs ضمن General في مساحة عمل تحليلات السجل. ثم حدد بدء الاستخدام:
حدد ملفات تعريف CDN. حدد استعلاما مثالا لتشغيل شاشة المثال أو إغلاقها لإدخال استعلام مخصص:
لعرض البيانات حسب المخطط، حدد مخطط. حدد تثبيت بلوحة المعلومات لتثبيت المخطط بلوحة معلومات Azure:
الخطوات التالية
في هذه المقالة، قمت بتمكين سجلات HTTP الأولية لخدمة Microsoft CDN.
لمزيد من المعلومات حول Azure CDN وخدمات Azure الأخرى المذكورة في هذه المقالة، راجع:
تحليل أنماط استخدام Azure CDN.
تعرف على المزيد حول Azure Monitor.