Esta guía integra:
| ✖️ Logs | ✖️ ️️Métricas | ✅ Trazas |
Para enviar logs a ClickStack, hágalo a través del OpenTelemetry Collector.
Instalar paquetes de OpenTelemetry
Utiliza el siguiente comando para instalar el paquete de OpenTelemetry.
bundle add opentelemetry-sdk opentelemetry-instrumentation-all opentelemetry-exporter-otlp
A continuación, tendrás que inicializar la instrumentación de trazado de OpenTelemetry
y configurar el formateador de mensajes de log para el logger de Rails, de modo que los logs puedan
vincularse automáticamente con las trazas. Sin el formateador personalizado, los logs no
se correlacionarán automáticamente en ClickStack.
En la carpeta config/initializers, crea un archivo llamado hyperdx.rb y agrega lo
siguiente:
# config/initializers/hyperdx.rb
require 'opentelemetry-exporter-otlp'
require 'opentelemetry/instrumentation/all'
require 'opentelemetry/sdk'
OpenTelemetry::SDK.configure do |c|
c.use_all() # ¡habilita toda la instrumentación de trazas!
end
Rails.application.configure do
Rails.logger = Logger.new(STDOUT)
# Rails.logger.log_level = Logger::INFO # el valor predeterminado es DEBUG, pero puede que prefieras INFO o superior en producción
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
Después, deberás configurar las siguientes variables de entorno en tu shell para enviar telemetría a ClickStack a través del OpenTelemetry Collector:
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 de entorno OTEL_SERVICE_NAME se utiliza para identificar tu servicio
en la aplicación HyperDX; puede ser cualquier nombre que quieras.
La variable de entorno OTEL_EXPORTER_OTLP_HEADERS contiene la clave de API disponible en la aplicación HyperDX, en Team Settings → API Keys. Última modificación el 10 de junio de 2026