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çãolog_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:
Um arquivo de configuração no qual a integração do AppSignal lê a configuração do AppSignal. - Configuração por variáveis de ambiente do sistema:
As variáveis de ambiente são definidas no sistema host (servidor) no processo pai que inicia o seu aplicativo.
Observação: Este método não está disponível para JavaScript de front-end.
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. Opções de configuração para:Ruby
Ao usar a gem da integração Ruby, ela criará oconfig/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.
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).
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:
Leia mais:
- Tópico de configuração da integração Ruby
- Detalhes da ordem de carregamento da configuração da integração Ruby
Elixir
Após a instalação, a integração Elixir cria um arquivoconfig/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:
config/.
No exemplo abaixo, a opção log_level foi adicionada na linha 3 do ambiente de desenvolvimento (ou “dev”):
Leia mais
- Tópico de configuração da integração Elixir
- Detalhes da ordem de carregamento da configuração da integração Elixir
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 arquivoappsignal.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.
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.
- Na linha 4 - só ativamos a integração do AppSignal se o ambiente for production.
- Na linha 8 - como no exemplo de código anterior, definimos
logLevelcomodebug.
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:
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.
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.
Leia mais:
- Tópico de configuração da integração Python
- Detalhes da ordem de carregamento da configuração da integração Python
JavaScript de front-end
Para configurar o AppSignal para JavaScript de front-end, recomendamos criar um arquivoappsignal.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 no topo do arquivo principal do seu aplicativo, como no exemplo abaixo:
Leia mais
Configuração por variáveis de ambiente do sistema
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 comandoexport 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.
~/.profileou~/.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.
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:
Curiosidade: isso também é conhecido como SCREAMING_SNAKE_CASE 🐍
EXAMPLE_OF_A_CONFIG_KEYCuriosidade: isso também é conhecido como SCREAMING_SNAKE_CASE 🐍