تخصيص استخراج مقاييس Prometheus في خدمة Azure Monitor المدارة ل Prometheus
توفر هذه المقالة إرشادات حول تخصيص المقاييس لاستخراج مجموعة Kubernetes مع ملحق المقاييس في Azure Monitor.
خريطة التكوين
يمكن تكوين أربعة تكوينات مختلفة لتوفير تكوين كشط وإعدادات أخرى للوظيفة الإضافية للمقاييس. يجب تطبيق جميع خرائط التكوين على kube-system
مساحة الاسم لأي نظام مجموعة.
إشعار
لا يوجد أي من التكوينات الأربعة بشكل افتراضي في نظام المجموعة عند تمكين Prometheus المدار. اعتمادا على ما يجب تخصيصه، تحتاج إلى نشر أي من هذه التكوينات الأربعة أو كلها بنفس الاسم المحدد، في kube-system
مساحة الاسم. سوف تلتقط pods AMA-Metrics هذه التكوينات بعد نشرها في kube-system
مساحة الاسم، وستتم إعادة تشغيلها في 2-3 دقائق لتطبيق إعدادات التكوين المحددة في configmap (التكوينات).
ama-metrics-settings-configmap
تحتوي خريطة التكوين هذه على إعدادات بسيطة أدناه يمكن تكوينها. يمكنك أخذ configmap من git hub repo أعلاه، وتغيير الإعدادات المطلوبة وتطبيق/توزيع configmap إلىkube-system
مساحة الاسم للمجموعة الخاصة بك- الاسم المستعار لنظام المجموعة (لتغيير قيمة
cluster
التسمية في كل سلسلة زمنية/مقياس يتم استيعابه من نظام مجموعة) - تمكين/تعطيل أهداف الكشط الافتراضية - تشغيل/إيقاف تشغيل الكشط الافتراضي استنادا إلى الأهداف. تكوين استخراج هذه الأهداف الافتراضية معرفة مسبقا/مضمنة بالفعل
- تمكين الاستخراج المستند إلى التعليق التوضيحي للجراب لكل مساحة اسم
- قوائم الاحتفاظ بالمقاييس - يستخدم هذا الإعداد للتحكم في المقاييس المدرجة التي سيتم السماح بها من كل هدف افتراضي وتغيير السلوك الافتراضي
- فواصل زمنية للتعريفات الافتراضية/المسبقة.
30 secs
هو تردد القصاصة الافتراضي ويمكن تغييره لكل هدف افتراضي باستخدام خريطة التكوين هذه - وضع التصحيح - يساعد تشغيل هذا على تصحيح مشكلات القياس/الاستيعاب المفقودة - راجع المزيد حول استكشاف الأخطاء وإصلاحها
- الاسم المستعار لنظام المجموعة (لتغيير قيمة
ama-metrics-prometheus-config
يمكن استخدام خريطة التكوين هذه لتوفير تكوين استخراج Prometheus للنسخة المتماثلة الإضافية. يقوم Addon بتشغيل نسخة متماثلة أحادية، ويمكن اكتشاف أي خدمات على مستوى نظام المجموعة واستخراجها من خلال توفير مهام الكشط في هذا التكوين. يمكنك أخذ نموذج configmap من مستودع git hub أعلاه، وإضافة مهام القصاصة التي قد تحتاجها وتطبيق/توزيع خريطة التكوين إلىkube-system
مساحة الاسم لنظام المجموعة. على الرغم من أن هذا مدعوم، يرجى ملاحظة أن الطريقة الموصى بها لاستخراج الأهداف المخصصة هي استخدام الموارد المخصصةama-metrics-prometheus-config-node
(متقدم) يمكن استخدام خريطة التكوين هذه لتوفير تكوين استخراج Prometheus ل addon DaemonSet الذي يعمل على كل عقدة Linux في نظام المجموعة، ويمكن استخراج أي أهداف على مستوى العقدة على كل عقدة عن طريق توفير مهام كشط في هذا التكوين. عند استخدام خريطة التكوين هذه، يمكنك استخدام$NODE_IP
متغير في تكوين الكشط، والذي يتم استبداله بعنوان ip الخاص بالعقدة المقابلة في DaemonSet pod الذي يعمل على كل عقدة. بهذه الطريقة يمكنك الوصول إلى استخراج أي شيء يتم تشغيله على تلك العقدة من المقاييس addon DaemonSet. يرجى توخي الحذر عند استخدام الاكتشافات في تكوين الكشط في خريطة التكوين على مستوى العقدة هذه، حيث ستقوم كل عقدة في المجموعة بإعداد واكتشاف الهدف (الأهداف) وستجمع مقاييس زائدة عن الحاجة. يمكنك أخذ نموذج configmap من git hub repo أعلاه، وإضافة مهام القصاصة التي قد تحتاجها وتطبيق/ توزيع خريطة التكوين إلىkube-system
مساحة الاسم لنظام المجموعة الخاص بكama-metrics-prometheus-config-node-windows
(متقدم) يمكن استخدام خريطة التكوين هذه لتوفير تكوين استخراج Prometheus ل addon DaemonSet الذي يعمل على كل عقدة Windows في نظام المجموعة، ويمكن استخراج أهداف مستوى العقدة على كل عقدة عن طريق توفير مهام كشط في هذا التكوين. عند استخدام خريطة التكوين هذه، يمكنك استخدام$NODE_IP
متغير في تكوين القصاصة الخاص بك، والذي سيتم استبداله بعنوان ip الخاص بالعقدة المقابلة في DaemonSet pod الذي يعمل على كل عقدة. بهذه الطريقة يمكنك الوصول إلى استخراج أي شيء يتم تشغيله على تلك العقدة من المقاييس addon DaemonSet. يرجى توخي الحذر عند استخدام الاكتشافات في تكوين الكشط في خريطة التكوين على مستوى العقدة هذه، حيث ستقوم كل عقدة في المجموعة بإعداد واكتشاف الهدف (الأهداف) وستجمع مقاييس زائدة عن الحاجة. يمكنك أخذ نموذج configmap من git hub repo أعلاه، وإضافة مهام القصاصة التي قد تحتاجها وتطبيق/ توزيع خريطة التكوين إلىkube-system
مساحة الاسم لنظام المجموعة الخاص بك
تعريفات الموارد المخصصة
تدعم الوظيفة الإضافية لمقاييس Azure Monitor استخراج مقاييس Prometheus باستخدام Prometheus - Pod Monitors وService Monitors، على غرار عامل تشغيل OSS Prometheus. سيؤدي تمكين الوظيفة الإضافية إلى نشر تعريفات الموارد المخصصة ل Pod وService Monitor للسماح لك بإنشاء مواردك المخصصة. اتبع الإرشادات لإنشاء موارد مخصصة وتطبيقها على نظام المجموعة.
تكوين إعدادات الوظيفة الإضافية للمقاييس
يمكن تنزيل ama-metrics-settings-configmap وتحريره وتطبيقه على نظام المجموعة لتخصيص الميزات الجاهزة للوظيفة الإضافية للمقاييس.
تمكين الأهداف الافتراضية وتعطيلها
يحتوي الجدول التالي على قائمة بجميع الأهداف الافتراضية التي يمكن للوظيفة الإضافية لمقاييس Azure Monitor استخراجها بشكل افتراضي وما إذا كان قد تم تمكينها في البداية. يتم استخراج الأهداف الافتراضية كل 30 ثانية. يتم نشر نسخة متماثلة لاستخراج أهداف على مستوى المجموعة مثل kube-state-metrics. يتم أيضا نشر DaemonSet لاستخراج أهداف على مستوى العقدة مثل kubelet.
المفتاح | النوع | مُمَكّن | وحدة | الوصف |
---|---|---|---|---|
Kubelet | منطقي | true |
Linux DaemonSet | استخراج kubelet في كل عقدة في مجموعة K8s دون أي تكوين كشط إضافي. |
cadvisor | منطقي | true |
Linux DaemonSet | استخراج cadvisor في كل عقدة في مجموعة K8s دون أي تكوين كشط إضافي. Linux فقط. |
kubestate | منطقي | true |
نسخة متماثلة من Linux | استخراج kube-state-metrics في مجموعة K8s (المثبتة كجزء من الوظيفة الإضافية) دون أي تكوين كشط إضافي. |
nodeexporter | منطقي | true |
Linux DaemonSet | استخراج مقاييس العقدة دون أي تكوين كشط إضافي. Linux فقط. |
coredns | منطقي | false |
نسخة متماثلة من Linux | كشط خدمة coredns في مجموعة K8s دون أي تكوين كشط إضافي. |
kubeproxy | منطقي | false |
Linux DaemonSet | استخراج kube-proxy في كل عقدة Linux تم اكتشافها في مجموعة K8s دون أي تكوين كشط إضافي. Linux فقط. |
خادم واجهة برمجة التطبيقات | منطقي | false |
نسخة متماثلة من Linux | استخراج خادم Kubernetes API في نظام مجموعة K8s دون أي تكوين كشط إضافي. |
windowsexporter | منطقي | false |
Windows DaemonSet | استخراج مصدر النوافذ في كل عقدة في مجموعة K8s دون أي تكوين كشط إضافي. نظام تشغيل Windows فقط. |
windowskubeproxy | منطقي | false |
Windows DaemonSet | استخراج windows-kube-proxy في كل عقدة في مجموعة K8s دون أي تكوين كشط إضافي. نظام تشغيل Windows فقط. |
prometheuscollectorhealth | منطقي | false |
نسخة متماثلة من Linux | استخراج معلومات حول حاوية prometheus-collector، مثل مقدار وحجم السلسلة الزمنية التي تم استخراجها. |
إذا كنت تريد تشغيل استخراج الأهداف الافتراضية التي لم يتم تمكينها بشكل افتراضي، فقم بتحرير configmap ama-metrics-settings-configmap
لتحديث الأهداف المدرجة ضمن default-scrape-settings-enabled
إلى true
. تطبيق configmap على نظام المجموعة الخاص بك.
تمكين الاستخراج المستند إلى التعليق التوضيحي للجراب
لاستخراج جرابات التطبيق دون الحاجة إلى إنشاء تكوين Prometheus مخصص، يمكن إضافة التعليقات التوضيحية إلى pods. مطلوب التعليق التوضيحي prometheus.io/scrape: "true"
للجراب ليتم استخراجه. التعليقات التوضيحية prometheus.io/path
والإشارة prometheus.io/port
إلى المسار والمنفذ الذي تتم استضافة المقاييس فيه على الجراب. ستكون التعليقات التوضيحية للحجيرة التي تستضيف المقاييس في <pod IP>:8080/metrics
:
metadata:
annotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/metrics'
prometheus.io/port: '8080'
يتم تعطيل استخراج هذه القرون مع تعليقات توضيحية محددة بشكل افتراضي. لتمكين، في ، أضف regex لمساحة (مساحات) الاسم الخاصة بالقرون مع التعليقات التوضيحية التي ترغب في ama-metrics-settings-configmap
استخراجها كقيمة للحقل podannotationnamespaceregex
.
على سبيل المثال، يتخلص الإعداد التالي من الجرابات مع التعليقات التوضيحية فقط في مساحات kube-system
الأسماء و my-namespace
:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = "kube-system|my-namespace"
لتمكين استخراج الجرابات مع التعليقات التوضيحية في جميع مساحات الأسماء، استخدم:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = ".*"
تحذير
يمكن أن يؤدي استخراج التعليقات التوضيحية للجراب من العديد من مساحات الأسماء إلى إنشاء حجم كبير جدا من المقاييس اعتمادا على عدد القرون التي تحتوي على تعليقات توضيحية.
تخصيص المقاييس التي تم جمعها حسب الأهداف الافتراضية
بشكل افتراضي، بالنسبة لجميع الأهداف الافتراضية، يتم استيعاب الحد الأدنى فقط من المقاييس المستخدمة في قواعد التسجيل الافتراضية والتنبيهات ولوحات معلومات Grafana كما هو موضح في الحد الأدنى من ملف تعريف الاستيعاب. لتجميع جميع المقاييس من الأهداف الافتراضية، قم بتحديث قوائم الاحتفاظ في تكوين الإعدادات ضمن default-targets-metrics-keep-list
، ثم قم بتعيين minimalingestionprofile
إلى false
.
للسماح بإدراج المزيد من المقاييس بالإضافة إلى المقاييس الافتراضية المدرجة ليتم السماح بها، لأي أهداف افتراضية، قم بتحرير الإعدادات الموجودة ضمن default-targets-metrics-keep-list
للمهمة المقابلة التي تريد تغييرها.
على سبيل المثال، kubelet
هو إعداد تصفية المقياس ل kubelet الهدف الافتراضي. استخدم البرنامج النصي التالي للتصفية في المقاييس التي تم جمعها للأهداف الافتراضية باستخدام التصفية المستندة إلى regex.
kubelet = "metricX|metricY"
apiserver = "mymetric.*"
إشعار
إذا كنت تستخدم علامات اقتباس أو علامات مائلة عكسية في regex، فستحتاج إلى الهروب منها باستخدام الخط المائل المائل عكسيا مثل الأمثلة "test\'smetric\"s\""
و testbackslash\\*
.
لتخصيص المهام الافتراضية بشكل أكبر لتغيير خصائص مثل تكرار المجموعة أو التسميات، قم بتعطيل الهدف الافتراضي المقابل عن طريق تعيين قيمة configmap للهدف إلى false
. ثم قم بتطبيق المهمة باستخدام configmap مخصص. للحصول على تفاصيل حول التكوين المخصص، راجع تخصيص استخراج مقاييس Prometheus في Azure Monitor.
الاسم المستعار لنظام المجموعة
تستخدم تسمية نظام المجموعة الملحقة بكل سلسلة زمنية تم استخراجها الجزء الأخير من معرف مورد Azure Resource Manager الكامل لنظام مجموعة AKS. على سبيل المثال، إذا كان معرف المورد هو /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-name/providers/Microsoft.ContainerService/managedClusters/myclustername
، فإن تسمية نظام المجموعة هي myclustername
.
لتجاوز تسمية نظام المجموعة في السلسلة الزمنية التي تم استخراجها، قم بتحديث الإعداد cluster_alias
إلى أي سلسلة ضمن prometheus-collector-settings
في configmap ama-metrics-settings-configmap
. يمكنك إنشاء هذا التكوين إذا لم يكن موجودا في نظام المجموعة أو يمكنك تحرير التكوين الموجود إذا كان موجودا بالفعل في نظام المجموعة الخاص بك.
تظهر التسمية الجديدة أيضا في القائمة المنسدلة لمعلمة نظام المجموعة في لوحات معلومات Grafana بدلا من التسمية الافتراضية.
إشعار
يسمح فقط بالأحرف الأبجدية الرقمية. يتم استبدال أي أحرف أخرى ب _
. هذا التغيير هو للتأكد من أن المكونات المختلفة التي تستهلك هذه التسمية تلتزم بالاصطلاح الأبجدي الرقمي الأساسي.
إذا كنت تقوم بتمكين قواعد التسجيل والتنبيه، فيرجى التأكد من استخدام الاسم المستعار لنظام المجموعة في معلمة اسم نظام المجموعة لقالب إعداد القاعدة لكي تعمل القواعد.
وضع تصحيح الأخطاء
تحذير
يمكن أن يؤثر هذا الوضع على الأداء ويجب تمكينه لفترة قصيرة فقط لأغراض تصحيح الأخطاء.
لعرض كل مقياس يتم استخراجه لأغراض تصحيح الأخطاء، يمكن تكوين عامل المقاييس الإضافي للتشغيل في وضع تتبع الأخطاء عن طريق تحديث الإعداد إلى ضمن الإعداد في configmap ama-metrics-settings-configmap
.debug-mode
true
enabled
يمكنك إما إنشاء خريطة التكوين هذه أو تحرير خريطة موجودة. لمزيد من المعلومات، راجع قسم وضع تتبع الأخطاء في استكشاف أخطاء مجموعة مقاييس Prometheus وإصلاحها.
استخراج إعدادات الفاصل الزمني
لتحديث إعدادات الفاصل الزمني للاستخراج لأي هدف، يمكنك تحديث المدة في الإعداد default-targets-scrape-interval-settings
لهذا الهدف في configmap ama-metrics-settings-configmap
. يجب عليك تعيين الفواصل الزمنية للاستخراج بالتنسيق الصحيح المحدد في موقع الويب هذا. وإلا، يتم تطبيق القيمة الافتراضية البالغة 30 ثانية على الأهداف المقابلة. على سبيل المثال - إذا كنت تريد تحديث الفاصل الزمني للاستخراج للمهمة kubelet
إلى 60s
ثم يمكنك تحديث القسم التالي في YAML:
default-targets-scrape-interval-settings: |-
kubelet = "60s"
coredns = "30s"
cadvisor = "30s"
kubeproxy = "30s"
apiserver = "30s"
kubestate = "30s"
nodeexporter = "30s"
windowsexporter = "30s"
windowskubeproxy = "30s"
kappiebasic = "30s"
prometheuscollectorhealth = "30s"
podannotations = "30s"
وتطبيق YAML باستخدام الأمر التالي: kubectl apply -f .\ama-metrics-settings-configmap.yaml
تكوين مهام استخراج Prometheus المخصصة
يمكنك استخراج مقاييس Prometheus باستخدام Prometheus - Pod Monitors وService Monitors(Recommended)، على غرار عامل تشغيل OSS Prometheus. اتبع الإرشادات لإنشاء موارد مخصصة وتطبيقها على نظام المجموعة.
بالإضافة إلى ذلك، يمكنك اتباع الإرشادات لإنشاء خريطة التكوين الخاصة بك والتحقق من صحتها وتطبيقها. تنسيق التكوين مشابه لملف تكوين Prometheus.
نصائح وأمثلة حول تكوين Prometheus
تعرف على بعض التلميحات من الأمثلة في هذا القسم.
استخدم قوالب Pod وService Monitor واتبع مواصفات واجهة برمجة التطبيقات لإنشاء مواردك المخصصة (PodMonitor وService Monitor). لاحظ أن التغيير الوحيد المطلوب ل OSS CRs الحالي لاستلامه بواسطة Prometheus المدار هو مجموعة واجهة برمجة التطبيقات - azmonitoring.coreos.com/v1. انظر هنا لمعرفة المزيد
إشعار
عند فشل تطبيق تكوين الكشط المخصص بسبب أخطاء التحقق من الصحة، يستمر استخدام تكوين القصاصة الافتراضي.
إذا كنت ترغب في استخدام الإعدادات العمومية التي تنطبق على جميع مهام الكشط، ولديك موارد مخصصة فقط، فستظل بحاجة إلى إنشاء تكوين بالإعدادات العمومية فقط (ستتجاوز الإعدادات لكل منها في الموارد المخصصة تلك الموجودة في القسم العمومي)
تكوينات الكشط
حاليا، الأساليب المدعومة لاكتشاف الهدف للموارد المخصصة هي pod ومراقبة الخدمة
Pod وService Monitors
الأهداف المكتشفة باستخدام pod وشاشات الخدمة لها تسميات مختلفة __meta_*
اعتمادا على جهاز العرض المستخدم. يمكنك استخدام التسميات في relabelings
القسم لتصفية الأهداف أو استبدال التسميات للأهداف.
راجع أمثلة Pod وService Monitor من pod وservice monitors.
إعادة تسمية
relabelings
يتم تطبيق القسم في وقت اكتشاف الهدف وينطبق على كل هدف للوظيفة. توضح الأمثلة التالية طرق استخدام relabelings
.
إضافة تسمية
أضف تسمية جديدة تسمى example_label
بالقيمة example_value
إلى كل مقياس للوظيفة. استخدم __address__
كتسمية المصدر فقط لأن هذه التسمية موجودة دائما وتضيف التسمية لكل هدف من أهداف الوظيفة.
relabelings:
- sourceLabels: [__address__]
targetLabel: example_label
replacement: 'example_value'
استخدام تسميات Pod أو Service Monitor
الأهداف المكتشفة باستخدام pod وشاشات الخدمة لها تسميات مختلفة __meta_*
اعتمادا على جهاز العرض المستخدم. __*
يتم إسقاط التسميات بعد اكتشاف الأهداف. للتصفية باستخدامها على مستوى المقاييس، احتفظ بها أولا باستخدام relabelings
عن طريق تعيين اسم تسمية. ثم استخدم metricRelabelings
للتصفية.
# Use the kubernetes namespace as a label called 'kubernetes_namespace'
relabelings:
- sourceLabels: [__meta_kubernetes_namespace]
action: replace
targetLabel: kubernetes_namespace
# Keep only metrics with the kubernetes namespace 'default'
metricRelabelings:
- sourceLabels: [kubernetes_namespace]
action: keep
regex: 'default'
إعادة تسمية الوظيفة والمثيل
يمكنك تغيير قيم التسمية job
و instance
استنادا إلى التسمية المصدر، تماما مثل أي تسمية أخرى.
# Replace the job name with the pod label 'k8s app'
relabelings:
- sourceLabels: [__meta_kubernetes_pod_label_k8s_app]
targetLabel: job
# Replace the instance name with the node name. This is helpful to replace a node IP
# and port with a value that is more readable
relabelings:
- sourceLabels: [__meta_kubernetes_node_name]]
targetLabel: instance
إشعار
إذا كان لديك تكوينات إعادة تسمية، فتأكد من أن إعادة التسمية لا تقوم بتصفية الأهداف، وأن التسميات التي تم تكوينها تتطابق بشكل صحيح مع الأهداف.
إعادة تسمية القياس
يتم تطبيق عمليات إعادة تسمية القياس بعد الاستخراج وقبل الاستيعاب. metricRelabelings
استخدم القسم لتصفية المقاييس بعد الكشط. توضح الأمثلة التالية كيفية القيام بذلك.
إسقاط المقاييس حسب الاسم
# Drop the metric named 'example_metric_name'
metricRelabelings:
- sourceLabels: [__name__]
action: drop
regex: 'example_metric_name'
الاحتفاظ بمقاييس معينة فقط حسب الاسم
# Keep only the metric named 'example_metric_name'
metricRelabelings:
- sourceLabels: [__name__]
action: keep
regex: 'example_metric_name'
# Keep only metrics that start with 'example_'
metricRelabelings:
- sourceLabels: [__name__]
action: keep
regex: '(example_.*)'
إعادة تسمية المقاييس
إعادة تسمية القياس غير مدعومة.
تصفية المقاييس حسب التسميات
# Keep metrics only where example_label = 'example'
metricRelabelings:
- sourceLabels: [example_label]
action: keep
regex: 'example'
# Keep metrics only if `example_label` equals `value_1` or `value_2`
metricRelabelings:
- sourceLabels: [example_label]
action: keep
regex: '(value_1|value_2)'
# Keep metrics only if `example_label_1 = value_1` and `example_label_2 = value_2`
metricRelabelings:
- sourceLabels: [example_label_1, example_label_2]
separator: ';'
action: keep
regex: 'value_1;value_2'
# Keep metrics only if `example_label` exists as a label
metricRelabelings:
- sourceLabels: [example_label_1]
action: keep
regex: '.+'
المصادقة الأساسية
إذا كنت تستخدم basic_auth
الإعداد في تكوين prometheus الخاص بك، يرجى اتباع الخطوات -
- إنشاء سر في مساحة اسم نظام kube المسماة ama-metrics-mtls-secret
قيمة password1 هي base64encoded.
يمكن أن يكون مفتاح password1 أي شيء، ولكنه يحتاج فقط إلى مطابقة تكوين القصاصة password_file filepath.
apiVersion: v1
kind: Secret
metadata:
name: ama-metrics-mtls-secret
namespace: kube-system
type: Opaque
data:
password1: <base64-encoded-string>
يتم تركيب ama-metrics-mtls-secret على حاويات ama-metrics في المسار - /etc/prometheus/certs/ ويتم توفيره للعملية التي تقوم بالغاء مقاييس prometheus. سيكون المفتاح ( ex - password1) في المثال أعلاه هو اسم الملف والقيمة هي base64 التي تم فك ترميزها وإضافتها إلى محتويات الملف داخل الحاوية ويستخدم قشطة prometheus محتويات هذا الملف للحصول على القيمة المستخدمة ككلمة مرور تستخدم لاستخراج نقطة النهاية.
- في configmap لتكوين القصاصة المخصصة، استخدم الإعداد التالي. يجب أن يحتوي حقل اسم المستخدم على سلسلة اسم المستخدم الفعلية. يجب أن يحتوي الحقل password_file على المسار إلى ملف يحتوي على كلمة المرور.
basic_auth:
username: <username string>
password_file: /etc/prometheus/certs/password1
من خلال توفير المسار إلى password_file أعلاه، يستخدم كشط prometheus محتويات الملف المسمى password1 في المسار /etc/prometheus/certs كقيمة لكلمة المرور لاستخراج المستندة إلى المصادقة الأساسية.
إذا كنت تستخدم كل من المصادقة الأساسية ومصادقة tls، يرجى الرجوع إلى القسم أدناه. لمزيد من التفاصيل، راجع قسم الملاحظة أدناه.
استخراج يستند إلى TLS
إذا كان لديك مثيل Prometheus يتم تقديمه مع TLS وتريد استخراج المقاييس منه، فأنت بحاجة إلى تعيين مخطط إلى https
وتعيين إعدادات TLS في configmap أو CRD المعني.
يرجى اتباع الخطوات التالية.
إنشاء سر في مساحة اسم نظام kube المسماة ama-metrics-mtls-secret. سيتم تحميل كل زوج من قيم المفاتيح المحددة في قسم البيانات للكائن السري كملف منفصل في موقع /etc/prometheus/certs هذا مع اسم (أسماء) الملف نفسه مثل المفتاح (المفاتيح) المحدد في قسم البيانات. يجب ترميز القيم السرية base64 قبل وضعها ضمن قسم البيانات، كما هو موضح أدناه.
فيما يلي مثال على إنشاء بيانات سرية من خلال YAML.
apiVersion: v1 kind: Secret metadata: name: ama-metrics-mtls-secret namespace: kube-system type: Opaque data: <certfile>: base64_cert_content <keyfile>: base64_key_content
يتم تركيب ama-metrics-mtls-secret على حاويات ama-metrics في المسار - /etc/prometheus/certs/ ويتم توفيره للعملية التي تقوم بالغاء مقاييس prometheus. سيكون المفتاح ( ex - certfile) في المثال أعلاه هو اسم الملف والقيمة هي base64 التي تم فك ترميزها وإضافتها إلى محتويات الملف داخل الحاوية ويستخدم قشطة prometheus محتويات هذا الملف للحصول على القيمة المستخدمة ككلمة مرور تستخدم لاستخراج نقطة النهاية.
فيما يلي تفاصيل حول كيفية توفير إعدادات تكوين TLS من خلال configmap أو CRD.
- لتوفير إعداد تكوين TLS في configmap، يرجى اتباع المثال أدناه.
tls_config:
ca_file: /etc/prometheus/certs/<certfile> # since it is self-signed
cert_file: /etc/prometheus/certs/<certfile>
key_file: /etc/prometheus/certs/<keyfile>
insecure_skip_verify: false
المصادقة الأساسية وTLS
إذا كنت ترغب في استخدام كل من إعدادات المصادقة الأساسية وإعدادات مصادقة Tls في configmap/CRD، فتأكد فقط من أن البيانات السرية ama-metrics-mtls-secret تتضمن جميع الملفات (المفاتيح) ضمن قسم البيانات مع القيم المشفرة الأساسية 64 المقابلة لها، كما هو موضح أدناه.
apiVersion: v1
kind: Secret
metadata:
name: ama-metrics-mtls-secret
namespace: kube-system
type: Opaque
data:
certfile: base64_cert_content # used for Tls
keyfile: base64_key_content # used for Tls
password1: base64-encoded-string # used for basic auth
password2: base64-encoded-string # used for basic auth
إشعار
إشعار
المسار /etc/prometheus/certs/ إلزامي، ولكن password1 يمكن أن يكون أي سلسلة ويحتاج إلى مطابقة مفتاح البيانات في السر الذي تم إنشاؤه أعلاه. وذلك لأن البيانات السرية ama-metrics-mtls-secret مثبتة في المسار /etc/prometheus/certs/ داخل الحاوية.
يتم فك ترميز القيمة المرمزة base64 تلقائيا بواسطة جرابات العامل عند تحميل السر كملف.
تأكد من أن الاسم السري هو ama-metrics-mtls-secret وأنه في مساحة اسم نظام kube.
يجب إنشاء السر ثم يجب إنشاء configmap/CRD في مساحة اسم نظام kube. ترتيب إنشاء البيانات السرية مهم. عندما لا يكون هناك سر ولكن خريطة CRD/config صالحة، ستجد أخطاء في سجل المجمع ->no file found for cert....
لقراءة المزيد حول إعدادات تكوين TLS، يرجى اتباع هذه التكوينات.
الخطوات التالية
إعداد التنبيهات على مقاييس Prometheus
الاستعلام عن مقاييس Prometheus
تعرف على المزيد حول جمع مقاييس Prometheus