بروميثيوس (برنامج)

بروميثيوس هو تطبيق برمجي مجاني لمراقبة الأحداث والتنبيهات . [ 2 ] يسجل المقاييس في قاعدة بيانات سلاسل زمنية مبنية باستخدام نموذج سحب HTTP ، ويدعم الأبعاد العالية من خلال أزواج المفاتيح والقيم، والاستعلامات المرنة، والتنبيهات الفورية. [ 3 ] المشروع مكتوب بلغة Go ومرخص بموجب رخصة Apache 2.0، مع توفر شفرة المصدر على GitHub . [ 4 ]

نشأ بروميثيوس في ساوند كلاود في عام 2012 وتم قبوله من قبل مؤسسة الحوسبة السحابية الأصلية (CNCF) في عام 2016، وتخرج من مرحلة الاحتضان في عام 2018. وهو عادةً ما يتم إقرانه مع جرافانا لعرض لوحات المعلومات ويدعم مجموعة واسعة من المصدرين والتكاملات.

تاريخ

طُوِّرَ بروميثيوس في ساوند كلاود بدءًا من عام ٢٠١٢، [ ٥ ] بعد أن وجدت الشركة أن أدوات قياس الأداء الحالية لديها، القائمة على StatsD و Graphite ، لا تُلبي متطلبات بنيتها التحتية المُحوسبة. شملت أهداف التصميم نموذج بيانات متعدد الأبعاد، وسهولة التشغيل، وجمع بيانات قابل للتوسع، ولغة استعلام قوية في أداة واحدة. [ ٦ ] كان المشروع مفتوح المصدر منذ البداية، واعتمده مستخدمو Boxever و Docker قبل أي إعلان رسمي. [ ٦ ] [ ٧ ]

استُلهم التصميم من نظام بورغمون، وهو نظام مراقبة السلاسل الزمنية الداخلي لشركة جوجل، والذي كان يتعامل مع بيانات السلاسل الزمنية كمصدر لتوليد التنبيهات. [ 8 ] [ 9 ]

بحلول عام 2013، كان برنامج بروميثيوس قيد الاستخدام الإنتاجي في ساوند كلاود. تم الإعلان عن المشروع علنًا في يناير 2015. [ 6 ]

في مايو 2016، قبلت مؤسسة الحوسبة السحابية الأصلية ( CNCF) مشروع بروميثيوس كثاني مشروع حاضن لديها، بعد مشروع كوبيرنيتيس . [ 10 ] وفي أغسطس 2018، أعلنت المؤسسة أن بروميثيوس قد تخرج من مرحلة الحضانة. [ 11 ]

الإصدارات

تم إصدار بروميثيوس 1.0 في يوليو 2016. [ 12 ] وأدت الإصدارات اللاحقة خلال عامي 2016 و2017 إلى إصدار بروميثيوس 2.0 في نوفمبر 2017، والذي قدم محرك تخزين جديدًا يتميز بأداء محسّن بشكل ملحوظ وتقليل استخدام القرص. [ 13 ]

بنيان

يتألف نظام مراقبة بروميثيوس النموذجي من عدة مكونات تعمل معًا. [ 5 ] تعمل أجهزة التصدير على الأجهزة المضيفة الخاضعة للمراقبة لجمع وعرض المقاييس المحلية. يقوم خادم بروميثيوس بجمع البيانات من أجهزة التصدير هذه على فترات زمنية محددة، ثم يجمعها ويخزنها محليًا. يستقبل مدير التنبيهات [ 14 ] التنبيهات من بروميثيوس ويتولى توجيهها وتجميعها وكتمها قبل إعادة توجيه الإشعارات. يُستخدم غرافانا عادةً لإنشاء لوحات معلومات من بيانات بروميثيوس. تُكتب الاستعلامات الموجهة إلى كل هذه المكونات بلغة PromQL، وهي لغة الاستعلام الأصلية لبروميثيوس.

نموذج البيانات

