Pular para o conteúdo principal
Bem-vindo ao nosso Guia de Configuração. Este guia ensinará como adicionar e modificar configurações para a sua integração com o AppSignal.
Leia mais informações sobre a configuração da integração com o AppSignal no seu app em nossa seção de configuração.

Escolha uma opção de configuração

Este guia o guiará pelas etapas necessárias para configurar seu aplicativo da melhor maneira para atender às suas necessidades. Existem, é claro, várias opções de configuração para o seu aplicativo, mas como o método de implementação para todas as opções é idêntico, neste guia, vamos focar nas seguintes configurações: Usaremos a opção log_level como exemplo para aplicativos Ruby, Elixir, Node.js e Python. Usaremos a opção namespace como exemplo para aplicativos JavaScript de front-end.

Métodos de configuração

Existem várias maneiras de configurar sua integração com o AppSignal, e as integrações podem variar dependendo da linguagem do seu aplicativo, mas todas têm os seguintes métodos de configuração:

Configuração baseada em arquivo

A configuração baseada em arquivo é a maneira mais fácil de configurar a sua integração. Algumas integrações criam um arquivo de configuração durante a instalação do AppSignal no app. Nesses arquivos de configuração, você pode configurar de forma única um ou vários ambientes de aplicativo.
Certifique-se de usar o valor “Config file key” da tabela de opções de configuração como a chave de configuração. Esta chave é uma string em snake_case (Ruby, Elixir, Python) ou camelCase (Node, JavaScript de front-end).
Opções de configuração para:
Certifique-se de não fazer check-in de valores de configuração sensíveis, como a Push API key, em um sistema de controle de versão como o Git, a menos que estejam criptografados.

Ruby

Ao usar a gem da integração Ruby, ela criará o config/appsignal.yml na pasta raiz do seu aplicativo, com configurações básicas após a instalação. Se o seu aplicativo reportar dados ao AppSignal sem um arquivo appsignal.yml, é mais provável que ele esteja usando variáveis de ambiente do sistema.
O arquivo config/appsignal.yml é um arquivo YAML (Yet Another Markup Language). e é interpretado como um template ERB (Embeded Ruby). Consulte a documentação Ruby Configuration para mais detalhes sobre como funciona a configuração YAML.
No exemplo de arquivo de configuração abaixo, dois ambientes são definidos, development e production - cada um tem opções de configuração específicas do ambiente aninhadas neles. Tudo o que é definido e aninhado em default se aplica a todos os ambientes, desde que o default esteja incluído no mapeamento do ambiente. Queremos definir o log_level como debug exclusivamente no nosso ambiente development; para isso, adicionamos log_level: "debug" na configuração do ambiente development (linha 10).
# Exemplo: config/appsignal.yml
default: &defaults # Opções de configuração compartilhadas para todos os ambientes
  active: true
  name: "My awesome app"
  push_api_key: "<YOUR PUSH API KEY>"

development: # Ambiente de desenvolvimento
  <<: *defaults
  log_level: "debug" # Isso habilita o modo debug apenas para o ambiente de desenvolvimento

production: # Ambiente de produção
  <<: *defaults
Lembre-se, tudo o que está aninhado em default é aplicado a todos os ambientes, então, para definir o log_level como debug em todos os ambientes, podemos, em vez disso, aninhar a configuração em default, como feito na linha 6 do exemplo de código abaixo:
# Exemplo: config/appsignal.yml
default: &defaults
  active: true
  name: "My awesome app"
  push_api_key: "<YOUR PUSH API KEY>"
  log_level: "debug" # Isso habilita o modo debug para todos os ambientes
  # Outra configuração do AppSignal...

development: # Ambiente de desenvolvimento
  <<: *defaults
  # Outra configuração do AppSignal...

production: # Ambiente de produção
  <<: *defaults
  # Outra configuração do AppSignal...
Ótimo, agora você aprendeu como configurar o AppSignal no seu aplicativo Ruby!

