البرنامج التعليمي: الاتصال بخدمة Prometheus المستضافة ذاتيا على مجموعة AKS باستخدام نقطة نهاية خاصة مدارة
يرشدك هذا الدليل خلال خطوات تثبيت Prometheus، وهي مجموعة أدوات مراقبة وتنبيه مفتوحة المصدر، على مجموعة Azure Kubernetes Service (AKS). ثم يمكنك استخدام نقطة النهاية الخاصة المدارة ل Azure Managed Grafana للاتصال بخادم Prometheus هذا وعرض بيانات Prometheus في لوحة معلومات Grafana.
في هذا البرنامج التعليمي، تتعلم كيفية:
- إنشاء نظام مجموعة خدمة Azure Kubernetes
- تثبيت Prometheus
- إضافة خدمة ارتباط خاصة إلى خادم Prometheus
- الاتصال بنقطة النهاية الخاصة المدارة
- عرض بيانات Prometheus في لوحة معلومات Grafana
المتطلبات الأساسية
قبل البدء، تأكد من أن لديك ما يلي:
إنشاء نظام مجموعة خدمة Azure Kubernetes
سجل الدخول إلى Azure CLI عن طريق تشغيل
az login
الأمر .az login
إذا كان لديك العديد من اشتراكات Azure، فحدد اشتراك Azure الخاص بك باستخدام الأمر
az account set -s <your-azure-subscription-id>
.تثبيت kubectl أو تحديثه.
az aks install-cli
إنشاء متغيرين bash/zsh، والتي سنستخدمها في الأوامر اللاحقة. قم بتغيير بناء الجملة أدناه إذا كنت تستخدم shell آخر.
RESOURCE_GROUP=myResourceGroup AKS_NAME=myaks
قم بإنشاء مجموعة موارد. في هذا المثال، نقوم بإنشاء مجموعة الموارد في منطقة غرب وسط الولايات المتحدة Azure.
az group create --name $RESOURCE_GROUP --location westcentralus
إنشاء نظام مجموعة 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
قد تستغرق هذه العملية بضع دقائق لإكمالها.
المصادقة على نظام المجموعة الذي قمت بإنشائه.
az aks get-credentials \ --resource-group $RESOURCE_GROUP \ --name $AKS_NAME
يمكنك الآن الوصول إلى مجموعة Kubernetes باستخدام kubectl.
استخدم kubectl لمشاهدة العقد التي قمت بإنشائها.
kubectl get nodes
تثبيت Prometheus
إحدى الطرق الشائعة لتثبيت Prometheus هي من خلال مشغل prometheus، والذي يوفر توزيع Kubernetes الأصلي وإدارة Prometheus ومكونات المراقبة ذات الصلة. في هذا البرنامج التعليمي، نستخدم مخططات Helm kube-prometheus-stack لنشر عامل تشغيل prometheus.
أضف مستودع helm-charts ثم قم بتحديث قائمة المستودع.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update
تثبيت مخطط Helm في مساحة اسم تسمى المراقبة. يتم إنشاء مساحة الاسم هذه تلقائيا.
helm install prometheus \ prometheus-community/kube-prometheus-stack \ --namespace monitoring \ --create-namespace
يطالبك الأمر helm بالتحقق من حالة pods المنشورة. قم بتشغيل الأمر التالي.
kubectl --namespace monitoring get pods
تأكد من أن القرون كلها "قيد التشغيل" قبل المتابعة. إذا لم يصلوا في الظروف غير المحتملة إلى حالة التشغيل، فقد ترغب في استكشاف الأخطاء وإصلاحها.
إضافة خدمة ارتباط خاصة إلى خادم Prometheus
تتيح خدمة 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
قم بتشغيل الأمر التالي لإضافة خدمة الارتباط الخاص إلى خادم Prometheus.
kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
يتم إنشاء خدمة الارتباط الخاص بالاسم
promManagedPls
في مجموعة الموارد المدارة من AKS. وتستغرق هذه العملية بضع دقائق.
الاتصال بنقطة نهاية خاصة مدارة
إذا لم يكن لديك مساحة عمل Azure Managed Grafana حتى الآن، قم بإنشاء مساحة عمل باتباع التشغيل السريع ل Azure Managed Grafana.
افتح مساحة عمل Azure Managed Grafana وانتقل إلى إضافة نقطة>النهاية الخاصة المدارة للشبكات.>
أدخل اسما لنقطة النهاية الخاصة المدارة وحدد اشتراك Azure.
بالنسبة إلى نوع المورد، حدد Microsoft.Network/privateLinkServices (خدمات الارتباط الخاص)، وبالنسبة للمورد الهدف، حدد خدمة الارتباط الخاص التي
promManagedPls
تم إنشاؤها في الخطوة أعلاه. تحصل كل نقطة نهاية خاصة مدارة على عنوان IP خاص. يمكنك أيضا توفير اسم مجال لنقطة النهاية الخاصة المدارة هذه. تضمن خدمة Azure Managed Grafana حل هذا المجال إلى IP الخاص بنقطة النهاية الخاصة المدارة داخل بيئة Azure Managed Grafana. على سبيل المثال، قم بتعيين المجال إلى*.prom.my-own-domain.com
.وافق على اتصال نقطة النهاية الخاصة بالانتقال إلى مورد promManagedPls. ضمن الإعدادات، انتقل إلى اتصالات نقطة النهاية الخاصة، وحدد الاتصال باستخدام خانة الاختيار والموافقة.
بعد الموافقة على اتصال نقطة النهاية الخاصة، ارجع إلى مورد Azure Managed Grafana وحدد الزر Refresh في علامة التبويب Managed Private Endpoint لمزامنة
Connection state
. يجب أن تظهر الآن على أنها معتمدة.
عرض بيانات Prometheus في لوحة معلومات Grafana
أضف مصدر بيانات Prometheus إلى Grafana من مدخل Grafana. لمزيد من المعلومات، انتقل إلى إضافة مصدر بيانات. عنوان URL Prometheus الخاص بنا هو
http://prom-service.prom.my-own-domain.com:9090
.للاستفادة من مصدر بيانات Prometheus المستضاف ذاتيا، حاول استخدام لوحة المعلومات الكاملة لمصدر العقدة، المعرف
1860
. لمزيد من الإرشادات، انتقل إلى استيراد لوحة معلومات من مختبرات Grafana.
الخطوة التالية
تعرف على كيفية استخدام حسابات الخدمة.