تُنظَّم بيانات بروميثيوس على شكل مقاييس مُسماة، يُمكن لكل منها أن يُؤهَّل اختياريًا بعددٍ غير محدود من أزواج المفتاح والقيمة. تُحدِّد هذه التصنيفات مصدر البيانات (اسم الخادم، مركز البيانات) أو تحمل سياقًا خاصًا بالتطبيق، مثل رمز حالة HTTP، أو طريقة الطلب، أو نقطة النهاية. إن الاستعلام في الوقت الفعلي عن أي مجموعة من التصنيفات هو ما يجعل نموذج البيانات متعدد الأبعاد. [ 15 ] [ 6 ] [ 7 ]

يخزن بروميثيوس البيانات محليًا على القرص لتسريع عمليات الكتابة والاستعلام. [ 6 ] كما يمكن إرسال المقاييس إلى أنظمة تخزين خلفية بعيدة، بما في ذلك جرافانا ميمير وأنظمة أخرى متوافقة مع بروميثيوس. [ 16 ]

جمع البيانات

يجمع بروميثيوس البيانات من خلال نموذج السحب: حيث يستعلم الخادم دوريًا عن قائمة مُهيأة من الأهداف (المصدرين) ويُجمّع قيم السلاسل الزمنية المُسترجعة. [ 6 ] يتضمن بروميثيوس العديد من آليات اكتشاف الخدمات لتحديد مواقع الأهداف تلقائيًا في البيئات الديناميكية. [ 17 ]

PromQL

يُوفر بروميثيوس لغة استعلام خاصة به، تُسمى PromQL (لغة استعلام بروميثيوس)، والتي تُمكّن المستخدمين من تحديد بيانات السلاسل الزمنية وتجميعها. تتضمن هذه اللغة بنيات مُوجّهة نحو الزمن، مثل دالة rate() ، ومتجهات اللحظات، ومتجهات النطاق التي تُعيد عينات متعددة لكل سلسلة خلال نافذة زمنية مُحددة. [ 18 ]

يحدد Prometheus أربعة أنواع من المقاييس التي يعمل عليها PromQL: [ 19 ] Counter (قيمة متزايدة بشكل رتيب)، Gauge (قيمة عشوائية يمكن أن ترتفع أو تنخفض)، Histogram (يأخذ عينات من الملاحظات ويحسبها في مجموعات قابلة للتكوين)، و Summary (مشابه لـ Histogram ولكنه يحسب الكميات على جانب العميل).

مثال

# مقياس مع تصفية التصنيفات go_gc_duration_seconds { instance = " localhost:9090 ", job = " alertmanager "}# عوامل التجميع sum by ( app , proc ) ( instance_memory_limit_bytes - instance_memory_usage_bytes ) / 1024 / 1024

[ 20 ]

تنبيه

تُحدد قواعد التنبيه في بروميثيوس شرطًا ومدة زمنية؛ فإذا تحقق الشرط خلال تلك المدة، يُرسل بروميثيوس تنبيهًا إلى أليرت مانجر. يتولى أليرت مانجر كتم التنبيهات، ومنعها، وتوجيهها إلى وجهات الإشعارات، بما في ذلك البريد الإلكتروني، وسلاك ، وبيجر ديوتي . [ 21 ] ويمكن الوصول إلى وجهات إضافية، مثل مايكروسوفت تيمز [ 22 ]، عبر واجهة استقبال الويب هوك الخاصة بأليرت مانجر. [ 23 ]

قاعدة بيانات السلاسل الزمنية

يتضمن بروميثيوس قاعدة بيانات خاصة به لسلاسل البيانات الزمنية. تُخزَّن البيانات الحديثة (افتراضيًا، من ساعة إلى ثلاث ساعات) في مزيج من الذاكرة [ 24 ] وملفات مدعومة بـ mmap . [ 25 ] تُكتب البيانات القديمة إلى كتل ثابتة مُفهرسة بفهرس معكوس ، وهو ما يُناسب أنماط الاستعلام القائمة على التصنيفات في بروميثيوس. [ 26 ] [ 27 ] تعمل عملية ضغط في الخلفية على دمج الكتل الأصغر في كتل أكبر لتقليل الحمل الزائد للقراءة. [ 28 ] يُوفر سجل الكتابة المسبقة (WAL) حماية من الأعطال . [ 29 ]

