> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenTelemetry-Installation für Ruby

Stellen Sie sicher, dass Sie [den AppSignal Collector installieren](/opentelemetry/installation), bevor Sie mit diesen Anweisungen fortfahren.

## Die OpenTelemetry-Gems installieren

Verwenden Sie Bundler, um das OpenTelemetry-SDK, den OTLP-Exporter und die Instrumentierungspakete zum Gemfile Ihrer Anwendung hinzuzufügen:

<CodeGroup>
  ```sh Shell theme={null}
  bundle add opentelemetry-sdk opentelemetry-exporter-otlp opentelemetry-instrumentation-all
  ```
</CodeGroup>

Das Paket `opentelemetry-instrumentation-all` installiert Instrumentierungen für die meisten Frameworks und Bibliotheken. Sie können sich [eine Liste der instrumentierten Frameworks und Bibliotheken in den Abhängigkeiten des Pakets auf RubyGems](https://rubygems.org/gems/opentelemetry-instrumentation-all/versions/0.74.0) ansehen. Sie können auch [zusätzliche Instrumentierungen für Frameworks und Bibliotheken im OpenTelemetry Registry finden](https://opentelemetry.io/ecosystem/registry/?s=\&component=instrumentation\&language=ruby\&flag=all).

## OpenTelemetry in Ihrer Anwendung konfigurieren

Fügen Sie diese Datei `appsignal.rb` mit der OpenTelemetry-Exporter- und AppSignal-Konfiguration zu Ihrer Anwendung hinzu. Binden Sie diese Datei dann in Ihrer Anwendung mit `require` ein.

Für Rails-Anwendungen fügen Sie sie einem Rails-Initialisierer wie `config/initializers/appsignal.rb` hinzu.

Stellen Sie sicher, dass Sie die folgenden Werte mit Ihrem AppSignal-Anwendungsnamen, der Umgebung und dem Push API-Schlüssel aktualisieren und den Exporter-Endpunkt durch die Adresse Ihres AppSignal Collectors ersetzen, falls erforderlich.

<CodeGroup>
  ```ruby Ruby theme={null}
  require "socket"
  require "opentelemetry/sdk"
  require "opentelemetry/instrumentation/all"
  require "opentelemetry-exporter-otlp"

  # Replace these values with your AppSignal application name, environment
  # and push API key. These are used by the resource attributes configuration below.
  name = "My app"
  push_api_key = "0000-0000-0000-0000"

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

  # Set the name of the service that is being monitored. A common choice is the
  # name of the framework used. This is used to group traces and metrics in AppSignal.
  service_name = "My service name"

  # Replace `http://localhost:8099` with the address of your AppSignal collector
  # if it's running on another host.
  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
  ```
</CodeGroup>

## Die App testen!

Nachdem nun alle Komponenten verbunden sind, starten Sie Ihre App und testen Sie, ob Daten in AppSignal eintreffen. Überprüfen Sie insbesondere die Seiten [„Errors > Issue list"](https://appsignal.com/redirect-to/app?to=exceptions) und [„Performance > Traces"](https://appsignal.com/redirect-to/app?to=performance/traces).

Wenn Sie nach dem Befolgen unserer Installationsanweisungen immer noch keine Daten in AppSignal sehen, [lassen Sie es uns wissen](mailto:support@appsignal.com?subject=OpenTelemetry%20issue), und wir helfen Ihnen, Ihre OpenTelemetry-Installation abzuschließen!
