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

# Instalação genérica do OpenTelemetry

Certifique-se de [instalar o AppSignal collector](/opentelemetry/installation) antes de prosseguir com estas instruções.

## Configure o SDK do OpenTelemetry

Siga as instruções na [documentação do OpenTelemetry](https://opentelemetry.io/docs/) para configurar o SDK para a sua linguagem.

Você deve configurar o SDK do OpenTelemetry para exportar os dados ao AppSignal collector. O AppSignal collector espera receber dados no formato do protocolo OTLP sobre HTTP. Geralmente é necessário instalar um pacote adicional do OpenTelemetry para exportar em um formato específico.

O AppSignal collector atualmente não suporta dados de log, então é recomendado desabilitar o exporter de log para silenciar erros de exportação.

Por padrão, o AppSignal collector escuta na porta `8099`. Os exporters do OpenTelemetry devem ser configurados para enviar dados a estes endpoints do collector:

* Traces: `http://localhost:8099/v1/traces`
* Métricas: `http://localhost:8099/v1/metrics`
* Logs: `http://localhost:8099/v1/logs`

Muitos pacotes de exporter do OpenTelemetry definem automaticamente o caminho de exportação como `/v1/traces` para traces, `/v1/metrics` para métricas e `/v1/logs` para logs, então você só precisaria especificar `localhost:8099` como endpoint. No entanto, para algumas linguagens, pode ser necessário especificar o caminho inteiro.

Se você está rodando o AppSignal collector em um host diferente, substitua `localhost` pelo endereço do seu AppSignal collector.

## Configure o recurso do OpenTelemetry

O AppSignal collector exige que certos atributos estejam presentes no recurso do OpenTelemetry. Configure o recurso do OpenTelemetry com o SDK com os seguintes atributos obrigatórios:

* `appsignal.config.name`: O nome da aplicação no AppSignal.
* `appsignal.config.environment`: O ambiente da aplicação no AppSignal.
* `appsignal.config.push_api_key`: A push API key a ser usada para enviar dados ao AppSignal. Pode ser a mesma Push API key que foi configurada ao instalar o AppSignal collector.
* `appsignal.config.revision`: Cria implantações automaticamente no AppSignal especificando a revisão do app.
* `appsignal.config.language_integration`: Define o nome da linguagem de programação. Isso nos ajuda a reconhecer a linguagem de programação que está sendo usada e a melhorar como nossos servidores interpretam os dados. Exemplos de valores: "python", "rust", "ruby", "elixir", "go", "node.js".
* `service.name`: O nome do serviço. Veja abaixo para mais detalhes.
* `host.name`: O nome do host.

[Veja também nossa página de opções de configuração](/opentelemetry/configuration/options) para uma lista de todas as opções de configuração suportadas.

Se você já tem uma aplicação que usa o mesmo nome e ambiente, reportada por um dos nossos pacotes de integração de linguagem existentes, por favor use outro nome e/ou ambiente.
Os dados reportados pelo AppSignal são exibidos em novos elementos de UI e páginas que não são compatíveis com os dados reportados pelos nossos pacotes de integração.
Recomendamos reportar os dados de OpenTelemetry da aplicação para uma nova aplicação no AppSignal para que a UI não fique tão confusa.

### Escolhendo um nome de serviço

Escolha um nome de serviço para o seu app que torne cada componente ou serviço facilmente reconhecível. Esse nome de serviço será usado para agrupar namespaces por serviço.

Os namespaces resultantes são formatados assim: `<service name>/<namespace>`

Se o nome do serviço for "My service name" e o namespace for "admin", o namespace resultante no AppSignal.com se torna: "My service namespace/admin"

A parte importante na nomeação é que ela faça sentido para você e sua equipe. Um nome de serviço pode ser o nome da aplicação, sua finalidade ou o nome do framework usado.