لوحات المعلومات

يتضمن بروميثيوس متصفح تعبيرات أساسيًا، ولكنه ليس نظام لوحة تحكم متكاملًا. يُعدّ غرافانا النظام القياسي المُستخدم معه، حيث يستعلم من بروميثيوس عبر لغة PromQL لإنتاج لوحات التحكم؛ ويُشار أحيانًا إلى الحاجة إلى نشر غرافانا وصيانته بشكل منفصل كعيب تشغيلي. [ 30 ]

قابلية التشغيل البيني

يُفضّل بروميثيوس المراقبة ذات الصندوق الأبيض، حيث تنشر التطبيقات مقاييسها الداخلية لجمعها. وتتوفر أدوات التصدير والوكلاء للعديد من التطبيقات والأنظمة. [ 31 ] وللانتقال من أنظمة المراقبة الحالية، يدعم بروميثيوس عدة بروتوكولات: Graphite وStatsD و SNMP و JMX وCollectD. [ 32 ]

تُحفظ المقاييس عادةً لبضعة أسابيع. وللاحتفاظ بها لفترات أطول، يمكن لبروميثيوس بث البيانات إلى وحدات تخزين خلفية بعيدة. [ 16 ]

أوبن ميتريكس

حظيت جهود توحيد تنسيق عرض بيانات بروميثيوس تحت مسمى OpenMetrics باعتماد العديد من الموردين، بما في ذلك مجموعة أدوات TICK من InfluxData، [ 33 ] و InfluxDB ومنصة جوجل السحابية ، [ 34 ] و Datadog ، [ 35 ] و New Relic . [ 36 ] [ 37 ] ويتم تحديث مواصفات OpenMetrics بشكل منفصل عن مشروع بروميثيوس. [ 38 ]

دعم المكتبة

تتوفر مكتبات عميل بروميثيوس لمعظم لغات البرمجة الرئيسية. تعرض مكتبات POCO C++ مقاييس بروميثيوس من خلال Poco::Prometheusمساحة الاسم. [ 39 ]

انظر أيضاً