Leia mais:

Elixir

Após a instalação, a integração Elixir cria um arquivo config/appsignal.exs (localização padrão) com configurações básicas. Se este arquivo não estiver presente, mas o seu aplicativo reportar dados ao AppSignal, verifique qualquer um dos outros arquivos .exs no diretório config/ do seu app Elixir. Se nenhuma configuração do AppSignal estiver presente em nenhum dos arquivos, é provável que o seu aplicativo esteja usando variáveis de ambiente do sistema como método de configuração. Para adicionar uma opção de configuração e fazer com que ela se aplique a todos os ambientes do seu aplicativo, adicione a opção de configuração ao arquivo config/appsignal.exs, como na linha 7 do exemplo abaixo:
# Exemplo: config/config.exs
config :appsignal, :config,
  active: true,
  name: "My awesome app",
  push_api_key: "<YOUR PUSH API KEY>",
  env: Mix.env,
  log_level: "debug" # Isso define o log_level como debug para todos os ambientes
Para aplicar a opção de configuração apenas a um único ambiente, adicione a configuração do AppSignal ao arquivo de configuração do ambiente, localizado no diretório config/. No exemplo abaixo, a opção log_level foi adicionada na linha 3 do ambiente de desenvolvimento (ou “dev”):
# Exemplo: config/dev.exs
config :appsignal, :config,
  log_level: "debug" # Isso define o log_level como debug apenas para o ambiente "dev"
Ótimo, agora você aprendeu como configurar o AppSignal no seu aplicativo Elixir!

Leia mais

Node.js

Após a instalação, você precisa criar um arquivo de configuração do AppSignal para configurar seu aplicativo. Se nenhum arquivo com a configuração do AppSignal estiver presente, é mais provável que ele esteja usando variáveis de ambiente do sistema como método de configuração. Para configurar o AppSignal para apps Node.js, recomendamos criar um arquivo appsignal.js com a configuração do AppSignal no diretório raiz ou src do seu aplicativo. Em seguida, faça require/import dele a partir do código do app antes de qualquer outro pacote ser requisitado ou importado. No exemplo abaixo, há um arquivo appsignal.js na raiz do diretório do app. Neste arquivo, adicionaremos a opção de configuração logLevel.
// appsignal.js
const { Appsignal } = require("@appsignal/nodejs");

const appsignal = new Appsignal({
  active: true,
  name: "<YOUR APPLICATION NAME>",
  pushApiKey: "<YOUR API KEY>",
  logLevel: "debug", // Define logLevel como debug para o ambiente Node.js
});

module.exports = { appsignal };
A configuração no exemplo acima se aplica ao ambiente em que o Node.js está sendo executado (NODE_ENV, padrão “development”). No Node.js, existem muitas maneiras de criar configurações específicas de ambiente para o AppSignal. Se você não tiver certeza de como fazer isso dentro do seu próprio aplicativo, um método que recomendamos é usar condicionais no seu appsignal.js, como no exemplo abaixo, em que especificamos debug para o ambiente de produção.
  1. Na linha 4 - só ativamos a integração do AppSignal se o ambiente for production.
  2. Na linha 8 - como no exemplo de código anterior, definimos logLevel como debug.
// appsignal.js

const appsignal = new Appsignal({
  active: process.env.NODE_ENV === "production"
  name: "<YOUR APPLICATION NAME>",
  pushApiKey: "<YOUR API KEY>",
  logLevel: "debug" // Define logLevel como debug para o ambiente Node.js
});
Quando a configuração estiver concluída, você precisa requerer appsignal.js no topo do arquivo principal do seu app. O nome do arquivo principal do seu aplicativo pode variar dependendo de como ele está estruturado. É o arquivo que você usa para iniciar seu aplicativo Node e geralmente se chama index.js ou app.js. Certifique-se de que o AppSignal seja requerido no topo do arquivo, como no exemplo abaixo:
// index.js
// Coloque isto no topo
const { appsignal } = require("./appsignal"); // Atualize para o local usado na etapa anterior

