استكشاف أخطاء شبكة وإصلاحها باستخدام مقاييس وسجلات Network Watcher

مكتمل

إذا كنت ترغب في تشخيص مشكلة بسرعة، يجب عليك فهم المعلومات المتوفرة في سجلات Azure Network Watcher.

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

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

الاستخدام والحصص النسبية

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

لعرض معلومات الاستخدام والحصة النسبية، انتقل إلى All Services>Networking>Network Watcher، ثم حدد Usage and quotas. ستشاهد بيانات مفصلة استنادًا إلى موقع الاستخدام والمورد. يتم تسجيل بيانات المقاييس التالية:

  • واجهات الشبكة
  • مجموعة أمان الشبكة (NSGs)
  • الشبكات الظاهرية
  • عناوين IP العامة

إليك مثال يوضح الاستخدام والحصص النسبية في المدخل:

Screenshot showing usage and quotas by using Network Watcher.

السجلات

توفر سجلات تشخيص الشبكة بيانات مفصلة. ستستخدم هذه البيانات لفهم مشكلات الاتصال والأداء بشكل أفضل. هناك ثلاثة أدوات لعرض السجل في Network Watcher:

  • سجلات تدفق مجموعة أمان الشبكة
  • سجلات التشخيص
  • Traffic analytics

لنلق نظرة على كل أداة من الأدوات.

سجلات تدفق مجموعة أمان الشبكة

في سجلات تدفق مجموعة أمان الشبكة، يمكنك عرض معلومات حول نسبة استخدام شبكة IP للدخول والخروج من مجموعات أمان الشبكة. يظهر تدفق سجلات التدفقات الصادرة والواردة على أساس كل قاعدة استناداً إلى محول الشبكة التي يطبقها التدفق. تظهر سجلات تدفق NSG ما إذا كان قد تم السماح بحركة نقل بيانات أو رفضها استنادًا إلى معلومات المجموعات الخمس التي تم تسجيلها. تتضمن هذه المعلومات:

  • IP المصدر
  • منفذ المصدر
  • IP الوجهة
  • منفذ الوجهة
  • البروتوكول

يوضح هذا الرسم التخطيطي سير العمل الذي يتبعه الـ NSG.

Screenshot showing the workflow that the NSG follows from inbound traffic to rule matches to allowing or denying a packet.

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

في Power BI، يمكنك تصور سجلات تدفق NSG بعدة طرق. على سبيل المثال:

  • كبار المُتحدثين (عنوان IP)
  • التدفقات حسب الاتجاه (الواردة والصادرة)
  • التدفقات حسب القرار (المسموح به والمرفوض)
  • التدفقات حسب منفذ الوجهة

يمكنك أيضاً استخدام أدوات المصدر المفتوح لتحليل سجلاتك، مثل Elastic Stack، وGrafana، وGraylog.

إشعار

لا تدعم سجلات تدفق NSG حسابات التخزين على مداخل Azure الكلاسيكية.

سجلات التشخيص

في Network Watcher، تعد سجلات التشخيص مكانًا مركزيًا لتمكين وتعطيل السجلات الخاصة بموارد شبكة Azure. قد تتضمن هذه الموارد NSGs وIPs العامة وموازنات التحميل وبوابات التطبيقات. بعد تمكين السجلات التي تهمك، يمكنك استخدام الأدوات للاستعلام عن وعرض إدخالات السجل.

يمكنك استيراد سجلات التشخيص إلى Power BI وأدوات أخرى لتحليلها.

Traffic analytics

للتحقق من نشاط المستخدم والتطبيق عبر شبكات السحابة، استخدم Traffic analytics.

توفر الأداة تفاصيل حول نشاط الشبكة عبر الاشتراكات. يمكنك تشخيص تهديدات الأمان مثل المنافذ المفتوحة وVMs التي تتصل بالشبكات غير المعروفة وأنماط تدفق نقل البيانات. يحلل Traffic analytics سجلات تدفق NSG عبر مناطق وإشتراكات Azure. يمكنك استخدام البيانات لتحسين أداء الشبكة.

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

سيناريوهات حالة الاستخدام

الآن، دعونا ننظر في بعض سيناريوهات حالة الاستخدام حيث يمكن أن تكون مقاييس وسجلات Azure Network Watcher مفيدة.

تقارير العملاء عن بطء الأداء

لحل بطء الأداء، تحتاج إلى تحديد السبب الجذري للمشكلة:

  • هل هناك الكثير من عمليات نقل البيانات المقيدة للخادم؟
  • هل حجم الـ VM مناسب للوظيفة؟
  • هل حدود قابلية التوسع محددة بشكل مناسب؟
  • هل تحدث أي هجمات ضارة؟
  • هل تكوين تخزين VM صحيح؟

أولًا، تحقق من أن حجم الـ VM مناسب للوظيفة. بعد ذلك، قم بتمكين Azure Diagnostics على الـ VM للحصول على مزيد من البيانات المفصلة لمقاييس معينة، مثل استخدام CPU واستخدام الذاكرة. لتمكين تشخيصات الـ VM عبر المدخل، انتقل إلى VM، وحدد Diagnostics Settings، ثم قم بتشغيل التشخيصات.

دعونا نفترض أن لديك VM التي تم تشغيله بشكل جيد. ومع ذلك، فقد تم مؤخرًا انخفاض أداء الـ VM. لتحديد ما إذا كان لديك أي ازدحام في الموارد، تحتاج إلى مراجعة البيانات التي تم تسجيلها.

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

  • ازدحام CPU
  • ازدحام الذاكرة
  • ازدحام القرص