مراجع

  1. "أحدث إصدار" . جيت هاب . بروميثيوس . تم الاطلاع عليه في 17 أبريل 2026 .
  2. "نظرة عامة" . prometheus.io . تم ​​الاطلاع عليه في 10 مارس 2026 .
  3. جيمس تورنبول (12 يونيو 2018). المراقبة باستخدام بروميثيوس . دار تورنبول للنشر. رقم ISBN 978-0-9888202-8-9.
  4. "بروميثيوس" . جيت هاب . تم الاطلاع عليه بتاريخ 26 ديسمبر 2018 .
  5. 1 2 برايان برازيل (9 يوليو 2018). بروميثيوس: جاهز للعمل: مراقبة أداء البنية التحتية والتطبيقات . دار نشر أورايلي ميديا. ص 3. ISBN  978-1-4920-3409-4.
  6. 1 2 3 4 5 6 فولز، يوليوس؛ رابنشتاين، بيورن (26 يناير 2015). "بروميثيوس: المراقبة في ساوند كلاود" . ساوند كلاود . تم الاسترجاع في 10 مارس 2026 .
  7. ١ ٢ "مراقبة حاويات دوكر باستخدام بروميثيوس" . شركة 5π للاستشارات. ٢٦ يناير ٢٠١٥. مؤرشف من الأصل في ٣ يناير ٢٠١٩. تم الاطلاع عليه في ٢٦ ديسمبر ٢٠١٨ .
  8. مورفي، نيال؛ باير، بيتسي؛ جونز، كريس؛ بيتوف، جينيفر (2016). هندسة موثوقية الموقع: كيف تدير جوجل أنظمة الإنتاج . دار نشر أورايلي ميديا. رقم ISBN 978-1491929124على الرغم من أن Borgmon لا تزال جزءًا من Google، إلا أن فكرة التعامل مع بيانات السلاسل الزمنية كمصدر بيانات لتوليد التنبيهات أصبحت متاحة الآن للجميع من خلال أدوات المصادر المفتوحة مثل Prometheus ...
  9. فولز، يوليوس (4 سبتمبر 2017). "ملخص مؤتمر برومكون 2017" . تم الاطلاع عليه في 10 مارس 2016 - عبر يوتيوب. انضممتُ إلى ساوند كلاود في عام 2012 قادمًا من جوجل... لم تكن لدينا آنذاك أي أدوات مراقبة تعمل مع هذا النوع من البيئات الديناميكية. كنا نفتقد نوعًا ما طريقة جوجل في مراقبة جدولة مجموعاتها الداخلية، وقد ألهمتنا هذه الطريقة كثيرًا، وقررنا في النهاية بناء حلنا الخاص مفتوح المصدر.
  10. «مؤسسة الحوسبة السحابية الأصلية تقبل بروميثيوس كمشروع استضافة ثانٍ» . مؤسسة الحوسبة السحابية الأصلية . 9 مايو 2016. تم الاطلاع عليه بتاريخ 26 ديسمبر 2018 .
  11. إيفانز، كريستين (9 أغسطس 2018). "مؤسسة الحوسبة السحابية الأصلية تعلن عن تخرج بروميثيوس" . تم الاطلاع عليه في 26 ديسمبر 2018 .
  12. "بروميثيوس 1.0 متوفر الآن" . مؤسسة الحوسبة السحابية الأصلية . 18 يوليو 2016. تم الاطلاع عليه بتاريخ 26 ديسمبر 2018 .
  13. "ميزات جديدة في بروميثيوس 2.0.0" . روبست بيرسبشن. 8 نوفمبر 2017. تم الاطلاع عليه بتاريخ 26 ديسمبر 2018 .
  14. "Alertmanager" . GitHub . 17 مايو 2022. تم الاطلاع عليه في 10 مارس 2026 .
  15. "نموذج البيانات" . بروميثيوس . تم الاسترجاع في 26 ديسمبر 2018 .
  16. 1 2 "التكاملات - بروميثيوس" . prometheus.io . تم ​​الاطلاع عليه في 10 مارس 2026 .
  17. "بروميثيوس: يجمع المقاييس، ويوفر التنبيهات، ويعرض الرسوم البيانية عبر واجهة المستخدم على الويب" . ١٨ مارس ٢٠١٧. تم الاطلاع عليه بتاريخ ٢٦ ديسمبر ٢٠١٨ .
  18. "الاستفسار عن بروميثيوس" . تم الاطلاع عليه بتاريخ 4 نوفمبر 2019 .
  19. "أنواع المقاييس" . prometheus.io . تم ​​الاطلاع عليه في 29 يونيو 2024 .
  20. pygments/tests/examplefiles/promql/example.promql في الفرع الرئيسي · pygments/pygments على GitHub
  21. دوبي، أبيشيك (25 مارس 2018). "تكامل AlertManager مع Prometheus" . تم الاطلاع عليه في 26 ديسمبر 2018 .
  22. دانوكا، برانيث (8 مارس 2020). "التنبيهات لتطبيقات الحوسبة السحابية الأصلية باستخدام بروميثيوس" . تم الاطلاع عليه في 18 أكتوبر 2020 .
  23. "التكاملات | بروميثيوس" . تم الاطلاع عليه في 10 مارس 2026 .
  24. "بروميثيوس TSDB (الجزء 1): كتلة الرأس" . ganeshvernekar.com . 19 سبتمبر 2020. تم الاطلاع عليه في 17 يناير 2025 .
  25. "قاعدة بيانات بروميثيوس الزمنية (الجزء 3): رسم خرائط الذاكرة لأجزاء الرأس من القرص" . ganeshvernekar.com . 2 أكتوبر 2020. تم الاطلاع عليه في 17 يناير 2025 .
  26. "قاعدة بيانات بروميثيوس الزمنية (الجزء 4): الكتلة الدائمة وفهرسها" . ganeshvernekar.com . 18 أكتوبر 2020. تم الاطلاع عليه في 17 يناير 2025 .
  27. "قاعدة بيانات بروميثيوس التقنية (الجزء 5): الاستعلامات" . ganeshvernekar.com . 4 يناير 2021. تم الاطلاع عليه في 17 يناير 2025 .
  28. "بروميثيوس TSDB (الجزء 6): الضغط والاحتفاظ" . ganeshvernekar.com . 27 يوليو 2021. تم الاطلاع عليه في 17 يناير 2025 .
  29. "قاعدة بيانات Prometheus TSDB (الجزء 2): سجل العمليات ونقطة التفتيش" . ganeshvernekar.com . 26 سبتمبر 2020. تم الاطلاع عليه في 17 يناير 2025 .
  30. ريكبوش، فريدريك (28 يوليو 2017). "مراقبة بروميثيوس: الإيجابيات والسلبيات" . تم الاطلاع عليه بتاريخ 26 ديسمبر 2018 .
  31. "المصدرون" . prometheus.io . تم ​​الاطلاع عليه في 10 مارس 2026 .
  32. "الأجهزة - بروميثيوس" . prometheus.io . تم ​​الاطلاع عليه في 10 مارس 2026 .
  33. "Telegraf من InfluxData" . GitHub . 25 ديسمبر 2018. تم الاطلاع عليه في 10 مارس 2026 .
  34. "الإعلان عن Stackdriver Kubernetes Monitoring" . تم الاطلاع عليه في 10 مارس 2026 .
  35. "DataDog Prometheus" . تم الاطلاع عليه في 10 مارس 2026 .
  36. "إرسال بيانات مقاييس بروميثيوس إلى نيو ريليك" . docs.newrelic.com . تم الاطلاع عليه بتاريخ 16 أبريل 2025 .
  37. "تكوين عمليات تكامل Prometheus OpenMetrics" . docs.newrelic.com . تم الاطلاع عليه في 16 أبريل 2025 .
  38. "OpenMetrics" . GitHub . 13 نوفمبر 2018. تم الاطلاع عليه في 10 مارس 2026 .
  39. "مساحة الاسم Poco::Prometheus" . docs.pocoproject.org . مشروع POCO . تم الاسترجاع في 18 أكتوبر 2025 .

