إرسال بيانات Prometheus إلى Azure Monitor باستخدام مصادقة الهوية المدارة بواسطة Microsoft Entra pod (معاينة)
توضح هذه المقالة كيفية إعداد الكتابة عن بعد لخدمة Azure Monitor المدارة ل Prometheus باستخدام مصادقة الهوية المدارة بواسطة Microsoft Entra pod (معاينة).
إشعار
يجب إعداد حاوية sidecar للكتابة عن بعد الموضحة في هذه المقالة فقط باستخدام الخطوات التالية، وفقط إذا كان نظام مجموعة Azure Kubernetes Service (AKS) قد تم تمكين Microsoft Entra pod بالفعل. تم إهمال الهويات المدارة بواسطة Microsoft Entra pod لاستبدالها هوية حمل عمل Microsoft Entra. نوصي باستخدام مصادقة هوية حمل عمل Microsoft Entra.
المتطلبات الأساسية
الإصدارات المدعومة
مطلوب إصدارات Prometheus أكبر من الإصدار 2.45 لمصادقة الهوية المدارة.
مساحة عمل Azure Monitor
تتناول هذه المقالة إرسال مقاييس Prometheus إلى مساحة عمل Azure Monitor. لإنشاء مساحة عمل Azure monitor، راجع إدارة مساحة عمل Azure Monitor.
الأذونات
مطلوب أذونات المسؤول لنظام المجموعة أو المورد لإكمال الخطوات الواردة في هذه المقالة.
إعداد تطبيق للهوية المدارة بواسطة Microsoft Entra pod
تتضمن عملية إعداد الكتابة عن بعد ل Prometheus لتطبيق باستخدام مصادقة الهوية المدارة بواسطة Microsoft Entra pod إكمال المهام التالية:
- تسجيل هوية مدارة معينة من قبل المستخدم باستخدام معرف Microsoft Entra.
- تعيين أدوار عامل تشغيل الهوية المدارة والمساهم في الجهاز الظاهري إلى الهوية المدارة.
- تعيين دور Monitoring Metrics Publisher للهوية المدارة المعينة من قبل المستخدم.
- إنشاء ربط هوية Azure.
- أضف تسمية aadpodidbinding إلى جراب Prometheus.
- نشر حاوية sidecar لإعداد الكتابة عن بعد.
يتم وصف المهام في الأقسام التالية.
تسجيل هوية مدارة باستخدام معرف Microsoft Entra
إنشاء هوية مدارة معينة من قبل المستخدم أو تسجيل هوية مدارة حالية يعينها المستخدم.
للحصول على معلومات حول إنشاء هوية مدارة، راجع إعداد الكتابة عن بعد لخدمة Azure Monitor المدارة ل Prometheus باستخدام مصادقة الهوية المدارة.
تعيين أدوار عامل تشغيل الهوية المدارة والمساهم في الجهاز الظاهري إلى الهوية المدارة
az role assignment create --role "Managed Identity Operator" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
az role assignment create --role "Virtual Machine Contributor" --assignee <managed identity clientID> --scope <Node ResourceGroup Id>
تحتوي مجموعة موارد العقدة لمجموعة AKS على الموارد التي تستخدمها في خطوات أخرى في هذه العملية. تحتوي مجموعة الموارد هذه على الاسم MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>
. يمكنك العثور على اسم مجموعة الموارد باستخدام قائمة Resource groups في مدخل Microsoft Azure.
تعيين دور Monitoring Metrics Publisher إلى الهوية المدارة
az role assignment create --role "Monitoring Metrics Publisher" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
إنشاء ربط هوية Azure
تتطلب الهوية المدارة المعينة من قبل المستخدم ربط هوية للهوية لاستخدامها كهوية مدارة بواسطة pod.
انسخ YAML التالي إلى ملف aadpodidentitybinding.yaml :
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentityBinding
metadata:
name: demo1-azure-identity-binding
spec:
AzureIdentity: “<AzureIdentityName>”
Selector: “<AzureIdentityBindingSelector>”
شغّل الأمر التالي:
kubectl create -f aadpodidentitybinding.yaml
إضافة تسمية aadpodidbinding إلى جراب Prometheus
aadpodidbinding
يجب إضافة التسمية إلى جراب Prometheus حتى تصبح الهوية المدارة بواسطة pod سارية المفعول. يمكنك إضافة التسمية عن طريق تحديث ملف deployment.yaml أو عن طريق إدخال التسميات عند نشر حاوية sidecar كما هو موضح في القسم التالي.
نشر حاوية sidecar لإعداد الكتابة عن بعد
انسخ YAML التالي واحفظه في ملف. يستخدم YAML المنفذ 8081 كمنفذ الاستماع. إذا كنت تستخدم منفذا مختلفا، فعدل هذه القيمة في YAML.
prometheus: prometheusSpec: podMetadata: labels: aadpodidbinding: <AzureIdentityBindingSelector> externalLabels: cluster: <AKS-CLUSTER-NAME> remoteWrite: - url: 'http://localhost:8081/api/v1/write' containers: - name: prom-remotewrite image: <CONTAINER-IMAGE-VERSION> imagePullPolicy: Always ports: - name: rw-port containerPort: 8081 livenessProbe: httpGet: path: /health port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 readinessProbe: httpGet: path: /ready port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 env: - name: INGESTION_URL value: <INGESTION_URL> - name: LISTENING_PORT value: '8081' - name: IDENTITY_TYPE value: userAssigned - name: AZURE_CLIENT_ID value: <MANAGED-IDENTITY-CLIENT-ID> # Optional parameter - name: CLUSTER value: <CLUSTER-NAME>
استبدل القيم التالية في YAML:
قيمة الوصف <AKS-CLUSTER-NAME>
اسم نظام مجموعة AKS الخاص بك. <CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20240617.1
إصدار صورة حاوية الكتابة عن بعد.<INGESTION-URL>
قيمة نقطة نهاية استيعاب المقاييس من صفحة نظرة عامة لمساحة عمل Azure Monitor. <MANAGED-IDENTITY-CLIENT-ID>
قيمة معرف العميل من صفحة نظرة عامة للهوية المدارة. <CLUSTER-NAME>
اسم نظام المجموعة الذي يعمل عليه Prometheus. هام
بالنسبة إلى سحابة Azure Government، أضف متغيرات البيئة التالية في
env
قسم من ملف YAML:- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
استخدم Helm لتطبيق ملف YAML وتحديث تكوين Prometheus الخاص بك:
# set the context to your cluster az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> # use Helm to update your remote write config helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus pod resides>
التحقق واستكشاف الأخطاء وإصلاحها
للحصول على معلومات التحقق واستكشاف الأخطاء وإصلاحها، راجع استكشاف أخطاء الكتابة عن بعد وإصلاحها والخدمة المدارة من Azure Monitor للكتابة عن بعد في Prometheus.
الخطوات التالية
- جمع مقاييس Prometheus من مجموعة AKS
- تعرف على المزيد حول خدمة Azure Monitor المدارة ل Prometheus
- الكتابة عن بعد في خدمة Azure Monitor المدارة ل Prometheus
- إرسال بيانات Prometheus إلى Azure Monitor باستخدام مصادقة Microsoft Entra
- إرسال بيانات Prometheus إلى Azure Monitor باستخدام مصادقة الهوية المدارة
- إرسال بيانات Prometheus إلى Azure Monitor باستخدام مصادقة هوية حمل عمل Microsoft Entra (معاينة)