ديفيد أوبراين (Xirus): المقاييس! المقاييس! المقاييس! الجزء 2

افتتح ديفيد أوبراين مؤخرًا شركته الخاصة ، Xirus (https://xirus.com.au) ، مع التركيز على منتجات السحابة Microsoft Azure Stack. وهي مخصصة لإنشاء وتنسيق منسقين للتطبيقات المختلطة في مراكز البيانات والمواقع الحدودية والمكاتب البعيدة والسحابة.

يقوم David بتعليم الأفراد والشركات كل ما يتعلق بـ Microsoft Azure و Azure DevOps (المعروف سابقًا باسم VSTS) ولا يزال مشاركًا في الاستشارات العملية والتشفير البيني. لقد فاز بجائزة Microsoft MVP Award (Microsoft Most Valuable Professional) لمدة 5 سنوات ، وتلقى مؤخرًا جائزة MVP Azure. بصفته المنظم المشارك لـ Melbourne Microsoft Cloud و Datacentre Meetup ، يتحدث O'Brien بانتظام في المؤتمرات الدولية ، ويجمع بين اهتمامه بالسفر حول العالم مع شغفه بمشاركة قصص تكنولوجيا المعلومات مع المجتمع. تقع مدونة David على david-obrien.net ، وينشر أيضًا تدريبات Pluralsight عبر الإنترنت.

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

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

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

ديفيد أوبراين (Xirus): المقاييس! المقاييس! المقاييس! الجزء 1

بما أن الشرائح ستكون ضخمة للغاية ، فضلت العرض التوضيحي. فكر في كيفية تصور المراقبة ، وابدأ بعلامة التبويب مراقبة المقاييس. كما ذكرت ، هذا سهل بما فيه الكفاية. كل ما عليك فعله هو تحديد المورد المستخدم في القائمة المنسدلة Resource group ونوع المورد في قائمة Resource type. في حالتنا ، اخترت جميع أنواع المقاييس الـ 72.



لحسن الحظ أو لسوء الحظ ، تعمل معظم الخدمات السحابية على أجهزة افتراضية ، وأنا أفعل نفس الشيء. على هذا الجهاز الافتراضي ، تعرض لنا Microsoft بشكل افتراضي مقاييس المضيف. على وجه الخصوص ، يمكننا أن نرى مقدار حركة المرور التي تمر عبر هذا الجهاز الظاهري على مدار الـ 24 ساعة الماضية مع فترة قياس 15 دقيقة. ترى أن لدينا لوحة قيادة رائعة لهذا المقياس. هذا ليس مقياسًا متقدمًا للغاية ، ولا يمكننا فعل أي شيء به ، باستثناء عرض مقدار حركة المرور الصادرة بالميغابايت. من الأدوات الموجودة هنا: القدرة على إضافة قاعدة جديدة بخصوص القيود والقدرة على إرفاق هذا المقياس بلوحة المعلومات.
يجب أن يعرف أولئك الذين يستخدمون الجهاز الظاهري ما هو Telegraf ، والذي يشار إليه في خط RESORCE. هذا مكون إضافي TING مفتوح المصدر مكتوب في Go ، وهو مصمم لجمع المقاييس أو البيانات من النظام الذي تم تثبيته عليه. تقوم Telegraf بتمرير المقاييس التي تم جمعها إلى قاعدة بيانات InfluxDB. يعمل هذا البرنامج المساعد عبر الأنظمة الأساسية على نظامي التشغيل Windows و Linux.



كما قلت ، بشكل افتراضي ، يستخدم Microsoft Azure Monitor مقاييس Hypervisor للجهاز الظاهري ، ويشار إلى ذلك على خط METRIC NAMESPACE. يحدث بالمثل في AWS. لا يمكنني قول أي شيء عن منصة GSP السحابية ، لأنني لم أستخدمه مطلقًا. لذلك ، حدد Telegraf كمورد وأطلب منه نقل هذا المقياس إلى شاشة Sum.



يمكنني الذهاب إلى قائمة METRIC واختيار المزيد من المقاييس المعروضة. على سبيل المثال ، أقوم الآن بتحديد مقياس Usage_steal (باستخدام اعتراض). هل من أحد يعرف ما هذا؟



كم منكم يعيش في شقة مع الجيران الذين يحبون الاستماع إلى الموسيقى بصوت عال جدا؟ حسنًا ، إن use_steal عبارة عن مقياس يوضح كيف يمكن أن تؤثر الأجهزة المجاورة السحابية على نظام التشغيل لديك. ينسى الكثير من الناس أنهم يشغلون تطبيقاتهم في بيئة سحابية عامة. في كل من GCP و AWS و Azure ، يضعك مقدمو الخدمة في بنية أساسية مشتركة. تشارك بنيتك الأساسية - الجهاز الظاهري والتطبيقات وواجهة برمجة التطبيقات - مع مستخدمين آخرين. هذا لا يعني أنه يمكنهم الوصول إلى بياناتك ، ولكن يمكنهم التأثير على تطبيقاتك ، ويجب أن تكون على دراية بذلك. إذا كنت لا تعرف هذا التأثير ، فقد يواجه تطبيقك بعض الصعوبات في العمل. إذا لم تجمع مقاييس use_steal ، فلن تعرف أن تطبيقك قد يتأثر بالتأثير الدخيل. افترضأنك قمت بتشغيل البرنامج ، كل شيء يعمل بشكل جيد ، دون أخطاء ، ولكن فجأة حدث شيء ما ، وتعطل التطبيق. يحدث هذا في كثير من الأحيان ويعتمد على نوع الجهاز الظاهري الذي تستخدمه ، وعدد VMs من نفس النوع الذي يضعه مزودك على كل مضيف. من المحتمل أن تتأثر برامجك سلبًا بهذه البنية التحتية.

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

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



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

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



تمنحك النسبة المئوية فهمًا لما يحدث عالميًا. افترض أن 99 بالمائة هي 200 مللي ثانية. وهذا يعني أن 99٪ من جميع طلباتك لها وقت استجابة يصل إلى 200 مللي ثانية ، وهذا يعني أيضًا أن 1٪ من عملائك يتلقون استجابة بتأخير يتجاوز 200 مللي ثانية.

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

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



إذا نظرت إلى هذا المقياس ، يمكنك أن ترى أن موفر المورد هو Microsoft.SQL ، وهو نفسه يسمى "dtu_consumption_percent" ويشارك في إنشاء النسب المئوية. قد لا ينطبق هذا بشكل خاص على سير العمل الخاص بك ، ولكن يجب أن تعرف أن وحدة تحليلات السجل توفر هذه الإمكانية. لذلك يمكنك استخدام التحليلات إذا كنت بحاجة إلى حسابات أكثر تقدمًا لمقاييسك. صحيح ، عليك أن تدفع ثمن ذلك. بشكل افتراضي ، تتيح لك هذه الأداة معالجة ما يصل إلى 5 غيغابايت من البيانات شهريًا مجانًا ، ومع ذلك ، أعرف عملاء يستخدمون 5 غيغابايت في الدقيقة. لذلك قد لا تكون 5 غيغابايت في الشهر كافية.

تظهر على الشاشة مقياس يوضح أنني أستخدم حاليًا 20 ميغابايت. نظرًا لأن هذه بيئة تجريبية ، فإن كمية البيانات التي يتم الحصول عليها صغيرة جدًا. كما قلت ، فورًا ، يتيح لك Logs Analytic معالجة ما يصل إلى 5 غيغابايت من البيانات شهريًا مجانًا ، وتخزينها لمدة 41 يومًا. من الضروري الدفع لتجاوز هذه الأحجام ، ومع ذلك ، في تجربتي ، لا تزال هذه الخدمة أرخص من منتجات الجهات الخارجية المماثلة ، مثل Splunk أو Sumo.

دعنا ننتقل إلى Grafana ، الذي يحتوي على مكون إضافي لـ Azure Monitor. تم إصداره قبل بضعة أسابيع في الإصدار 0.2. بفضل هذا البرنامج المساعد ، يمكنك استخدام Grafana لمقاييسك. أفضل نشر Grafana على App Services ، حيث يمكن استخدام الحاويات هنا. هذا يسمح لي بتشغيل التطبيقات على جهاز كمبيوتر محمول. للقيام بذلك ، أقوم بتشغيل سطر الأوامر هذا:



وبعد ذلك يمكنني اختبار شيء بسرعة أو إظهار شيء لعملائي.
إن نشر Grafana في بيئة Azure يأخذ أيضًا خطًا واحدًا ، لقد قسمته إلى 4 حتى أتمكن من رؤيته على شاشة واحدة.



لدى Azure ما يسمى "بنيات الحاويات" مثل AWS ، وهو ما يعادل بنيات Google المماثلة. هذه صورة حاوية واحدة يمكن توزيعها عبر حاويات متعددة. أطلق الفريق الذي أبرزته إطلاق Grafana في نفس وقت Azure Monitor. يستغرق نشر Grafana في بيئة شاشة حوالي 30 ثانية.



يمكنني أن أفعل الشيء نفسه من خلال رمز البنية التحتية:



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





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





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

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

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



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

سؤال: المقاييس مهمة جدًا ، ولكن ماذا يمكنك أن تقول عن إدارة السجلات؟

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

السؤال: هل يمكن القيام بذلك تلقائيًا أو بشكل برمجي؟

الجواب: بأي شكل من الأشكال. دعنا نعود إلى Azure Cloud Shell - ترى أنه في قسم المقاييس هناك خدمة يمكنها تقديم المقاييس كسجلات. على سبيل المثال ، يمكنني إنشاء نموذج خطأ وإخبار هذه الخدمة: "الرجاء نشر هذه السجلات هنا". خلال هذا العرض التوضيحي ، عرضت عليك خيارات بسيطة للعمل مع Azure ، ومع ذلك ، في ظروف العالم الحقيقي ، يرجى استخدام هذه القوالب. يمكنك استخدام هذه الطريقة من خلال واجهة سطر الأوامر CLI أو بأي طريقة أخرى مريحة. إذا كنت لا ترغب في كتابة القوالب و JSON ، يمكنك استخدام المحرك المفتوح لكتابة قوالب HTTL ، تسمح Microsoft بذلك.



لا مزيد من الاسئلة؟ شكرا لقضاء هذا الوقت معي!


القليل من الدعاية :)


أشكركم على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية لأصدقائك VPS القائم على السحابة للمطورين من $ 4.99 ، وهو نظير فريد من نوعه لخوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة عن VPS (KVM) E5-2697 v3 (6 نوى) 10GB DDR4 480GB SSD 1Gbps من $ 19 أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا و 40 جيجابايت DDR4).

Dell R730xd أرخص مرتين في مركز بيانات Equinix Tier IV في أمستردام؟ فقط لدينا 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV من 199 دولارًا في هولندا!Dell R420 - 2x E5-2430 2.2 جيجا هرتز 6C 128 جيجا بايت DDR3 2x960GB SSD 1Gbps 100TB - من 99 دولار! اقرأ عن كيفية بناء مبنى البنية التحتية الفئة c باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

All Articles