للمزيد من القراءة

  • برازيل، برايان (9 يوليو 2018). بروميثيوس: جاهز للعمل: مراقبة أداء البنية التحتية والتطبيقات . دار نشر أورايلي ميديا. رقم ISBN 978-1-4920-3409-4.
  • تيرنبول، جيمس (12 يونيو 2018). المراقبة باستخدام بروميثيوس . دار نشر تيرنبول. رقم ISBN 978-0-9888202-8-9.
  • ماكيندريك، روس (15 ديسمبر 2015). مراقبة دوكر: راقب حاويات دوكر وتطبيقاتها باستخدام أدوات أصلية وأدوات خارجية متنوعة . برمنغهام، المملكة المتحدة: دار نشر باكت. ISBN 978-1-785885-50-1. OCLC 933610431 . 
  • هيك، جوزيف (2018). Kubernetes للمطورين . دار نشر Packt. رقم ISBN 978-1-788830-60-7. OCLC 1031909876 . 
  • بيرنز، بريندان (20 فبراير 2018). تصميم الأنظمة الموزعة: أنماط ونماذج لخدمات قابلة للتوسع وموثوقة (  الطبعة الأولى). سيباستوبول، كاليفورنيا: أورايلي ميديا . ISBN 978-1-4919-8361-4. OCLC 1023861580 . 
  • هيلميش، مارتن (2017). البرمجة السحابية الأصلية مع Golang اندراوس، مينا؛ سنوك، جيلمر. برمنغهام: نشر الحزمة. رقم ISBN 978-1-787127-96-8. OCLC 1020029257 . 
  • كايوكاسي، تشانويت (2016). التجميع الأصلي لـ Docker باستخدام Swarm . دار نشر Packt. رقم ISBN 978-1-786469-75-5.