وظيفة Prometheus scrape لا يمكنها الوصول إلى المقاييس

ما قصده جاي هنا هو أنك تحتاج إلى استخدام اسم المضيف المُكوَّن (DISCOURSE_HOSTNAME في تعريف ملف .yml الخاص بالحاوية) بدلاً من أي اسم مضيف يحل إلى عنوان IP الصحيح.

هذا متعمد، بحيث لا يمكنك بسهولة عكس وكيل نسخة عامة من أي مكان، ولذلك يتم قبول اسم المضيف المُكوَّن فقط:

$ curl -I https://try.discourse.org/about.json
HTTP/2 200
server: nginx
date: Mon, 15 May 2023 16:25:05 GMT
content-type: application/json; charset=utf-8
[...]

# ما يلي يعادل إنشاء سجل DNS في
# try.somebogusreverseproxy.com يشير إلى نفس عنوان IP مثل try.discourse.org،
# ثم طلب https://try.somebogusreverseproxy.com/about.json
$ curl -H 'Host: try.somebogusreverseproxy.com' -I https://try.discourse.org/about.json
HTTP/2 404
cache-control: no-cache
content-length: 1427
content-type: text/html
cdck-proxy-id: app-router-tiehunter02.sea1
cdck-proxy-id: app-balancer-tieinterceptor1b.sea1

على العكس من ذلك، إذا جربت هذا:

curl -H 'Host: YOUR_CONFIGURED_HOSTNAME' -I https://discourse_app/metrics

يجب أن يعمل، ولكنه حل مؤقت. التوقع هو أنك ستقوم بإعداد DNS حسب الحاجة حتى يمكن الوصول إلى Discourse باسم المضيف المُكوَّن بشفافية:

curl -I https://YOUR_CONFIGURED_HOSTNAME/metrics

كيفية القيام بذلك يعتمد بشكل كبير على متطلباتك، ولكن أبسط خيار هو إعداد اسم مستعار في /etc/hosts من حيث تنشأ طلبات HTTP الخاصة بك.

3 إعجابات