ازدحام CPU

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

  • Isolated spikes. قد تكون الارتفاع الحاد مرتبط بمهمة مجدولة أو حدث متوقع. إذا كنت تعرف ما هي هذه المهمة، هل يتم تشغيلها على مستوى الأداء المطلوب؟ إذا كان الأداء على ما يرام، قد لا تحتاج إلى زيادة السعة.
  • Spike up and constant. قد يتسبب حمل عمل جديد في هذا الاتجاه. تمكين المراقبة في الـ VM لمعرفة ما هي العمليات التي تسبب حمل العمل. قد يكون الاستهلاك المتزايد بسبب تعليمات برمجية غير فعالة أو قد يكون الاستهلاك العادي لحمل العمل الجديد. إذا كان الاستهلاك طبيعيًا، هل تعمل العملية على مستوى الأداء المطلوب؟
  • Constant. هل كان جهاز VM الخاص بك دائمًا هكذا؟ إذا كان الأمر كذلك، يجب تحديد العمليات التي تستهلك معظم الموارد والنظر في زيادة السعة.
  • Steadily increasing. هل ترى زيادة مستمرة في الاستهلاك؟ إذا كان الأمر كذلك، قد يشير هذا الاتجاه إلى تعليمات برمجية غير فعالة أو تتطلب المزيد من حمل عمل المستخدم.

إذا كنت تراقب استخدام CPU عال، يمكنك إما:

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

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

ازدحام الذاكرة

يمكنك عرض مقدار الذاكرة التي يستخدمها الـ VM. ستساعدك السجلات على فهم الاتجاه وإذا كان تعين الوقت الذي ترى فيه المشكلات. يجب ألا يكون لديك أقل من 100 ميجابايت من الذاكرة المتوفرة في أي وقت. احترس من الاتجاهات التالية:

  • Spike up and constant consumption. قد لا يكون استخدام الذاكرة العالي هو سبب الأداء السيئ. بعض التطبيقات، مثل محركات قواعد البيانات العلائقية، ترتكز على الذاكرة بحكم التصميم. ولكن إذا كان هناك العديد من التطبيقات المتعطشة للذاكرة، فقد ترى أداءً سيئًا لأن منافسة الذاكرة على الاتصال يسبب إخفاء أجزاء والترحيل إلى القرص. هذه العمليات سوف ينتج عنها تأثير أداء سلبي.
  • Steadily increasing consumption. قد يكون هذا الاتجاه هو إحماء للتطبيق. هو الشائع عند بدء تشغيل محركات قواعد البيانات. ومع ذلك، قد يكون أيضًا علامة على حدوث تسرب للذاكرة في أحد التطبيقات.
  • Page or swap file usage. تحقق مما إذا كنت تستخدم ملف صفحة Windows بشكل كبير، أو ملف الذاكرة الظاهرية Linux الموجود في /dev/sdb.

لحل استخدام الذاكرة العالي، خذ بعين الاعتبار هذه الحلول:

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

ازدحام القرص

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

  • للتحقق من مهلة Azure Storage، استخدم المقاييس ClientTimeOutError، وServerTimeOutError، وAverageE2ELatency، وAverageServerLatency، وTotalRequests. إذا رأيت القيم في مقاييس "TimeOutError"، فإن عملية الإدخال/الإخراج استغرقت فترة طويلة وانتهت مهلتها. وإذا رأيت زيادة "AverageServerLatency" في الوقت نفسه مع "TimeOutErrors"، فقد تكون مشكلة في المنصة. رفع حالة مع الدعم التقني لـ Microsoft.
  • للتحقق من تقييد Azure Storage، استخدم مقياس حساب التخزين ThrottlingError. إذا رأيت تقييدًا، فإنك تصل إلى حد IOPS للحساب. يمكنك التحقق من هذه المشكلة عن طريق التحقيق في قياس TotalRequests.

لاصلاح مشكلات استخدام القرص العالي وزمن الانتقال:

  • قم بتحسين إدخال/إخراج VM لتوسيع نطاق حدود القرص الثابت الظاهري (VHD).
  • زيادة معدل النقل وتقليل زمن الانتقال. إذا وجدت أن لديك تطبيق حساس لزمن الانتقال ويحتاج إلى معدل نقل عالي، فقم بترحيل VHDs إلى Azure Premium Storage.

قواعد جدار حماية الجهاز الظاهري الذي يمنع نقل البيانات

لاستكشاف مشكلة تدفق NSG وإصلاحها، استخدم أداة Network Watcher للتحقق من تدفق IP وتسجيل تدفق NSG لتحديد ما إذا كان NSG أو توجيه محدد من قبل المستخدم (UDR) تتداخل مع تدفق نقل البيانات.

قم بتشغيل التحقق من تدفق IP وتحديد الـ VM المحلي والـ VM البعيد. بعد تحديد Check، يعمل Azure على اختبار منطقي على القواعد في المكان. إذا كانت النتيجة هو السماح بالوصول، استخدم سجلات تدفق NSG.

في المدخل، انتقل إلى NSGs. أسفل إعدادات سجل التدفق، حدد On. الآن حاول الاتصال بالـ VM مرة أخرى. استخدم traffic analytics لـ Network Watcher لتصور البيانات. إذا كانت النتيجة هي أن الوصول مسموح، فلا توجد قاعدة NSG في الطريق.

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

عدم قدرة الشبكات الفرعية للواجهة الأمامية والخلفية على التواصل

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

إذا كانت النتيجة NSG على الشبكة الفرعية للواجهة الخلفية تحظر كافة الاتصالات، أعد تكوين هذا الـ NSG. لأغراض أمنية، يجب عليك منع بعض الاتصالات مع الواجهة الأمامية لأن الواجهة الأمامية معرضة للإنترنت العام.

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