Pular para o conteúdo principal

O problema

Ao executar vários aplicativos em um host, podem ocorrer comportamentos estranhos. Um problema comum que observamos é que os aplicativos começam a reportar sob nomes e/ou ambientes diferentes. Por exemplo, um aplicativo alternando entre o ambiente staging e production após um deploy ou reinicialização de um processo ou worker do aplicativo.

Contexto

O agente do AppSignal inicia usando uma configuração de aplicativo. Ele usa essa configuração para enviar os dados aos servidores do AppSignal e reportá-los como aquele app no AppSignal.com. Por padrão, o AppSignal é configurado supondo que um aplicativo é executado em um host. Se você executar mais de um aplicativo em um host, será necessária alguma configuração para evitar o compartilhamento do diretório de trabalho do AppSignal entre vários aplicativos. Dessa forma, vários agentes do AppSignal podem ser executados simultaneamente com configurações de aplicativo diferentes.
Leia mais sobre o working directory do AppSignal.

Configuração

Para permitir que o AppSignal seja usado para vários aplicativos em um host, precisamos definir a opção de configuração “caminho do diretório de trabalho”. Usando essa opção de configuração, precisamos definir um caminho único de diretório de trabalho por aplicativo para o AppSignal armazenar seus arquivos (temporários). Dessa forma, o agente do AppSignal não compartilhará o diretório de trabalho entre vários aplicativos.

Ruby

Para definir o caminho do diretório de trabalho na integração Ruby, adicione o seguinte ao arquivo de configuração do AppSignal. O valor de working_directory_path é um caminho para um diretório existente no sistema host.
Appsignal.configure do |config|
  config.working_directory_path = "/tmp/project_1/"
end

Leia mais

Elixir

Para definir o caminho do diretório de trabalho na integração Elixir, adicione o seguinte ao arquivo de configuração do AppSignal. O valor de working_directory_path é um caminho para um diretório existente no sistema host.
config :appsignal, :config,
  working_directory_path: "/tmp/project_1/"

Leia mais

Node.js

Para definir o caminho do diretório de trabalho na integração Node.js, adicione o seguinte ao arquivo de configuração do AppSignal. O valor de workingDirectoryPath é um caminho para um diretório existente no sistema host.
const { Appsignal } = require("@appsignal/nodejs");

const appsignal = new Appsignal({
  // Outras configurações
  workingDirectoryPath: "/tmp/project_1",
});

module.exports = { appsignal };

Leia mais

Python

Para a integração Python, duas opções de configuração precisam ser alteradas. A primeira é a opção de configuração working_directory_path, e a outra é a opção de configuração opentelemetry_port. Para definir essas opções de configuração na integração Python, adicione o seguinte ao arquivo de configuração do AppSignal. O valor de opentelemetry_port é um número de porta disponível e o valor de working_directory_path é um caminho para um diretório existente no sistema host. Esses valores devem ser exclusivos por app.
from appsignal import Appsignal

appsignal = Appsignal(
  # Outras configurações
  opentelemetry_port: 9001,
  working_directory_path: "/tmp/project_1"
)

Leia mais

JavaScript de front-end

Nenhum diretório de trabalho pode ser configurado para aplicativos JavaScript de front-end, pois eles não dependem do processo do agente do AppSignal. Se os dados forem reportados para o aplicativo errado, certifique-se de que o aplicativo está usando a Push API key correta.

Veja também