// Coloque o código do seu app abaixo disto
Ótimo, agora você aprendeu como configurar o AppSignal no seu aplicativo Node.js!

Leia mais

Python

Ao usar o instalador da integração Python, ele criará o __appsignal__.py na pasta raiz do seu aplicativo, com configurações básicas. Seu aplicativo também pode ser configurado usando variáveis de ambiente do sistema. Para adicionar uma opção de configuração e fazer com que ela se aplique ao ambiente de desenvolvimento do seu aplicativo, adicione a opção de configuração ao arquivo __appsignal__.py, como no exemplo abaixo.
# __appsignal__.py
from appsignal import Appsignal

appsignal = Appsignal(
    active=True,
    name="My awesome app",
    push_api_key="<YOUR PUSH API KEY>",
    environment="development",
    log_level="debug",
)
Para configurar o AppSignal para Python para outro ambiente, ou aplicar a configuração a todos os ambientes, configure a opção environment da mesma forma que seu app determina seu ambiente (development/staging/production). Isso pode ser feito usando uma variável de ambiente do sistema ou algum outro método específico do aplicativo. No exemplo abaixo, usaremos uma variável de ambiente do sistema MY_APP_ENV para definir o ambiente do app e ativar somente para o ambiente production.
# __appsignal__.py
import os
from appsignal import Appsignal

app_env = os.environ.get("MY_APP_ENV")

appsignal = Appsignal(
    active=app_env == "production",
    name="My awesome app",
    push_api_key="<YOUR PUSH API KEY>",
    environment=app_env,
)
Se quiser que algumas opções de configuração se apliquem apenas a determinados ambientes, crie condicionais que atendam às suas necessidades.
# __appsignal__.py
import os
from appsignal import Appsignal

app_env = os.environ.get("MY_APP_ENV")

options = {
    "active": app_env == "development",
    "name": "python/django4-celery",
    "environment": app_env,
}
if app_env == "development":
    options["log_level"] = "debug"

appsignal = Appsignal(**options)
Ótimo, agora você aprendeu como configurar o AppSignal no seu aplicativo Python!

Leia mais:

JavaScript de front-end

Para configurar o AppSignal para JavaScript de front-end, recomendamos criar um arquivo appsignal.js com a configuração do AppSignal no diretório raiz ou src do seu projeto. Em seguida, faça require ou import dele a partir do código do app antes de qualquer outro pacote ser requisitado ou importado. No exemplo abaixo, há um arquivo appsignal.js na raiz do diretório do aplicativo. Na linha 8, adicionamos a opção de configuração namespace.
// appsignal.js
import Appsignal from "@appsignal/javascript"; // Para Módulo ES
const Appsignal = require("@appsignal/javascript").default; // Para módulo CommonJS

const appsignal = new Appsignal({
  key: "<YOUR FRONTEND API KEY>",
  namespace: "frontend", // Configura o namespace do AppSignal para erros de front-end neste app
});

module.exports = { appsignal };
Depois de concluir a configuração do seu aplicativo, você precisa requerer appsignal.js no topo do arquivo principal do seu aplicativo, como no exemplo abaixo:
// index.js
// Coloque isto no topo
const { appsignal } = require("./appsignal"); // Atualize para o local usado na etapa anterior

// Coloque o código do seu app abaixo disto
E é isso - você está pronto! Siga estas etapas simples para todas as modificações futuras de opções de configuração.

Leia mais

Configuração por variáveis de ambiente do sistema

