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

# Add-on do Heroku

> Configure o AppSignal para seus apps Heroku com o add-on, compartilhe-o entre vários apps e gerencie o provisionamento.

O [add-on do AppSignal para o Heroku](https://elements.heroku.com/addons/appsignal) configura o AppSignal para seu app Heroku sem configuração manual. Quando você o adiciona a um app, o AppSignal cria uma conta, gera uma Push API key e define essa key como a config var `APPSIGNAL_PUSH_API_KEY` do app. Sua integração AppSignal lê a key automaticamente e começa a reportar.

Você pode anexar um add-on a vários apps Heroku para que reportem à mesma conta AppSignal. Isso ajuda quando um projeto abrange vários apps, como um app web e um worker em segundo plano.

<Note>
  O add-on reporta os dados da sua própria aplicação (erros e performance)
  através da sua integração de linguagem. Para também coletar dados da
  plataforma Heroku, como erros de plataforma, métricas de host e dashboards
  automatizados, configure também um [log drain ou telemetry
  drain](/heroku/setup).
</Note>

## Instalar o add-on

Você pode provisionar o add-on pelo dashboard do Heroku ou pela CLI do Heroku. O add-on está listado no Heroku Elements Marketplace como **AppSignal APM**.

Para provisioná-lo pelo dashboard do Heroku:

1. Abra seu app no Heroku e selecione **Configure Add-ons** em **Installed Add-ons** na aba **Overview**. Isso abre a aba **Resources** do app.
2. No campo **Add-on Services**, pesquise por **AppSignal APM** e selecione-o nos resultados.
3. Selecione um plano em **Plan name** e, em seguida, selecione **Submit Order Form**.

O Heroku provisiona o add-on, e **AppSignal APM** aparece na lista de serviços de add-ons na aba **Resources**.

Para provisioná-lo pela CLI do Heroku, execute:

```bash Bash theme={null}
heroku addons:create appsignal:<PLAN> --app <YOUR_APP_NAME>
```

Substitua `<PLAN>` pelo plano desejado e `<YOUR_APP_NAME>` pelo nome do seu app Heroku. Para listar os planos disponíveis, execute `heroku addons:plans appsignal`.

O provisionamento leva alguns segundos. Quando termina, o AppSignal:

* Cria uma conta AppSignal para o app.
* Gera uma Push API key e a define como a config var `APPSIGNAL_PUSH_API_KEY` do app. Você pode vê-la em **Config Vars** na aba **Settings** do app.

Você não precisa definir o nome do app ou a Push API key no código da sua aplicação. O add-on fornece a key através das variáveis configuradas pelo Heroku, e seu app aparece no AppSignal com o nome do app no Heroku.

Após o provisionamento, sua aplicação pode levar alguns minutos para aparecer no AppSignal. Ela aparece assim que o AppSignal recebe os primeiros dados do seu app.

## Abrir o AppSignal a partir do Heroku

Provisionar o add-on cria uma conta AppSignal para o seu app. Para abri-la, selecione o link **AppSignal APM** em **Installed Add-ons** na aba **Overview** do seu app Heroku. O Heroku faz seu login no AppSignal por meio de single sign-on, onde você pode ver os apps que reportam a essa conta, junto com seus erros, performance e métricas.

<Note>
  Seu app pode levar alguns minutos para reportar seus primeiros dados depois
  que você abre o AppSignal. Você não precisa criar o app novamente no
  AppSignal. Aguarde até que ele apareça. Assim que o AppSignal recebe dados, o
  assistente de instalação exibe uma mensagem de sucesso confirmando que o app
  está pronto para uso.
</Note>

À medida que seu app processa requisições, ele reporta dados como throughput, tempos de resposta e erros, que você pode visualizar nos [dashboards](/metrics/dashboards). Para reutilizar o mesmo dashboard em vários apps, importe-o a partir de uma definição JSON: selecione **Add dashboard**, cole o JSON do dashboard e selecione **Create dashboard**.

## Monitorar vários apps com um add-on

Anexe o add-on a outro app Heroku para que ambos os apps reportem à mesma conta AppSignal com a mesma Push API key.

<Note>
  Anexar um add-on existente compartilha uma única Push API key do AppSignal
  entre os apps. Adicionar um add-on AppSignal separado a cada app em vez
  disso criaria uma conta e uma Push API key separadas por app, e os apps não
  ficariam vinculados.
</Note>

Para anexá-lo pelo dashboard do Heroku:

1. Abra o app que tem o add-on e selecione **Configure Add-ons** na sua aba **Overview**. Isso abre a aba **Resources**.
2. Na tabela **Add-on Services**, encontre a linha **AppSignal APM**. Na coluna **Attachments**, abra o menu **Attached as APPSIGNAL** e selecione **Manage attachments**.
3. No painel **Add-on Attachments**, selecione **Attach to another app**, depois digite o nome do app e selecione-o nos resultados.

Para anexá-lo pela CLI do Heroku, execute:

```bash Bash theme={null}
heroku addons:attach <APPSIGNAL_ADDON_NAME> --app <TARGET_APP_NAME>
```

Substitua `<APPSIGNAL_ADDON_NAME>` pelo nome do add-on AppSignal existente e `<TARGET_APP_NAME>` pelo app ao qual você quer anexá-lo.

Os dois apps agora compartilham a mesma config var `APPSIGNAL_PUSH_API_KEY` e reportam à mesma conta AppSignal. Os apps continuam independentes no Heroku. Por exemplo, ambos podem ser apps de produção. Assim como na instalação inicial, o segundo app pode levar alguns minutos para aparecer no AppSignal.

### Como a conta é nomeada

A conta recebe seu nome a partir do primeiro app em que o add-on foi provisionado. Contas criadas pelo add-on funcionam de forma diferente das contas AppSignal comuns, então esse nome não pode ser alterado depois. Provisione o add-on no app cujo nome você quer que a conta use.

## Se o add-on não parecer funcionar

O add-on define sua Push API key como uma config var no Heroku, que sua integração lê como uma variável de ambiente. Se sua aplicação também definir uma Push API key no próprio código, esse valor pode sobrepor o do add-on, fazendo com que seu app reporte a uma conta diferente.

<Note>
  Se o seu app não aparecer na conta do add-on, verifique se sua aplicação
  define uma Push API key do AppSignal no código. No Ruby, por exemplo, isso
  pode estar em um arquivo `appsignal.rb` ou em um bloco
  `Appsignal.configure`. Remova-o para que seu app use a key da config var do
  Heroku.
</Note>

A precedência exata depende da ordem de carregamento da configuração da sua linguagem. Para detalhes, consulte a documentação de ordem de carregamento da sua linguagem, como a [ordem de carregamento do Ruby](/ruby/configuration/load-order).

## Remover o add-on

<Warning>
  Remover o add-on remove seu acesso à conta AppSignal associada e aos seus
  dados. Se você provisionar o add-on novamente, o AppSignal gera uma nova
  Push API key e uma nova conta, e seus dados anteriores não são
  transferidos. Exporte primeiro os dados que você quer manter.
</Warning>

Você não pode excluir o add-on enquanto mais de um app estiver anexado a ele. Se tentar, o Heroku exibe o erro "Resource must be detached from all other apps before deprovisioning." Desanexe os outros apps primeiro e, em seguida, exclua o add-on do app que é o proprietário. O app proprietário é exibido como **Billed to** na coluna **Plan**.

Desanexar um app não exclui o add-on nem seus dados. Isso apenas impede que esse app continue reportando através do add-on compartilhado.

Para removê-lo pelo dashboard do Heroku:

1. Abra um app anexado e selecione **Configure Add-ons** na sua aba **Overview**. Isso abre a aba **Resources**.
2. Na tabela **Add-on Services**, abra o menu de attachments de **AppSignal APM** na coluna **Attachments** e selecione **Manage attachments**.
3. No painel **Add-on Attachments**, selecione o ícone de remover ao lado de cada app, exceto o app proprietário, e confirme cada um com **Remove Attachment**.
4. Na aba **Resources** do app proprietário, abra o menu **Actions** da linha **AppSignal APM** e selecione **Delete Add-on**.
5. Digite o nome do app para confirmar e, em seguida, selecione **Remove add-on**.

Para removê-lo pela CLI do Heroku, desanexe cada attachment e, em seguida, destrua o add-on:

```bash Bash theme={null}
heroku addons:detach <ATTACHMENT_NAME> --app <APP_NAME>
heroku addons:destroy <APPSIGNAL_ADDON_NAME> --app <APP_NAME>
```

Substitua `<ATTACHMENT_NAME>` pelo attachment a remover, `<APP_NAME>` pelo app ao qual ele pertence, e `<APPSIGNAL_ADDON_NAME>` pelo nome do add-on AppSignal.
