He logrado que esto funcione. Mis problemas fueron:
- Mi instancia redirige a
https - La configuración predeterminada de Grafana para
alloyintentaba acceder a localhost:80 (si no lo sabes,alloyes un servidor similar a Prometheus que Grafana utiliza y lee/metricspara exponerlos a Grafana)
Así es como se ve mi configuración, por si ayuda a alguien:
... se eliminó la parte que se genera automáticamente al instalar alloy ...
discovery.relabel "metrics_integrations_integrations_discourse" {
targets = [{
__address__ = "your.domain.com", # <--- ESTO ES UN CAMBIO QUE HICE
__scheme__ = "https", # <--- ESTO ES UN CAMBIO QUE HICE
}]
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 # <--- ESTO ES UN CAMBIO QUE HICE
}
}
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"
}
}
Con esto, Grafana comenzó a recibir datos…
No olvides configurar DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX
Busqué las IPs de Grafana y las agregué todas en una línea larga, puede que haya una forma mejor o más inteligente, pero no pude encontrarla, jeje.
Aquí tienes un ejemplo de cómo agregar varias IPs:
DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX: "^(localhost|127\\.0\\.0\\.1|::1)$"