مقدمة لبروميثيوس وجرافانا

بروميثيوس هو نظام مراقبة مفتوح المصدر قائم على المقاييس. يجمع البيانات من الخدمات والمضيفين عن طريق إرسال طلبات HTTP على نقاط نهاية المقاييس. ثم يخزن النتائج في قاعدة بيانات متسلسلة زمنية ويجعلها متاحة للتحليل والتنبيه.

لماذا المراقبة؟

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

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

Blackbox مقابل مراقبة Whitebox

يندرج الرصد تحت فئتين رئيسيتين:

مراقبة الصندوق الأسود

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

مراقبة Whitebox

تعني مراقبة Whitebox مراقبة العناصر الداخلية للخدمة. من شأنه أن يفضح بيانات حول حالة وأداء المكونات الداخلية.

الإشارات الأربعة الذهبية

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

# 1. وقت الإستجابة

الوقت المستغرق لخدمة الطلب – ناجح أو فاشل. من المهم تتبع ليس فقط الطلبات الناجحة ولكن أيضًا الطلبات الفاشلة.

# 2. حركة المرور

مقياس لمقدار الطلب الذي يتم وضعه على نظامك. بالنسبة لخدمة الويب ، يكون هذا عادةً طلبات HTTP في الثانية.

  40 سيناريو أسئلة وأجوبة مقابلة VMware

# 3. أخطاء

معدل الطلبات التي تفشل.

# 4. التشبع

ما مدى اكتمال خدمتك. غالبًا ما تكون زيادة الكمون مؤشرًا مهمًا للتشبع. يتدهور أداء العديد من الأنظمة كثيرًا قبل أن تحقق استخدامًا بنسبة 100٪.

أنواع مقاييس بروميثيوس

تتكون مقاييس بروميثيوس من أربعة أنواع رئيسية:

# 1. يعداد

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

  • العدد الإجمالي لطلبات HTTP المتلقاة
  • عدد الاستثناءات.

# 2. كَيّل

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

# 3. الرسم البياني

يقوم المدرج التكراري بأخذ عينات الملاحظات وحسابها في دلاء قابلة للتكوين. يتم استخدامها لأشياء مثل مدة الطلب أو أحجام الاستجابة. على سبيل المثال ، يمكنك قياس مدة الطلب لطلب HTTP محدد. سيكون للرسم البياني مجموعة من المجموعات ، لنقل 1 مللي ثانية ، و 10 مللي ثانية ، و 25 مللي ثانية. بدلاً من تخزين كل مدة لكل طلب ، سيقوم Prometheus بتخزين تكرار الطلبات التي تقع في حاوية معينة.

# 4. ملخص

على غرار ملاحظات عينات الرسم البياني ، تطلب عادةً فترات أو أحجام استجابة. سيوفر عددًا إجماليًا للملاحظات ومجموعًا لجميع القيم التي تمت ملاحظتها ، مما يسمح لك بحساب متوسط ​​القيم المرصودة. على سبيل المثال ، في دقيقة واحدة ، تلقيت ثلاثة طلبات استغرقت 2،3،4 ثانية. سيكون المجموع 9 ، والعدد 3. سيكون زمن الانتقال 3 ثوان.

مكونات نظام بروميثيوس البيئي

خادم بروميثيوس

يجمع المقاييس ويخزنها ويجعلها متاحة للاستعلام ويرسل التنبيهات بناءً على المقاييس التي تم جمعها.

القشط

بروميثيوس هو نظام قائم على السحب. لجلب المقاييس ، يرسل بروميثيوس طلب HTTP يسمى الكشط. يرسل كشطًا إلى أهداف بناءً على تكوينه.

