> ## 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.

# Configuração do Collector para AppSignal Ruby

Esta documentação explica como configurar o AppSignal para Ruby para usar o [AppSignal Collector](/collector) para enviar dados ao AppSignal. Esta documentação assume que você já seguiu [as instruções de instalação](/ruby/installation).

**Este é um recurso experimental.** O [Distributed tracing](/distributed-tracing) **só está disponível** ao usar o collector hospedado pelo AppSignal.

## Requisitos

O modo collector é distribuído em uma versão pré-lançamento da gem `appsignal`.

O modo collector requer **Ruby 3.1 ou mais recente**. Em versões mais antigas do Ruby, a opção `collector_endpoint` é ignorada.

O modo collector não é compatível com **JRuby**. Isso depende de como o Ruby lida com forking, algo que o JRuby faz de forma diferente.

## Instalando as gems do OpenTelemetry

O modo collector envia dados usando o OpenTelemetry. A gem `appsignal` não instala as gems do OpenTelemetry, então adicione `appsignal-opentelemetry` ao lado da linha `gem "appsignal"` já existente no seu `Gemfile`:

<CodeGroup>
  ```ruby title="Gemfile" theme={null}
  gem "appsignal", ">= 5.0.0.rc1", "< 6"
  gem "appsignal-opentelemetry", ">= 5.0.0.rc1", "< 6"
  ```
</CodeGroup>

Em seguida, execute `bundle install`.

A gem `appsignal-opentelemetry` não faz nada por conta própria. Ela apenas instala as versões das gems do OpenTelemetry compatíveis com o modo collector, para que você não precise controlá-las você mesmo. Sua versão corresponde à da gem `appsignal`, então `appsignal-opentelemetry` 5.0.0 combina com `appsignal` 5.0.0.

Se essas gems estiverem ausentes ou suas versões não forem compatíveis, o AppSignal registra um aviso na inicialização e não entra no modo collector.

## Implantando um collector

Você também pode fazer com que o AppSignal hospede um collector para você usando a página ["Hosted Collector"](https://appsignal.com/redirect-to/organization?to=admin/hosted_collectors) nas configurações da sua organização.

## Configurando o collector

Defina [a opção de configuração `collector_endpoint`](/ruby/configuration/options#option-collector_endpoint) para o endereço do seu collector. Ao usar um collector hospedado, esse endereço pode ser encontrado em "Collector URL" na página de configurações "Hosted Collector".

Defina também [a opção `service_name`](/ruby/configuration/options#option-service_name). Ela nomeia essa aplicação entre os serviços que reportam ao seu collector, para que um trace que passe por vários deles mostre qual serviço fez o quê.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    # ... other settings ...
    config.collector_endpoint = "https://collector.example"
    config.service_name = "web-server"
  end
  ```

  ```sh title="Environment variables" theme={null}
  APPSIGNAL_COLLECTOR_ENDPOINT="https://collector.example"
  APPSIGNAL_SERVICE_NAME="web-server"
  ```
</CodeGroup>

O AppSignal para Ruby agora envia seus traces, métricas e logs ao collector configurado.

O AppSignal constrói seus traces a partir de spans do OpenTelemetry ao reportar para um collector. Leia [AppSignal para Ruby e OpenTelemetry](/ruby/instrumentation/opentelemetry) para saber como descrever esses spans você mesmo, e como o AppSignal funciona junto com a instrumentação que você escreve com o SDK do OpenTelemetry.
