Ce guide prend en charge :
| ✖️ Logs | ✖️ ️️Métriques | ✅ Traces |
Pour envoyer des logs à ClickStack, utilisez le collecteur OpenTelemetry.
Installer les paquets OpenTelemetry
Installez le paquet OpenTelemetry à l’aide de la commande suivante.
bundle add opentelemetry-sdk opentelemetry-instrumentation-all opentelemetry-exporter-otlp
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
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 :
Managed ClickStack
ClickStack Open Source
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_SERVICE_NAME='<NAME_OF_YOUR_APP_OR_SERVICE>' \
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_SERVICE_NAME='<NAME_OF_YOUR_APP_OR_SERVICE>' \
OTEL_EXPORTER_OTLP_HEADERS='authorization=<YOUR_INGESTION_API_KEY>'
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