Passer au contenu principal
Ce guide prend en charge :
✖️ Logs✖️ ️️Métriques✅ Traces
Pour envoyer des logs à ClickStack, utilisez le collecteur OpenTelemetry.

Prise en main

Installer les paquets OpenTelemetry

Installez le paquet OpenTelemetry à l’aide de la commande suivante.
bundle add opentelemetry-sdk opentelemetry-instrumentation-all opentelemetry-exporter-otlp

Configurer OpenTelemetry + le formateur du logger

Ensuite, vous devrez initialiser l’instrumentation de tracing OpenTelemetry et configurer le formateur des messages du logger Rails afin que les logs puissent être automatiquement rattachés aux traces. Sans ce formateur personnalisé, les logs ne seront pas automatiquement corrélés dans ClickStack. Dans le dossier config/initializers, créez un fichier nommé hyperdx.rb et ajoutez-y ce qui suit :
# config/initializers/hyperdx.rb

require 'opentelemetry-exporter-otlp'
require 'opentelemetry/instrumentation/all'
require 'opentelemetry/sdk'

OpenTelemetry::SDK.configure do |c|
  c.use_all() # enables all trace instrumentation!
end

Rails.application.configure do
  Rails.logger = Logger.new(STDOUT)
  # Rails.logger.log_level = Logger::INFO # default is DEBUG, but you might want INFO or above in production
  Rails.logger.formatter = proc do |severity, time, progname, msg|
    span_id = OpenTelemetry::Trace.current_span.context.hex_span_id
    trace_id = OpenTelemetry::Trace.current_span.context.hex_trace_id
    if defined? OpenTelemetry::Trace.current_span.name
      operation = OpenTelemetry::Trace.current_span.name
    else
      operation = 'undefined'
    end

    { "time" => time, "level" => severity, "message" => msg, "trace_id" => trace_id, "span_id" => span_id,
      "operation" => operation }.to_json + "\n"
  end

  Rails.logger.info "Logger initialized !! 🐱"
end

Configurer les variables d’environnement

Ensuite, vous devez configurer les variables d’environnement suivantes dans votre shell pour acheminer la télémétrie vers ClickStack via le collecteur OpenTelemetry :
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_SERVICE_NAME='<NAME_OF_YOUR_APP_OR_SERVICE>' \
La variable d’environnement OTEL_SERVICE_NAME sert à identifier votre service dans l’application HyperDX ; vous pouvez lui donner le nom de votre choix. La variable d’environnement OTEL_EXPORTER_OTLP_HEADERS contient la clé d’API disponible dans l’application HyperDX, sous Team Settings → API Keys.
Dernière modification le 25 juin 2026