الانتقال إلى المحتوى الرئيسي
يدعم هذا الدليل:
✖️ السجلات✖️ ️️المقاييس✅ التتبعات
لإرسال السجلات إلى ClickStack، يُرجى إرسالها عبر OpenTelemetry Collector.

البدء

تثبيت حزم OpenTelemetry

استخدم الأمر التالي لتثبيت حزمة OpenTelemetry.
bundle add opentelemetry-sdk opentelemetry-instrumentation-all opentelemetry-exporter-otlp

تهيئة OpenTelemetry + مُنسِّق logger

بعد ذلك، ستحتاج إلى تهيئة آلية التتبّع في 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:
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_SERVICE_NAME='<NAME_OF_YOUR_APP_OR_SERVICE>' \
يُستخدم متغير البيئة OTEL_SERVICE_NAME للتعرّف على خدمتك في تطبيق HyperDX، ويمكن أن يكون أي اسم تختاره. يحتوي متغير البيئة OTEL_EXPORTER_OTLP_HEADERS على مفتاح API المتاح عبر تطبيق HyperDX في Team Settings → API Keys.
آخر تعديل في ٢٥ يونيو ٢٠٢٦