Este método de configuração não está disponível para JavaScript de front-end.
Variáveis de ambiente do sistema, ou “variáveis de ambiente” para abreviar, são variáveis acessíveis aos processos e herdadas do processo pai que os inicia. Em vez de usar um arquivo de configuração para configuração, é possível configurar o AppSignal usando apenas variáveis de ambiente. Também é possível armazenar chaves de configuração que contêm dados sensíveis, como a Push API key, em uma variável de ambiente e usar arquivos de configuração para o restante da configuração. Este método de configuração é compatível com aplicativos Ruby, Elixir e Node.js. Antes de passar para o exemplo a seguir de definir variáveis de ambiente por meio de um shell, vamos explicar como as variáveis de ambiente funcionam em relação a shells e processos. As variáveis de ambiente podem pertencer a um processo, como um shell ou seu aplicativo. O comando export FOO=BAR, por exemplo, definiria a variável de ambiente FOO do seu shell como igual a BAR. As variáveis de ambiente são herdadas entre processos, portanto, quando esse shell inicia um novo processo, esse processo também terá qualquer uma das variáveis de ambiente do shell. Quando você inicia um processo no shell (por exemplo, npm start), você também pode fornecer mais variáveis de ambiente apenas para aquele processo, atribuindo as variáveis assim: FOO=BAR npm start Por conveniência, você pode querer configurar seu shell para definir certas variáveis de ambiente quando ele iniciar, para que quaisquer processos iniciados a partir desse shell herdem essas variáveis de ambiente. Se estiver usando o shell bash, os comandos no arquivo .bash_profile no seu diretório home são executados quando o shell é iniciado. Se estiver usando o zsh, que é o shell padrão no macOS, o arquivo .zshenv seria usado em vez disso para configurar variáveis de ambiente. No arquivo de exemplo abaixo, exportamos as variáveis de ambiente que configuram a push API key e o nível de log do AppSignal, para que, quando um novo shell for iniciado, as variáveis de ambiente corretas sejam acessíveis ao seu aplicativo, permitindo que ele se comunique com o AppSignal. As opções de configuração definidas por variáveis de ambiente se aplicam a todos os ambientes do aplicativo; no entanto, algumas opções de configuração são específicas da linguagem. Por exemplo, a opção de configuração instrument_sequel só existe na integração Ruby, porque Sequel é uma gem Ruby e, portanto, definir a variável de ambiente APPSIGNAL_INSTRUMENT_SEQUEL não tem efeito para outras integrações.
# Exemplo de shell Bash
export APPSIGNAL_PUSH_API_KEY=<YOUR PUSH API KEY>
export APPSIGNAL_LOG_LEVEL=debug # Define o log_level como debug para todos os ambientes.
Existem vários locais possíveis para arquivos com configuração de variáveis de ambiente. Escolha a melhor opção que se adapta ao seu aplicativo e certifique-se de recarregar seu terminal shell após fazer alterações para garantir que ele tenha acesso às suas variáveis atualizadas.
  • ~/.profile ou ~/.bash_profile - Configurações específicas do usuário. Use este local para configurar variáveis de ambiente por usuário.
  • /etc/profile - Configurações de todo o sistema. Se vários usuários ou apps usarem a mesma máquina host, não use este local.
Provedores de hospedagem Platform As A Service (PaaS), como o Heroku, não fornecem um sistema para configurar diretamente variáveis de ambiente no shell. Você pode, em vez disso, usar a interface web ou CLI deles para configurar essas variáveis de ambiente.
Ao usar configuração baseada em variáveis de ambiente do sistema, certifique-se de usar o valor “System environment key” da tabela de opções de configuração como a chave de configuração. Esta chave está sempre em snake case maiúsculo*, assim: EXAMPLE_OF_A_CONFIG_KEY
Curiosidade: isso também é conhecido como SCREAMING_SNAKE_CASE 🐍

Concluindo a configuração

Depois de alterar a configuração do AppSignal, seu aplicativo precisa ser reiniciado ou ter um deploy feito para que as alterações de configuração sejam detectadas pelo AppSignal. As alterações de configuração não estão sendo detectadas? Entre em contato e nós o ajudaremos! Para nos ajudar a depurar seu problema mais rapidamente, recomendamos enviar um relatório de diagnóstico do host do seu aplicativo.

Leitura adicional

Leia mais sobre configuração em nossa documentação de Application Configuration.