Discourse Prometheus 404 Metriken für Grafana

Ich konnte dies zum Laufen bringen. Meine Probleme waren:

  1. Meine Instanz leitet zu https weiter
  2. Die Standard-Grafana-Konfiguration für alloy versuchte, localhost:80 zu erreichen (falls Sie es nicht wissen, alloy ist ein Prometheus-ähnlicher Server, den Grafana startet und /metrics liest, um sie Grafana zur Verfügung zu stellen)

So sieht meine Konfiguration aus, falls sie jemandem hilft:

... der Teil, der bei der Installation von Alloy automatisch generiert wird, wurde entfernt ...

discovery.relabel "metrics_integrations_integrations_discourse" {
	targets = [{
		__address__ = "your.domain.com", # <--- DAS IST EINE ÄNDERUNG, DIE ICH GEMACHT HABE
		__scheme__  = "https", # <--- DAS IST EINE ÄNDERUNG, DIE ICH GEMACHT HABE
	}]

	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 # <--- DAS IST EINE ÄNDERUNG, DIE ICH GEMACHT HABE
	}
}

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"
	}
}

Mit dieser Konfiguration begann Grafana, Daten zu empfangen…

Vergessen Sie nicht, DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX festzulegen.

Ich habe nach den IPs von Grafana gesucht und sie alle als lange Zeile hinzugefügt. Es gibt vielleicht eine bessere oder intelligentere Methode, aber ich konnte sie nicht finden, lol.

Hier ist ein Beispiel für das Hinzufügen mehrerer IPs:

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