Naar hoofdinhoud gaan

Het probleem

Wanneer meerdere applicaties op één host draaien, kan vreemd gedrag optreden. Een veelvoorkomend probleem dat we hebben gezien, is dat applicaties beginnen te rapporteren onder verschillende namen en/of omgevingen. Bijvoorbeeld een applicatie die schakelt tussen de staging- en productie-omgeving na een deploy of herstart van een applicatieproces of worker.

Achtergrond

De AppSignal-agent start met behulp van een applicatieconfiguratie. Hij gebruikt deze configuratie om de gegevens naar de AppSignal-servers te sturen en te rapporteren als die app op AppSignal.com. Standaard is AppSignal geconfigureerd om aan te nemen dat er één applicatie op één host draait. Als u meer dan één applicatie op een host draait, is enige configuratie vereist om te voorkomen dat de AppSignal-werkmap wordt gedeeld tussen meerdere applicaties. Op deze manier kunnen meerdere AppSignal-agents tegelijkertijd draaien met een andere applicatieconfiguratie.
Lees meer over de AppSignal werkmap.

Configuratie

Om AppSignal te kunnen gebruiken voor meerdere applicaties op één host moeten we de configuratieoptie “working directory path” instellen. Met deze configuratieoptie moeten we een uniek werkmappad per applicatie instellen zodat AppSignal zijn (tijdelijke) bestanden kan opslaan. Op deze manier deelt de AppSignal-agent de werkmap niet tussen meerdere applicaties.

Ruby

Om het werkmappad in de Ruby-integratie in te stellen, voegt u het volgende toe aan uw AppSignal-configuratiebestand. De waarde van working_directory_path is een pad naar een bestaande map op uw hostsysteem.
Appsignal.configure do |config|
  config.working_directory_path = "/tmp/project_1/"
end

Meer lezen

Elixir

Om het werkmappad in de Elixir-integratie in te stellen, voegt u het volgende toe aan uw AppSignal-configuratiebestand. De waarde van working_directory_path is een pad naar een bestaande map op uw hostsysteem.
config :appsignal, :config,
  working_directory_path: "/tmp/project_1/"

Meer lezen

Node.js

Om het werkmappad in de Node.js-integratie in te stellen, voegt u het volgende toe aan uw AppSignal-configuratiebestand. De waarde van workingDirectoryPath is een pad naar een bestaande map op uw hostsysteem.
const { Appsignal } = require("@appsignal/nodejs");

const appsignal = new Appsignal({
  // Other config
  workingDirectoryPath: "/tmp/project_1",
});

module.exports = { appsignal };

Meer lezen

Python

Voor de Python-integratie moeten twee configuratieopties worden gewijzigd. De eerste is de working_directory_path configuratieoptie, en de andere de opentelemetry_port configuratieoptie. Om deze configuratieopties in de Python-integratie in te stellen, voegt u het volgende toe aan uw AppSignal-configuratiebestand. De waarde van opentelemetry_port is een nummer van een beschikbare poort en de waarde van working_directory_path is een pad naar een bestaande map op uw hostsysteem. Dit moeten unieke waarden zijn per app.
from appsignal import Appsignal

appsignal = Appsignal(
  # Other config
  opentelemetry_port: 9001,
  working_directory_path: "/tmp/project_1"
)

Meer lezen

Front-end JavaScript

Voor front-end JavaScript-applicaties kan er geen werkmap worden geconfigureerd, omdat deze niet afhankelijk is van het AppSignal-agentproces. Als er gegevens worden gerapporteerd voor de verkeerde applicatie, zorg er dan voor dat de applicatie de juiste Push API-sleutel gebruikt.

Zie ook