يتم كشط كل هدف (محدد بشكل ثابت ، أو تم اكتشافه ديناميكيًا) على فترات منتظمة (فترة كشط). يقرأ كل كشط نقطة نهاية HTTP / metrics للحصول على الحالة الحالية لمقاييس العميل ويستمر في القيم في قاعدة بيانات سلسلة زمنية بروميثيوس.

  ماذا يعني "ICYDK" ، وكيف تستخدمه؟

هناك المزيد من قواعد بيانات السلاسل الزمنية لحلول المراقبة التي قد ترغب في استكشافها.

مكتبات العملاء

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

مكتبات العملاء الرسمية مقدمة من Prometheus for Go و Java و Python و Ruby. بروميثيوس لديه نظام بيئي مفتوح. هناك أيضًا مكتبات عملاء مبنية من المجتمع متاحة لـ C و PHP و Node.js و C # /. NET وغيرها الكثير.

المصدرين

تعرض العديد من التطبيقات المقاييس بتنسيق غير بروميثيوس. بالنسبة لهذه التطبيقات والتطبيقات التي لا تملكها أو التي لا يمكنك الوصول إلى التعليمات البرمجية الخاصة بها ، لا يمكنك إضافة أجهزة مباشرة. على سبيل المثال ، خادم MySQL و Kafka و JMX و HAProxy و NGINX. في هذه السيناريوهات ، يمكنك الاستفادة من المصدرين.

المُصدِّر هو أداة تنشرها مع التطبيق الذي تريد المقاييس منه. يعمل المصدر كوكيل بين التطبيق وبروميثيوس. سيتلقى الطلبات من خادم Prometheus ، ويجمع البيانات من سجلات الوصول ، وسجلات الأخطاء الخاصة بالتطبيق ، ويحولها إلى التنسيق الصحيح ، ثم يعود أخيرًا إلى خادم Prometheus.

بعض المصدرين المشهورين هم:

  • شبابيك – لمقاييس خادم Windows
  • العقدة – لمقاييس خادم Linux
  • صندوق اسود – لمقاييس أداء DNS والموقع الإلكتروني
  • JMX – لمقاييس التطبيق المستندة إلى Java

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

  كيفية تثبيت GCC على Ubuntu

تنبيه

يتكون التنبيه مع بروميثيوس من جزأين –

ترسل قواعد التنبيه تنبيهات إلى Alertmanager.

ثم يدير Alertmanager تلك التنبيهات. يرسل إشعارات باستخدام العديد من عمليات الدمج الجاهزة مثل البريد الإلكتروني و Slack و Hipchat و PagerDuty. يمكن أن يقوم Alertmanager أيضًا بإسكات الصوت أو التجميع لتقليل عدد الإخطارات.

إليك دليل مراقبة خادم Linux باستخدام Prometheus و Dashboard.

التصور باستخدام لوحات المعلومات

بروميثيوس لديه عدد من واجهات برمجة التطبيقات التي تستخدم استعلامات PromQL يمكن أن تنتج بيانات أولية للتصورات.

على الرغم من أن Prometheus يتضمن متصفحًا للتعبير يمكن استخدامه للاستعلامات المخصصة ، فإن أفضل أداة متاحة هي جرافانا. تتكامل Grafana تمامًا مع Prometheus ويمكنها إنتاج مجموعة متنوعة من لوحات المعلومات.

ستحتاج إلى تكوين بروميثيوس كمصدر بيانات لـ Grafana.

يمكنك إضافة لوحات المعلومات عن طريق:

  • استيراد لوحات تحكم مجتمعية
  • بناء الخاصة بك
  • باستخدام لوحة معلومات محددة مسبقًا.

هذه هي الطريقة التي تبدو بها لوحة معلومات مُصدِّر العقدة المحددة مسبقًا:

لدى Grafana وحدة worldPing تتيح لك مراقبة مقاييس أداء الموقع ونظام أسماء النطاقات في جميع أنحاء العالم.

ملخص

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

Grafana هي أفضل أداة متاحة لتصور المقاييس وتتكامل معها بسلاسة بروميثيوس.