Naar hoofdinhoud gaan
Zorg ervoor dat u de AppSignal collector installeert voordat u verdergaat met deze instructies.

Installeer de OpenTelemetry-gems

Gebruik Bundler om de OpenTelemetry SDK, OTLP-exporter en instrumentatiepakketten toe te voegen aan de Gemfile van uw applicatie:
bundle add opentelemetry-sdk opentelemetry-exporter-otlp opentelemetry-instrumentation-all
Het pakket opentelemetry-instrumentation-all installeert instrumentaties voor de meeste frameworks en libraries. U kunt een lijst met geïnstrumenteerde frameworks en libraries bekijken in de dependencies van het pakket op RubyGems. U kunt ook aanvullende instrumentaties voor frameworks en libraries vinden in het OpenTelemetry-register.

Configureer OpenTelemetry in uw applicatie

Voeg dit bestand appsignal.rb toe aan uw applicatie met de OpenTelemetry-exporter en AppSignal-configuratie. Vereis dit bestand vervolgens in uw applicatie. Voeg het voor Rails-applicaties toe aan een Rails-initializer, zoals config/initializers/appsignal.rb. Zorg ervoor dat u de onderstaande waarden bijwerkt met de naam, omgeving en push API-sleutel van uw AppSignal-applicatie, en vervang het exporter-endpoint zo nodig door het adres van uw AppSignal collector.
require "socket"
require "opentelemetry/sdk"
require "opentelemetry/instrumentation/all"
require "opentelemetry-exporter-otlp"

# Vervang deze waarden door de naam, omgeving en push API-sleutel van uw
# AppSignal-applicatie. Deze worden gebruikt door de onderstaande resource-attributenconfiguratie.
name = "My app"
push_api_key = "0000-0000-0000-0000"

environment = defined?(Rails) ? Rails.env.to_s : "development"

# Stel de naam in van de service die wordt gemonitord. Een veelgebruikte keuze is de
# naam van het gebruikte framework. Deze wordt gebruikt om traces en metrieken in AppSignal te groeperen.
service_name = "My service name"

# Vervang `http://localhost:8099` door het adres van uw AppSignal collector
# als deze op een andere host draait.
endpoint = "http://localhost:8099/v1/traces"

revision = `git rev-parse --short HEAD`.strip

OpenTelemetry::SDK.configure do |c|
  c.resource = OpenTelemetry::SDK::Resources::Resource.create(
    "appsignal.config.name" => name,
    "appsignal.config.environment" => environment,
    "appsignal.config.push_api_key" => push_api_key,
    "appsignal.config.revision" => revision,
    "appsignal.config.language_integration" => "ruby",
    "appsignal.config.app_path" => Dir.pwd,
    "host.name" => Socket.gethostname,
  )
  c.service_name = service_name

  c.add_span_processor(
    OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
      OpenTelemetry::Exporter::OTLP::Exporter.new(
        :endpoint => endpoint,
        :compression => "none"
      )
    )
  )

  c.use_all
end

Test de app!

Nu alle componenten zijn verbonden, start u uw app en test u of er gegevens binnenkomen in AppSignal. Controleer specifiek de pagina’s “Errors > Issue list” en “Performance > Traces”. Als u na het volgen van onze installatie-instructies nog steeds geen gegevens ziet in AppSignal, laat het ons weten en wij helpen u uw OpenTelemetry-installatie te voltooien!