مشاركة عبر


البرنامج التعليمي: الاتصال بخدمة Prometheus المستضافة ذاتيا على مجموعة AKS باستخدام نقطة نهاية خاصة مدارة

يرشدك هذا الدليل خلال خطوات تثبيت Prometheus، وهي مجموعة أدوات مراقبة وتنبيه مفتوحة المصدر، على مجموعة Azure Kubernetes Service (AKS). ثم يمكنك استخدام نقطة النهاية الخاصة المدارة ل Azure Managed Grafana للاتصال بخادم Prometheus هذا وعرض بيانات Prometheus في لوحة معلومات Grafana.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • إنشاء نظام مجموعة خدمة Azure Kubernetes
  • تثبيت Prometheus
  • إضافة خدمة ارتباط خاصة إلى خادم Prometheus
  • الاتصال بنقطة النهاية الخاصة المدارة
  • عرض بيانات Prometheus في لوحة معلومات Grafana

المتطلبات الأساسية

قبل البدء، تأكد من أن لديك ما يلي:

إنشاء نظام مجموعة خدمة Azure Kubernetes

  1. سجل الدخول إلى Azure CLI عن طريق تشغيل az login الأمر .

    az login
    

    إذا كان لديك العديد من اشتراكات Azure، فحدد اشتراك Azure الخاص بك باستخدام الأمر az account set -s <your-azure-subscription-id>.

  2. تثبيت kubectl أو تحديثه.

    az aks install-cli
    
  3. إنشاء متغيرين bash/zsh، والتي سنستخدمها في الأوامر اللاحقة. قم بتغيير بناء الجملة أدناه إذا كنت تستخدم shell آخر.

    RESOURCE_GROUP=myResourceGroup 
    AKS_NAME=myaks
    
  4. قم بإنشاء مجموعة موارد. في هذا المثال، نقوم بإنشاء مجموعة الموارد في منطقة غرب وسط الولايات المتحدة Azure.

    az group create --name $RESOURCE_GROUP --location westcentralus
    
  5. إنشاء نظام مجموعة AKS جديد باستخدام الأمر az aks create . هنا نقوم بإنشاء مجموعة من ثلاث عقد باستخدام نوع الجهاز الظاهري القابل للاندفاع من سلسلة B، وهو فعال من حيث التكلفة ومناسب لأحمال عمل الاختبار/التطوير الصغيرة مثل هذا.

    az aks create --resource-group $RESOURCE_GROUP \
      --name $AKS_NAME \
      --node-count 3 \
      --node-vm-size Standard_B2s \
      --generate-ssh-keys
    

    قد تستغرق هذه العملية بضع دقائق لإكمالها.

  6. المصادقة على نظام المجموعة الذي قمت بإنشائه.

    az aks get-credentials \
      --resource-group $RESOURCE_GROUP \
      --name $AKS_NAME
    

    يمكنك الآن الوصول إلى مجموعة Kubernetes باستخدام kubectl.

  7. استخدم kubectl لمشاهدة العقد التي قمت بإنشائها.

    kubectl get nodes
    

تثبيت Prometheus

إحدى الطرق الشائعة لتثبيت Prometheus هي من خلال مشغل prometheus، والذي يوفر توزيع Kubernetes الأصلي وإدارة Prometheus ومكونات المراقبة ذات الصلة. في هذا البرنامج التعليمي، نستخدم مخططات Helm kube-prometheus-stack لنشر عامل تشغيل prometheus.

  1. أضف مستودع helm-charts ثم قم بتحديث قائمة المستودع.

    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
    
  2. تثبيت مخطط Helm في مساحة اسم تسمى المراقبة. يتم إنشاء مساحة الاسم هذه تلقائيا.

    helm install prometheus \
      prometheus-community/kube-prometheus-stack \
      --namespace monitoring \
      --create-namespace
    
  3. يطالبك الأمر helm بالتحقق من حالة pods المنشورة. قم بتشغيل الأمر التالي.

    kubectl --namespace monitoring get pods
    
  4. تأكد من أن القرون كلها "قيد التشغيل" قبل المتابعة. إذا لم يصلوا في الظروف غير المحتملة إلى حالة التشغيل، فقد ترغب في استكشاف الأخطاء وإصلاحها.

تتيح خدمة Azure Private Link استهلاك خدمة Kubernetes الخاصة بك من خلال ارتباط خاص عبر شبكات Azure الظاهرية المختلفة. لدى AKS تكامل أصلي مع Azure Private Link Service ويساعدك على إضافة تعليق توضيحي إلى كائن خدمة Kubernetes لإنشاء خدمة ارتباط خاصة مقابلة داخل Azure.

