مقاييس Discourse Prometheus 404 لـ Grafana

لقد تمكنت من جعل هذا يعمل. كانت مشاكلي:

  1. مثيلي يعيد التوجيه إلى https
  2. إعدادات Grafana الافتراضية لـ alloy كانت تحاول الوصول إلى localhost:80 (إذا كنت لا تعرف، فإن alloy هو خادم شبيه بـ Prometheus يقوم Grafana بتشغيله وقراءة /metrics لعرضها على Grafana)

هذا ما يبدو عليه إعدادي في حال كان مفيدًا لأي شخص

... تم حذف الجزء الذي تم إنشاؤه تلقائيًا عند تثبيت alloy ...

discovery.relabel "metrics_integrations_integrations_discourse" {
	targets = [{
		__address__ = "your.domain.com", # <--- هذا تغيير قمت به
		__scheme__  = "https", # <--- هذا تغيير قمت به
	}]

	rule {
		target_label = "instance"
		replacement  = constants.hostname
	}
}

prometheus.scrape "metrics_integrations_integrations_discourse" {
	targets    = discovery.relabel.metrics_integrations_integrations_discourse.output
	forward_to = [prometheus.relabel.metrics_integrations_integrations_discourse.receiver]
	job_name   = "integrations/discourse"

	tls_config {
		insecure_skip_verify = true # <--- هذا تغيير قمت به
	}
}

prometheus.relabel "metrics_integrations_integrations_discourse" {
	forward_to = [prometheus.remote_write.metrics_service.receiver]

	rule {
		source_labels = ["__name__"]
		regex         = "up|discourse_active_app_reqs|discourse_http_duration_seconds|discourse_http_requests|discourse_page_views|discourse_queued_app_reqs|discourse_rss|discourse_scheduled_job_count|discourse_scheduled_job_duration_seconds|discourse_sidekiq_job_count|discourse_sidekiq_job_duration_seconds|discourse_sidekiq_jobs_enqueued|discourse_v8_used_heap_size"
		action        = "keep"
	}
}

مع هذا، بدأت Grafana في الحصول على البيانات…

لا تنسَ تعيين DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX

لقد بحثت عن عناوين IP الخاصة بـ Grafana وأضفتها جميعًا في سطر واحد طويل، قد تكون هناك طريقة أفضل أو أذكى ولكنني لم أتمكن من العثور عليها هههه

هذا مثال على إضافة عناوين IP متعددة

DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX: "^(localhost|127\\.0\\.0\\.1|::1)$"