نشر خدمات المراقبة على Kubernetes
يصف هذا الموضوع كيفية استخدام Prometheus لنشر خدمات المراقبة لمجموعة Milvus على Kubernetes.
مراقبة المقاييس باستخدام Prometheus
المقاييس هي مؤشرات توفر معلومات حول حالة تشغيل نظامك. على سبيل المثال، باستخدام المقاييس، يمكنك فهم مقدار موارد الذاكرة أو وحدة المعالجة المركزية التي تستهلكها عقدة البيانات في Milvus. أن تكون على دراية بأداء وحالة المكونات في مجموعة Milvus الخاصة بك يجعلك على دراية جيدة وبالتالي اتخاذ قرارات أفضل وتعديل تخصيص الموارد في الوقت المناسب.
بشكل عام، يتم تخزين المقاييس في قاعدة بيانات السلاسل الزمنية (TSDB)، مثل Prometheus، ويتم تسجيل المقاييس بطابع زمني. في حالة مراقبة خدمات Milvus، يمكنك استخدام Prometheus لسحب البيانات من نقاط النهاية التي تم تعيينها بواسطة المصدرين. ثم يقوم Prometheus بتصدير مقاييس كل مكون من مكونات Milvus على http://<component-host>:9091/metrics
.
ومع ذلك، قد يكون لديك العديد من النسخ المتماثلة لمكون واحد، مما يجعل التكوين اليدوي لـ Prometheus معقدًا للغاية. ولذلك، يمكنك استخدام Prometheus Operator، وهو امتداد لـ Kubernetes، للإدارة الآلية والفعالة لمثيلات مراقبة Prometheus. يوفر لك استخدام Prometheus Operator Prometheus عناء إضافة أهداف القياس وموفري الخدمة يدويًا.
يمكّنك تعريف المورد المخصص (CRD) الخاص ب ServiceMonitor من تحديد كيفية مراقبة مجموعة ديناميكية من الخدمات بشكل واضح. كما يسمح أيضًا بتحديد الخدمات التي ستتم مراقبتها مع التكوين المطلوب باستخدام تحديدات التسمية. باستخدام مشغل Prometheus Operator، يمكنك تقديم اصطلاحات تحدد كيفية كشف المقاييس. يمكن اكتشاف الخدمات الجديدة تلقائيًا باتباع الاصطلاحات التي قمت بتعيينها دون الحاجة إلى إعادة التكوين اليدوي.
توضح الصورة التالية سير عمل بروميثيوس.
بروميثيوس_أرشيف
المتطلبات الأساسية
يستخدم هذا البرنامج التعليمي kube-prometheus ليوفر عليك عناء تثبيت وتهيئة كل مكون من مكونات المراقبة والتنبيه يدويًا.
يقوم Kube-prometheus بجمع بيانات Kubernetes، ولوحات معلومات Grafana، وقواعد Prometheus مع الوثائق والبرامج النصية.
قبل نشر خدمات المراقبة، تحتاج إلى إنشاء مكدس مراقبة باستخدام التكوين الموجود في دليل بيانات كيوب-بروميثيوس kube-prometheus.
$ git clone https://github.com/prometheus-operator/kube-prometheus.git
$ cd kube-prometheus
$ kubectl apply --server-side -f manifests/setup
$ kubectl wait \
--for condition=Established \
--all CustomResourceDefinition \
--namespace=monitoring
$ kubectl apply -f manifests/
kubectl patch clusterrole prometheus-k8s --type=json -p='[{"op": "add", "path": "/rules/-", "value": {"apiGroups": [""], "resources": ["pods", "services", "endpoints"], "verbs": ["get", "watch", "list"]}}]'
لحذف مكدس، قم بتشغيل kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup
.
نشر خدمات المراقبة على Kubernetes
1. الوصول إلى لوحات المعلومات
قم بإعادة توجيه خدمة Prometheus إلى المنفذ 9090
، وخدمة Grafana إلى المنفذ 3000
.
$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/prometheus-k8s 9090
$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/grafana 3000
2. تمكين ServiceMonitor
لا يتم تمكين ServiceMonitor لـ Milvus Helm افتراضيًا. بعد تثبيت مشغل Prometheus في مجموعة Kubernetes، يمكنك تمكينه عن طريق إضافة المعلمة metrics.serviceMonitor.enabled=true
.
$ helm upgrade my-release milvus/milvus --set metrics.serviceMonitor.enabled=true --reuse-values
عند اكتمال التثبيت، استخدم kubectl
للتحقق من مورد ServiceMonitor.
$ kubectl get servicemonitor
NAME AGE
my-release-milvus 54s
ما التالي
- إذا قمت بنشر خدمات المراقبة لمجموعة ميلفوس العنقودية، فقد ترغب أيضًا في تعلم
- إذا كنت تبحث عن معلومات حول كيفية توسيع نطاق مجموعة Milvus:
- تعلم كيفية توسيع نطاق مجموعة ميلفوس
- إذا كنت مهتمًا بترقية إصدار Milvus,