Das Problem
Wenn mehrere Anwendungen auf einem Host ausgeführt werden, kann ein merkwürdiges Verhalten auftreten. Ein häufiges Problem, das wir gesehen haben, ist, dass Anwendungen beginnen, unter unterschiedlichen Namen und/oder Umgebungen zu melden. Etwa eine Anwendung, die nach einem Deployment oder Neustart eines Anwendungsprozesses oder Workers zwischen Staging- und Produktionsumgebung wechselt.Hintergrund
Der AppSignal-Agent startet mit einer Anwendungskonfiguration. Er verwendet diese Konfiguration, um die Daten an die AppSignal-Server zu senden und als diese App auf AppSignal.com zu melden. Standardmäßig ist AppSignal so konfiguriert, dass es davon ausgeht, dass eine Anwendung auf einem Host läuft. Wenn Sie mehr als eine Anwendung auf einem Host ausführen, ist eine gewisse Konfiguration erforderlich, um zu vermeiden, dass das AppSignal-Arbeitsverzeichnis zwischen mehreren Anwendungen geteilt wird. Auf diese Weise können mehrere AppSignal-Agenten gleichzeitig mit unterschiedlicher Anwendungskonfiguration laufen.Konfiguration
Damit AppSignal für mehrere Anwendungen auf einem Host verwendet werden kann, müssen wir die Konfigurationsoption “Arbeitsverzeichnis-Pfad” setzen. Mit dieser Konfigurationsoption müssen wir pro Anwendung einen eindeutigen Arbeitsverzeichnis-Pfad festlegen, in dem AppSignal seine (temporären) Dateien speichert. Auf diese Weise teilt der AppSignal-Agent das Arbeitsverzeichnis nicht zwischen mehreren Anwendungen.Ruby
Um den Arbeitsverzeichnis-Pfad in der Ruby-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Derworking_directory_path-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System.
Mehr lesen
Elixir
Um den Arbeitsverzeichnis-Pfad in der Elixir-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Derworking_directory_path-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System.
Mehr lesen
Node.js
Um den Arbeitsverzeichnis-Pfad in der Node.js-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. DerworkingDirectoryPath-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System.
Mehr lesen
Python
Für die Python-Integration müssen zwei Konfigurationsoptionen geändert werden. Die erste ist die Konfigurationsoptionworking_directory_path und die andere die Konfigurationsoption opentelemetry_port.
Um diese Konfigurationsoptionen in der Python-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Der opentelemetry_port-Wert ist die Nummer eines verfügbaren Ports und der working_directory_path-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System. Diese Werte sollten pro App eindeutig sein.
Mehr lesen
- Details zur Python-Integrations-Konfigurationsoption
opentelemetry_port - Details zur Python-Integrations-Konfigurationsoption
working_directory_path