تخصيص استخراج مقاييس 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، مثل مقدار وحجم السلسلة الزمنية التي تم استخراجها. |
إذا كنت تريد تشغيل استخراج الأهداف الافتراضية التي لم يتم تمكينها بشكل افتراضي، فقم بتحرير configmapama-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
في configmapama-metrics-settings-configmap
. يمكنك إنشاء هذا التكوين إذا لم يكن موجودا في نظام المجموعة أو يمكنك تحرير التكوين الموجود إذا كان موجودا بالفعل في نظام المجموعة الخاص بك.
تظهر التسمية الجديدة أيضا في القائمة المنسدلة لمعلمة نظام المجموعة في لوحات معلومات Grafana بدلا من التسمية الافتراضية.
إشعار
يسمح فقط بالأحرف الأبجدية الرقمية. يتم استبدال أي أحرف أخرى ب _
. هذا التغيير هو للتأكد من أن المكونات المختلفة التي تستهلك هذه التسمية تلتزم بالاصطلاح الأبجدي الرقمي الأساسي.
وضع تصحيح الأخطاء
تحذير
يمكن أن يؤثر هذا الوضع على الأداء ويجب تمكينه لفترة قصيرة فقط لأغراض تصحيح الأخطاء.
لعرض كل مقياس يتم استخراجه لأغراض تصحيح الأخطاء، يمكن تكوين عامل المقاييس الإضافي للتشغيل في وضع التصحيح عن طريق تحديث الإعداد إلى ضمن الإعداد في configmapama-metrics-settings-configmap
.debug-mode
true
enabled
يمكنك إما إنشاء خريطة التكوين هذه أو تحرير خريطة موجودة. لمزيد من المعلومات، راجع قسم وضع تتبع الأخطاء في استكشاف أخطاء مجموعة مقاييس Prometheus وإصلاحها.
استخراج إعدادات الفاصل الزمني
لتحديث إعدادات الفاصل الزمني للاستخراج لأي هدف، يمكنك تحديث المدة في الإعداد default-targets-scrape-interval-settings
لهذا الهدف في configmapama-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: '.+'
استخراج يستند إلى TLS
إذا كان لديك مثيل Prometheus يتم تقديمه مع TLS وتريد استخراج المقاييس منه، فأنت بحاجة إلى تعيين مخطط إلى https
وتعيين إعدادات TLS في configmap أو CRD المعني. يمكنك استخدام tls_config
خاصية التكوين داخل مهمة استخراج مخصصة لتكوين إعدادات TLS إما باستخدام CRD أو configmap. تحتاج إلى توفير شهادة CA للتحقق من صحة شهادة خادم API باستخدام. يتم استخدام شهادة المرجع المصدق للتحقق من صحة شهادة الخادم عندما يتصل Prometheus بالهدف عبر TLS. يساعد على التأكد من أن شهادة الخادم موقعة من قبل مرجع موثوق به.
يجب إنشاء السر في مساحة اسم نظام kube ثم يجب إنشاء configmap/CRD في مساحة اسم نظام kube. ترتيب إنشاء البيانات السرية مهم. عندما لا يكون هناك سر ولكن خريطة CRD/config صالحة، ستجد أخطاء في سجل المجمع ->no file found for cert....
فيما يلي تفاصيل حول كيفية توفير إعدادات تكوين TLS من خلال configmap أو CRD.
- لتوفير إعداد تكوين TLS في configmap، يرجى إنشاء الشهادة الموقعة ذاتيا والمفتاح داخل تطبيق mtls الممكن. يجب أن يبدو مثال tlsConfig داخل خريطة التكوين كما يلي:
tls_config:
ca_file: /etc/prometheus/certs/client-cert.pem
cert_file: /etc/prometheus/certs/client-cert.pem
key_file: /etc/prometheus/certs/client-key.pem
insecure_skip_verify: false
- لتوفير إعداد تكوين TLS في CRD، يرجى إنشاء الشهادة الموقعة ذاتيا والمفتاح داخل تطبيق mtls الممكن. يجب أن يبدو مثال tlsConfig داخل Podmonitor كما يلي:
tlsConfig:
ca:
secret:
key: "client-cert.pem" # since it is self-signed
name: "ama-metrics-mtls-secret"
cert:
secret:
key: "client-cert.pem"
name: "ama-metrics-mtls-secret"
keySecret:
key: "client-key.pem"
name: "ama-metrics-mtls-secret"
insecureSkipVerify: false
إشعار
تأكد من أن اسم ملف الشهادة واسم المفتاح داخل تطبيق mtls بالتنسيق التالي في حالة الاستخراج المستند إلى CRD. على سبيل المثال: secret_kube-system_ama-metrics-mtls-secret_cert-name.pem و secret_kube-system_ama-metrics-mtls-secret_key-name.pem. يجب إنشاء CRD في مساحة اسم نظام kube. يجب أن يكون الاسم السري بالضبط ama-metrics-mtls-secret في مساحة اسم نظام kube. مثال على الأمر لإنشاء البيانات السرية: kubectl إنشاء سر عام ama-metrics-mtls-secret --from-file=secret_kube-system_ama-metrics-mtls-secret_client-cert.pem=secret_kube-system_ama-metrics-mtls-secret_client-cert.pem --from-file=secret_kube-system_ama-metrics-mtls-secret_client-key.pem=secret_kube-system_ama-metrics-mtls-secret_client-key.pem -n kube-system
لقراءة المزيد حول مصادقة TLS، قد تكون المستندات التالية مفيدة.
- إنشاء شهادات TLS ->https://o11y.eu/blog/prometheus-server-tls/
- تكوينات->https://prometheus.io/docs/alerting/latest/configuration/#tls_config
المصادقة الأساسية
إذا كنت تستخدم basic_auth
الإعداد في تكوين prometheus الخاص بك، يرجى اتباع الخطوات -
- إنشاء سر في مساحة اسم نظام kube المسماة ama-metrics-mtls-secret
قيمة password1 هي base64encoded يمكن أن تكون كلمة المرور الرئيسية 1 أي شيء، ولكنها تحتاج فقط إلى مطابقة password_file مسار الملف الخاص بك.
apiVersion: v1
kind: Secret
metadata:
name: ama-metrics-mtls-secret
namespace: kube-system
type: Opaque
data:
password1: <base64-encoded-string>
- في configmap لتكوين القصاصة المخصصة، استخدم الإعداد التالي -
basic_auth:
username: admin
password_file: /etc/prometheus/certs/password1
إشعار
تأكد من أن الاسم هو ama-metrics-mtls-secret وأنه في مساحة اسم نظام kube.
المسار /etc/prometheus/certs/ إلزامي، ولكن password1 يمكن أن يكون أي سلسلة ويحتاج إلى مطابقة مفتاح البيانات في السر الذي تم إنشاؤه أعلاه. وذلك لأن البيانات السرية ama-metrics-mtls-secret مثبتة في المسار /etc/prometheus/certs/ داخل الحاوية.
يتم فك ترميز القيمة المرمزة base64 تلقائيا بواسطة جرابات العامل عند تحميل السر كملف.
يحتاج أي إعداد تكوين آخر للتخويل الذي يعتبر سرا في تكوين prometheus إلى استخدام بديل إعداد الملف بدلا من ذلك كما هو موضح أعلاه.
الخطوات التالية
إعداد التنبيهات على مقاييس Prometheus
الاستعلام عن مقاييس Prometheus
تعرف على المزيد حول جمع مقاييس Prometheus