يوفر مشغل Prometheus نشر Kubernetes الأصلي وإدارة Prometheus ومكونات المراقبة ذات الصلة. الغرض من هذا المشروع هو تبسيط وأتمتة تكوين مكدس المراقبة المستند إلى Prometheus لمجموعات Kubernetes.
يتضمن مشغل Prometheus، على سبيل المثال لا الحصر، الميزات التالية:
موارد Kubernetes المخصصة : استخدم موارد Kubernetes المخصصة لنشر وإدارة Prometheus وAlertmanager والمكونات ذات الصلة.
تكوين النشر المبسط : قم بتكوين أساسيات Prometheus مثل الإصدارات والثبات وسياسات الاحتفاظ والنسخ المتماثلة من مورد Kubernetes الأصلي.
Prometheus Target Configuration : إنشاء تكوينات هدف المراقبة تلقائيًا استنادًا إلى استعلامات تسمية Kubernetes المألوفة؛ لا حاجة لتعلم لغة تكوين محددة من Prometheus.
للحصول على مقدمة عن مشغل Prometheus، راجع دليل البدء.
ويعتبر المشغل في حد ذاته جاهزا للإنتاج. يرجى الرجوع إلى إصدارات تعريف الموارد المخصصة (CRD) لمعرفة حالة كل CRD:
monitoring.coreos.com/v1
: CRDs وAPI المستقران ، ويتم إجراء التغييرات بطريقة متوافقة مع الإصدارات السابقة.
monitoring.coreos.com/v1beta1
: CRDs وAPI غير المستقرة ، يمكن أن تحدث تغييرات ولكن الفريق يركز على تجنبها. نحن نشجع الاستخدام في الإنتاج للمستخدمين الذين يقبلون مخاطر كسر التغييرات.
monitoring.coreos.com/v1alpha1
: CRDs وAPI غير المستقرة ، يمكن أن تحدث التغييرات بشكل متكرر، ونحن نقترح تجنب استخدامه في البيئات ذات المهام الحرجة.
يستخدم مشغل Prometheus موارد Kubernetes المخصصة لتبسيط نشر وتكوين Prometheus وAlertmanager ومكونات المراقبة ذات الصلة.
يوفر kube-prometheus تكوينات نموذجية لمجموعة كاملة من مراقبة المجموعة استنادًا إلى Prometheus وPrometheus Operator. يتضمن ذلك نشر مثيلات Prometheus وAlertmanager المتعددة، ومصدري المقاييس مثل Node_exporter لجمع مقاييس العقدة، وتكوين هدف الكشط الذي يربط Prometheus بنقاط نهاية المقاييس المختلفة، وقواعد التنبيه النموذجية للإخطار بالمشكلات المحتملة في المجموعة.
يوفر مخطط Prometheus-community/kube-prometheus-stack Helm مجموعة ميزات مشابهة لـ kube-prometheus. تتم صيانة هذا المخطط بواسطة مجتمع بروميثيوس. لمزيد من المعلومات، الرجاء مراجعة الملف التمهيدي للمخطط
يتطلب مشغل Prometheus إصدار Kubernetes 1.16.0
على الأقل. إذا كنت قد بدأت للتو في استخدام Prometheus Operator، فمن المستحسن بشدة استخدام أحدث إصدار ثابت.
تتمثل الميزة الأساسية لمشغل Prometheus في مراقبة خادم Kubernetes API لإجراء تغييرات على كائنات محددة والتأكد من أن عمليات نشر Prometheus الحالية تتطابق مع هذه الكائنات. يعمل المشغل وفقًا لتعريفات الموارد المخصصة (CRDs) التالية:
Prometheus
، الذي يحدد نشر بروميثيوس المطلوب.
PrometheusAgent
، الذي يحدد نشر Prometheus المطلوب، ولكنه يعمل في وضع الوكيل.
Alertmanager
، الذي يحدد نشر Alertmanager المطلوب.
ThanosRuler
، الذي يحدد نشر Thanos Ruler المطلوب.
ServiceMonitor
، الذي يحدد بشكل صريح كيفية مراقبة مجموعات خدمات Kubernetes. يقوم المشغل تلقائيًا بإنشاء تكوين Prometheus Scrape استنادًا إلى الحالة الحالية للكائنات في خادم API.
PodMonitor
، الذي يحدد بشكل صريح كيفية مراقبة مجموعة القرون. يقوم المشغل تلقائيًا بإنشاء تكوين Prometheus Scrape استنادًا إلى الحالة الحالية للكائنات في خادم API.
Probe
، الذي يحدد بشكل صريح كيفية مراقبة مجموعات المداخلات أو الأهداف الثابتة. يقوم المشغل تلقائيًا بإنشاء تكوين Prometheus Scrape بناءً على التعريف.
ScrapeConfig
، الذي يحدد بشكل صريح تكوينات الكشط المراد إضافتها إلى Prometheus. يساعد CustomResourceDefinition هذا في استخراج الموارد خارج مجموعة Kubernetes.
PrometheusRule
، التي تحدد المجموعة المطلوبة من قواعد التنبيه و/أو التسجيل الخاصة بـ Prometheus. يقوم المشغل بإنشاء ملف قاعدة، والذي يمكن استخدامه بواسطة مثيلات Prometheus.
AlertmanagerConfig
، الذي يحدد بشكل صريح الأقسام الفرعية لتكوين Alertmanager، مما يسمح بتوجيه التنبيهات إلى أجهزة الاستقبال المخصصة، وإعداد قواعد المنع.
يكتشف مشغل Prometheus تلقائيًا التغييرات في خادم Kubernetes API لأي من الكائنات المذكورة أعلاه، ويضمن الحفاظ على مزامنة عمليات النشر والتكوينات المطابقة.
لمعرفة المزيد حول CRDs التي قدمها مشغل Prometheus، قم بإلقاء نظرة على صفحة التصميم.
لمنع قواعد التنبيه والتسجيل غير الصالحة من Prometheus من التسبب في حدوث أعطال في مثيل Prometheus المنشور، يتم توفير خطاف ويب للقبول للتحقق من صحة موارد PrometheusRule
عند الإنشاء أو التحديث الأولي.
لمزيد من المعلومات حول هذه الميزة، راجع دليل المستخدم.
ملاحظة: لا يوفر هذا التشغيل السريع مجموعة مراقبة كاملة؛ إذا كان هذا هو ما تبحث عنه، راجع مشروع kube-prometheus. إذا كنت تريد المجموعة بأكملها، ولكنك قمت بالفعل بتطبيق bundle.yaml
، فاحذف الحزمة أولاً ( kubectl delete -f bundle.yaml
).
لتجربة مشغل Prometheus فقط داخل المجموعة بسرعة، اختر إصدارًا وقم بتشغيل الأمر التالي الذي ينشر المشغل في مساحة الاسم default
:
kubectl create -f Bundle.yaml
إذا كنت تريد نشر عامل التشغيل Prometheus في مساحة اسم مختلفة، فستحتاج أيضًا إلى kustomize
:
NAMESPACE=my_namespace تخصيص مساحة الاسم لتحرير المجموعة $NAMESPACE && kubectl create -k .
ملاحظة: تأكد من تعديل مساحة الاسم في ClusterRoleBinding في حالة النشر في مساحة اسم أخرى غير مساحة الاسم الافتراضية.
لتشغيل المشغل خارج المجموعة:
يصنع البرامج النصية/run-external.sh <اسم مجموعة kubectl>
لإزالة عامل التشغيل وPrometheus، قم أولاً بحذف أي موارد مخصصة قمت بإنشائها في كل مساحة اسم. سيقوم المشغل تلقائيًا بإيقاف وإزالة كبسولات Prometheus وAlertmanager وخرائط ConfigMaps المرتبطة بها.
لـ n في $(kubectl get namespaces -o jsonpath={..metadata.name}); يفعل حذف kubectl --all --namespace=$n prometheus,servicemonitor,podmonitor,alertmanagerdone
بعد بضع دقائق، يمكنك المضي قدمًا وإزالة المشغل نفسه.
حذف kubectl -f Bundle.yaml
يقوم المشغل تلقائيًا بإنشاء خدمات في كل مساحة اسم قمت بإنشاء موارد Prometheus أو Alertmanager فيها، ويحدد ثلاثة تعريفات مخصصة للموارد. يمكنك تنظيف هذه الآن.
لـ n في $(kubectl get namespaces -o jsonpath={..metadata.name}); يفعل حذف kubectl --تجاهل لم يتم العثور عليه --مساحة الاسم=$n خدمة prometheus التي يتم تشغيلها بواسطة Alertmanager-operateddonekubectl حذف --تجاهل تعريفات الموارد المخصصة التي لم يتم العثور عليها prometheuses.monitoring.coreos.com Servicemonitors.monitoring.coreos.com podmonitors.monitoring.coreos.com تنبيهmanagers.monitoring.coreos.com prometheusrules.monitoring.coreos.com تنبيهmanagerconfigs.monitoring.coreos.com Scrapeconfigs.monitoring.coreos.com
انظر الاختبار
انظر المساهمة.
إذا وجدت ثغرة أمنية تتعلق بمشغل Prometheus، فيرجى عدم الإبلاغ عنها عن طريق فتح مشكلة GitHub، ولكن بدلاً من ذلك يرجى إرسال بريد إلكتروني إلى المشرفين على المشروع الموجود في ملف MAINTAINERS.md.
تحقق من وثائق استكشاف الأخطاء وإصلاحها لمعرفة المشكلات الشائعة والأسئلة المتداولة (FAQ).
تم إنشاء شعار منظمة مشغل بروميثيوس والمساهمة فيه بواسطة بيانكا تشينج كوستانزو.