ديسكورس بروميثيوس

:discourse2: Summary Discourse Prometheus is the official Prometheus exporter for Discourse
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-prometheus
:open_book: Install Guide How to install plugins in Discourse

The Discourse Prometheus plugin collects key metrics from Discourse and exposes them in the /metrics path so prometheus can consume them.

These metrics can be used to Graph all sorts of data like:

Median and 99th percentile times for topic / categories / top and latest pages. Breaking down execution time between SQL/Redis and App.

Page view tracking

Error tracking

Ruby object space tracking including allocation rate, heaps and so on.

Hosted V8 memory statistics

Scheduled Job Queue and Sidekiq job durations and executions.

To see a full list of metrics available, install the plugin and visit SITENAME/metrics as an admin.

Out of the box we allow the metrics route to admins and private ips.


Discourse Prometheus is smart enough to aggregate data for all forked unicorn processes and present it as cohesive metrics on a single endpoint. We use it internally to keep track of our sites.

Sample dashboard at:


Discourse global setting called prometheus_trusted_ip_allowlist_regex (env: DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX) is allowing to set Prometheus’s trusted IP addresses. The setting accepts regular expression to set advanced IP ranges. This is useful in a case when Prometheus IP address is dynamic.

51 إعجابًا

أقوم حاليًا بإدارة discourse على Kubernetes، وأعمل على العديد من جرابات التطبيق و sidekiq. لديّ بعض الأسئلة بخصوص المكون الإضافي:

  1. هل يجمع المكون الإضافي المقاييس من جميع جرابات التطبيق؟ أفترض أنه يجمع المقاييس لعمليات unicorn التي تعمل على مثيل/جراب واحد.
  2. أنا مهتم بالسبب وراء ملاحظة التوقيتات لبعض إجراءات المتحكم فقط. هذا الاستعلام متعلق بالكود الموجود في discourse-prometheus/lib/collector.rb at main · discourse/discourse-prometheus · GitHub.

مرحباً،

أين يمكنني العثور على الإعداد prometheus_trusted_ip_allowlist_regex؟ :crying_cat_face:

أنا أستخدم Discourse v3.4.0.beta3-dev

يجب عليك تعيين DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWIST_REGEX في app.yml.

إعجاب واحد (1)

لست متأكدًا مما يحدث ولكن هذه التكاملات لم تعد تعمل. لم أتمكن من عرض أي شيء في لوحة المعلومات في Grafana… يعرض /metrics شيئًا ما ولكن أي شيء بعد ذلك لا يعمل حقًا.

العديد من الأخطاء مثل الخطأ أدناه

بدأت GET "/metrics/api/v1/label/instance/values?limit=40000&start=1760980620&end=1760982480&match[]=discourse_page_views" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
بدأت GET "/metrics/api/v1/label/job/values?limit=40000&start=1760980620&end=1760982480&match[]=discourse_page_views%7B%7D" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 21.1 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 26.0 مللي ثانية | GC: 0.0 مللي ثانية)
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 19.8 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 28.2 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 34.6 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 44.4 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 41.7 مللي ثانية | GC: 0.0 مللي ثانية)
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:07 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:08 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:08 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:08 +0000
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 23.6 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 24.9 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 19.9 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 21.6 مللي ثانية | GC: 0.0 مللي ثانية)
بدأت GET "/metrics/api/v1/label/job/values?limit=40000&start=1760980620&end=1760982480&match[]=discourse_page_views%7B%7D" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
بدأت GET "/metrics/api/v1/label/instance/values?limit=40000&start=1760980620&end=1760982480&match[]=discourse_page_views" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 19.5 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 20.9 مللي ثانية | GC: 0.0 مللي ثانية)
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
بدأت POST "/metrics/api/v1/query_range" من 16.63.57.20 في 2025-10-20 17:47:37 +0000
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 22.4 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 22.0 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 40.0 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 37.0 مللي ثانية | GC: 0.0 مللي ثانية)
  تم عرض التخطيط layouts/no_ember.html.erb (المدة: 24.8 مللي ثانية | GC: 1.6 مللي ثانية)

أعيد نشر هذا لأنني وجدت حلاً نجح معي Discourse Prometheus 404 metrics for Grafana - #2 by DevTeVe