يدعم هذا الدليل:
| ✖️ السجلات | ✖️ ️️المقاييس | ✅ التتبعات |
لإرسال السجلات إلى ClickStack، يُرجى إرسالها عبر OpenTelemetry Collector.
استخدم الأمر التالي لتثبيت حزمة OpenTelemetry.
bundle add opentelemetry-sdk opentelemetry-instrumentation-all opentelemetry-exporter-otlp
بعد ذلك، ستحتاج إلى تهيئة آلية التتبّع في OpenTelemetry
وضبط مُنسِّق رسائل السجل لـ logger الخاص بـ Rails بحيث يمكن ربط السجلات
بالتتبّعات تلقائيًا. ومن دون المُنسِّق المخصّص، لن تُربط السجلات
بالتتبّعات تلقائيًا داخل ClickStack.
في المجلد config/initializers، أنشئ ملفًا باسم hyperdx.rb وأضف إليه
ما يلي:
# 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
بعد ذلك، ستحتاج إلى تهيئة متغيرات البيئة التالية في الصدفة لإرسال بيانات القياس عن بُعد إلى ClickStack عبر 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>'
يُستخدم متغير البيئة OTEL_SERVICE_NAME للتعرّف على خدمتك
في تطبيق HyperDX، ويمكن أن يكون أي اسم تختاره.
يحتوي متغير البيئة OTEL_EXPORTER_OTLP_HEADERS على مفتاح API المتاح عبر تطبيق HyperDX في Team Settings → API Keys. آخر تعديل في ٢٥ يونيو ٢٠٢٦