AppSignal konfigurieren
Dieser Leitfaden verwendet die Methode der Konfigurationsoptionrevision zum Melden von Deploy-Markern. Über alternative Ansätze hierzu können Sie in unserer [Deploy-Marker]-Dokumentation lesen.
Die Konfigurationsoption revision wird je nach Integrationssprache unterschiedlich konfiguriert. Sehen Sie sich die Liste der Integrationen unten an für diejenige, die Ihre App verwendet.
Beachten Sie, dass AppSignal automatisch ein Deployment meldet bei Verwendung von Plattformen wie Heroku oder Render oder Deployment-Orchestratoren wie Kamal.
Revision automatisch aktualisieren
Wir empfehlen, den Wert der Konfigurationsoptionrevision beim Start oder Deployment dynamisch aus dem für Ihr Projekt verwendeten Versionskontrollsystem (wie Git oder SVN) abzurufen. Auf diese Weise muss der Wert nicht manuell pro Deployment aktualisiert werden. Bei Verwendung eines Git-Commit-Hashs ist er auch kompatibel mit Fehler-Backtrace-Links.
Unten finden Sie ein Beispiel, wie Sie dies mit Git tun würden:
Konfigurationen pro Sprache
Ruby
Für Ruby-Anwendungen laden wir die Git-Revision aus der Konfigurationsdatei. Der Shell-Befehl, den wir in der Konfigurationsoptionrevision ausführen, ist derselbe Befehl, den wir zuvor verwendet haben, um den Hash des aktuellen Commits abzurufen. Wir rufen den Befehl git rev-parse auf und setzen die Ausgabe als Konfigurationsoption revision, wie im Beispiel unten gezeigt:
Verwendung von Ruby-Deploy-Gems
Deployment-Tools wie Capistrano und Hatchbox schließen den Ordner.git von der deployten Anwendung aus. Deshalb kann der Befehl git rev-parse aus dem vorherigen Beispiel die Revision nicht finden. Diese Tools schreiben stattdessen eine REVISION-Datei mit dem SHA des deployten Git-Commits in den Release-Ordner. Ab Ruby-Gem 4.6.0 liest AppSignal diese Datei und setzt die Konfigurationsoption revision auf ihren Inhalt.
Wenn Ihr Deployment-Tool keine REVISION-Datei schreibt, erstellen Sie während des Deployments eine im Stammverzeichnis der Anwendung:
revision listet auf, welche Quelle AppSignal verwendet, wenn mehr als eine gesetzt ist.
Bei Ruby-Gem-Versionen älter als 4.6.0 lesen Sie die REVISION-Datei in Ihrer Konfiguration aus. Unten finden Sie ein Beispiel für Rails:
revision lesen
Elixir
Für Elixir-Anwendungen laden wir die Git-Revision in der Konfigurationsdateiconfig/appsignal.exs (Ihr Dateispeicherort kann abweichen).
In der untenstehenden Beispiel-Datei config/appsignal.exs rufen wir den Befehl git rev-parse mit Elixir auf und setzen die Ausgabe als Konfigurationsoption revision.
revision lesen
Node.js
Für Node.js-Anwendungen wird die Git-Revision in der Konfigurationsdatei der App geladen. Im untenstehenden.js-Snippet rufen wir den Befehl git rev-parse mit Node.js auf und setzen die Ausgabe als Konfigurationsoption revision.
revision lesen
Python
Für Python-Anwendungen wird die Git-Revision in der Konfigurationsdatei__appsignal__.py der Anwendung geladen.
Im Beispiel unten rufen wir den Befehl git rev-parse mit Python auf und setzen die Ausgabe als Konfigurationsoption revision. Der ausgeführte Shell-Befehl ist derselbe Befehl, den wir zuvor verwendet haben, um den Hash des aktuellen Commits abzurufen.
revision lesen
Front-end JavaScript
Da Front-end-JavaScript-Anwendungen im Browser laufen, ist es nicht möglich, dengit-Befehl von Ihrer Front-end-Anwendung aus aufzurufen, um die aktuelle revision zu erhalten. Es gibt zwei gängige Ansätze, um den Revision-Wert an Ihre Front-end-Anwendung weiterzugeben:
Verwendung von Build-Zeit-Umgebungsvariablen (empfohlen für entkoppelte Front-ends)
Moderne Front-end-Build-Tools betten Umgebungsvariablen zur Build-Zeit in Ihr Bundle ein. Sie können die Git-Revision über eine dieser Variablen übergeben und in Ihrer AppSignal-Konfiguration referenzieren. Das Variablenpräfix und das Zugriffsmuster hängen von Ihrem Build-Tool ab. Das untenstehende Beispiel verwendet Vite, das Umgebungsvariablen mit dem PräfixVITE_ über das Objekt import.meta.env verfügbar macht. Setzen Sie die Variable vor dem Build:
appsignal-Instanz, wo immer Sie Ihre App initialisieren. Zum Beispiel in der main.js-Datei einer Vue-Anwendung:
Verwendung eines vom Back-end gerenderten HTML-Attributs
Wenn Ihr Front-end von einer Back-end-Anwendung (wie einer Ruby- oder Elixir-Anwendung) gerendert wird, können Sie denrevision-Wert im HTML-Body als Datenattribut definieren:
revision lesen
Go
Für Go-Anwendungen wird die Revision auf ein OpenTelemetry-Ressourcenattribut gesetzt, wenn OpenTelemetry initialisiert wird. Im Beispiel unten rufen wir den Befehlgit rev-parse auf und setzen die Ausgabe als Ressourcenattribut appsignal.config.revision. Der ausgeführte Shell-Befehl ist derselbe Befehl, den wir zuvor verwendet haben, um den Hash des aktuellen Commits abzurufen.
appsignal.config.revision-Konfigurationsoption erforderliche Konfiguration, sodass sie bereits gesetzt sein sollte. Bitte konsultieren Sie die appsignal.config.revision-Konfigurationsoption für weitere Informationen.
Java
Für Java-Anwendungen setzen Sie die Revision über die UmgebungsvariableOTEL_RESOURCE_ATTRIBUTES. Wir verwenden denselben Git-Befehl, der zuvor gezeigt wurde.
appsignal.config.revision-Konfigurationsoption erforderliche Konfiguration, sodass sie bereits gesetzt sein sollte. Bitte konsultieren Sie die appsignal.config.revision-Konfigurationsoption für weitere Informationen.
PHP
Für PHP-Anwendungen setzen Sie die Revision in Ihrer Konfiguration, um den Standardwert zu überschreiben. Standardmäßig setzt AppSignal die Revision mit demselben Git-Befehl, der in Revision automatisch aktualisieren gezeigt wird.appsignal.config.revision-Konfigurationsoption für weitere Informationen.
Deployment
Wenn Sie mit der Konfiguration der Optionrevision fertig sind, committen Sie Ihre Änderungen und deployen Sie Ihre Anwendung. Wenn die App startet/neu startet, erstellt AppSignal ein Deployment im Deployment-Bereich für Ihre App.
Das war’s! Sie haben Ihre Anwendung erfolgreich konfiguriert, AppSignal über Deployments zu benachrichtigen! Die Daten Ihrer Anwendung werden zusammen mit dem entsprechenden Deployment verfolgt, was Ihre Fähigkeit, die Performance Ihrer Anwendung zu analysieren, verbessert.
Werden Deployments nicht oder falsch gemeldet? Kontaktieren Sie uns und wir helfen Ihnen weiter!
Siehe auch
- Lokale CI in Rails 8.1: Prüfungen ausführen und in GitHub freigeben: Führen Sie Prüfungen lokal mit
bin/ciaus und melden Sie ein erfolgreiches Ergebnis an einen GitHub-Pull-Request. Verwenden Sie Deploy-Marker, um festzuhalten, wann jede Revision in der Produktion ankommt.