Skip to main content
Ao implantar aplicações ou funções no Vercel, você pode enviar dados de telemetria ao AppSignal de duas maneiras:
  1. Usando o traces drain do Vercel. Além de encaminhar os dados coletados pelo pacote de instrumentação OpenTelemetry do Vercel, isso também fornecerá visibilidade da infraestrutura do Vercel, como Vercel functions e edge network.
  2. Usando o pacote de instrumentação OpenTelemetry do Vercel.
Certifique-se de ter uma URL de hosted collector antes de prosseguir com estas instruções.

Usando o traces drain

Para encaminhar traces do Vercel ao AppSignal usando o traces drain, você precisa configurar um traces drain nas configurações do seu projeto Vercel. Também é recomendado instalar o pacote de instrumentação OpenTelemetry do Vercel na sua aplicação para capturar dados de telemetria da sua aplicação. Usar o traces drain do Vercel requer um plano do Vercel no qual os drains estejam disponíveis. Veja a documentação dos drains do Vercel para mais informações sobre os planos e preços disponíveis.

Configure um traces drain

No dashboard do Vercel, navegue até seu projeto e vá para a seção Settings > Drains. Clique em Add Drain e selecione Traces como o tipo de drain. Captura de tela da etapa "Add Drain" na UI do Vercel Quando for perguntado quais projetos devem enviar dados usando este drain, certifique-se de selecionar apenas este projeto. Captura de tela da etapa "Configure drain" na UI do Vercel Em Configure the destination, selecione o endpoint Custom e insira a URL do endpoint OTLP do seu collector AppSignal, adicionando /v1/traces no final:
https://your-appsignal-collector-host.com/v1/traces
No dropdown Encoding, selecione Protobuf. Habilite Custom Headers e adicione os seguintes headers para autenticar com o AppSignal, substituindo os valores de placeholder pelas informações da sua aplicação como mostradas no AppSignal. Sua Push API key pode ser encontrada em App settings.
AppSignal-Config-Name: <your-app-name>
AppSignal-Config-Environment: <your-app-environment>
AppSignal-Config-PushApiKey: <your-appsignal-push-api-key>
AppSignal-Config-Revision: vercel
AppSignal-Config-LanguageIntegration: nodejs
OpenTelemetry-HostName: vercel
Pressionar Test enviará um trace de teste ao AppSignal e salvará o drain em caso de sucesso.

Instale e configure o pacote de instrumentação

Use o npm para adicionar o pacote de instrumentação OpenTelemetry do Vercel e a OpenTelemetry API às dependências da sua aplicação:
npm install @opentelemetry/api @vercel/otel
Se você estiver usando Next.js, adicione o arquivo instrumentation.ts à sua aplicação. Ele deve ser colocado no diretório raiz do projeto (ou dentro da pasta src se houver uma). Se você estiver usando outros frameworks ou Vercel functions, certifique-se de que esse código seja carregado no início do processo de execução para capturar corretamente os dados do OpenTelemetry.
import { registerOTel } from "@vercel/otel";

export function register() {
  registerOTel({
    serviceName: "My service",
  });
}
Atualize o nome do serviço para um nome reconhecível para sua aplicação.

Usando o pacote de instrumentação

Para enviar dados de telemetria ao AppSignal usando o pacote de instrumentação OpenTelemetry do Vercel, você precisa instalar e configurar o pacote na sua aplicação.

Instale os pacotes do OpenTelemetry

Use o npm para adicionar o pacote de instrumentação OpenTelemetry do Vercel, o SDK do OpenTelemetry e o exportador OTLP às dependências da sua aplicação:
npm install @opentelemetry/api \
  @opentelemetry/sdk-metrics \
  @opentelemetry/exporter-trace-otlp-proto \
  @opentelemetry/exporter-metrics-otlp-proto \
  @vercel/otel

Configure o OpenTelemetry na sua aplicação

Se você estiver usando Next.js, adicione o arquivo instrumentation.ts à sua aplicação. Ele deve ser colocado no diretório raiz do projeto (ou dentro da pasta src se houver uma). Se você estiver usando outros frameworks ou Vercel functions, certifique-se de que esse código seja carregado no início do processo de execução para capturar corretamente os dados do OpenTelemetry.
import { registerOTel } from "@vercel/otel";
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-proto";
import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";

const collectorHost = "https://your-appsignal-collector-host.com";

export function register() {
  registerOTel({
    serviceName: "My service",
    traceExporter: new OTLPTraceExporter({
      url: `${collectorHost}/v1/traces`,
    }),
    metricReader: new PeriodicExportingMetricReader({
      exportIntervalMillis: 1000,
      exporter: new OTLPMetricExporter({
        url: `${collectorHost}/v1/metrics`,
      }),
    }),
    attributes: {
      "appsignal.config.name": "My app",
      "appsignal.config.environment": "production",
      "appsignal.config.revision": "1",
      "appsignal.config.language_integration": "nodejs",
      "appsignal.config.push_api_key": "0000-0000-0000-0000",
      "host.name": "vercel",
    },
  });
}

Teste a integração

Depois de concluir uma das opções de integração acima, implante sua aplicação no Vercel (ou execute um deploy de preview) e teste se você vê os dados chegando no AppSignal. Verifique especificamente as páginas “Errors > Issue list” e “Performance > Traces”. Se depois de seguir nossas instruções de instalação você ainda não estiver vendo dados no AppSignal, avise-nos e ajudaremos você a finalizar sua instalação do OpenTelemetry!