انظر أدناه محتوى ملف pls-prometheus-svc.yaml:

apiVersion: v1
kind: Service
metadata:
  name: prom-pls-svc
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true" # Use an internal LB with PLS
    service.beta.kubernetes.io/azure-pls-create: "true"
    service.beta.kubernetes.io/azure-pls-name: promManagedPls
    service.beta.kubernetes.io/azure-pls-proxy-protocol: "false"
    service.beta.kubernetes.io/azure-pls-visibility: "*"
spec:
  type: LoadBalancer
  selector:
    # app: myApp
    app.kubernetes.io/name: prometheus
    prometheus: prometheus-kube-prometheus-prometheus # note that this is related to the release name
  ports:
    - name: http-web
      protocol: TCP
      port: 9090
      targetPort: 9090
  1. قم بتشغيل الأمر التالي لإضافة خدمة الارتباط الخاص إلى خادم Prometheus.

    kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
    
  2. يتم إنشاء خدمة الارتباط الخاص بالاسم promManagedPls في مجموعة الموارد المدارة من AKS. وتستغرق هذه العملية بضع دقائق.

الاتصال بنقطة نهاية خاصة مدارة

  1. إذا لم يكن لديك مساحة عمل Azure Managed Grafana حتى الآن، قم بإنشاء مساحة عمل باتباع التشغيل السريع ل Azure Managed Grafana.

  2. افتح مساحة عمل Azure Managed Grafana وانتقل إلى إضافة نقطة>النهاية الخاصة المدارة للشبكات.>

    لقطة شاشة للنظام الأساسي Azure تعرض صفحة نقاط النهاية الخاصة المدارة داخل مورد Azure Managed Grafana.

  3. أدخل اسما لنقطة النهاية الخاصة المدارة وحدد اشتراك Azure.

  4. بالنسبة إلى نوع المورد، حدد Microsoft.Network/privateLinkServices (خدمات الارتباط الخاص)، وبالنسبة للمورد الهدف، حدد خدمة الارتباط الخاص التي promManagedPls تم إنشاؤها في الخطوة أعلاه. تحصل كل نقطة نهاية خاصة مدارة على عنوان IP خاص. يمكنك أيضا توفير اسم مجال لنقطة النهاية الخاصة المدارة هذه. تضمن خدمة Azure Managed Grafana حل هذا المجال إلى IP الخاص بنقطة النهاية الخاصة المدارة داخل بيئة Azure Managed Grafana. على سبيل المثال، قم بتعيين المجال إلى *.prom.my-own-domain.com.

    لقطة شاشة لمنصة Azure تعرض معلومات Prometheus التي تم إدخالها لنقطة النهاية الخاصة المدارة الجديدة.

  5. وافق على اتصال نقطة النهاية الخاصة بالانتقال إلى مورد promManagedPls. ضمن الإعدادات، انتقل إلى اتصالات نقطة النهاية الخاصة، وحدد الاتصال باستخدام خانة الاختيار والموافقة.

    لقطة شاشة للنظام الأساسي Azure تعرض إجراء الموافقة على الاتصال.

  6. بعد الموافقة على اتصال نقطة النهاية الخاصة، ارجع إلى مورد Azure Managed Grafana وحدد الزر Refresh في علامة التبويب Managed Private Endpoint لمزامنة Connection state. يجب أن تظهر الآن على أنها معتمدة.

    لقطة شاشة للنظام الأساسي Azure تعرض زر التحديث.

عرض بيانات Prometheus في لوحة معلومات Grafana

  1. أضف مصدر بيانات Prometheus إلى Grafana من مدخل Grafana. لمزيد من المعلومات، انتقل إلى إضافة مصدر بيانات. عنوان URL Prometheus الخاص بنا هو http://prom-service.prom.my-own-domain.com:9090.

    لقطة شاشة لمنصة Grafana تظهر إضافة Prometheus كمصدر بيانات.

  2. للاستفادة من مصدر بيانات Prometheus المستضاف ذاتيا، حاول استخدام لوحة المعلومات الكاملة لمصدر العقدة، المعرف 1860. لمزيد من الإرشادات، انتقل إلى استيراد لوحة معلومات من مختبرات Grafana.

    لقطة شاشة للنظام الأساسي Azure Grafana تعرض نموذج لوحة معلومات Prometheus.

الخطوة التالية

تعرف على كيفية استخدام حسابات الخدمة.