Zum Hauptinhalt springen
Die AppSignal-Integrationen für Ruby, Elixir & Node.js enthalten native Extensions und einen separaten leichtgewichtigen Agent-Prozess. Diese nativen Extensions werden auf den meisten Linux-Distributionen, FreeBSD und macOS/OSX unterstützt. Unsere Go- und Python-Integrationen verwenden nur unseren Agent-Prozess und benötigen keine zusätzlichen Pakete. Wie die anderen Integrationen funktionieren sie nur auf den unterstützten Betriebssystemen, die in der Support-Tabelle aufgeführt sind. Wenn ein Betriebssystem, das Sie verwenden, nicht unterstützt wird, nehmen Sie bitte Kontakt mit uns auf.

Support-Tabelle

Tabelle der verschiedenen Betriebssysteme und Architekturkombinationen, die wir unterstützen. Beachten Sie die Hinweise unter der Tabelle für etwaige Ausnahmen und Versionsanforderungen.

Integrationen

Unsere Integrationen umfassen: Ruby gem, Elixir package, Node.js package und Python package.
 x86 32-bitx86 64-bitARM 64-bit
macOS/OSX 1
Linux
   - Alpine Linux
   2
   - CentOS
   - Debian / Ubuntu
   - Fedora
FreeBSD 1 3
?
Microsoft Windows4
   - Subsystem for Linux
? 4

Komponenten

Zusätzliche Komponenten umfassen: Collector, Standalone agent, Wrap.
 x86 64-bitARM 64-bit
macOS/OSX
Linux
   - Alpine Linux
1
1
   - CentOS
   - Debian / Ubuntu
Microsoft Windows2
   - Subsystem for Linux
? 2
? 2
Docker image
3
3
Für diese Komponenten müssen keine zusätzlichen Abhängigkeiten installiert werden, sofern dies nicht in ihren Installationsanleitungen aufgeführt ist.
  • 1: Alpine Linux wird nur von Wrap unterstützt.
  • 2: Funktioniert nicht nativ unter Windows. AppSignal bietet keinen offiziellen Support für das Windows Subsystem for Linux.
  • 3: Wrap ist nicht als Docker-Image verfügbar.

Linux

AppSignal versucht, Linux so gut wie möglich zu unterstützen, aber einige Änderungen in unserem Build-Prozess haben Probleme bei der Unterstützung bestimmter Linux-Distributionen und -Versionen verursacht. Unser Agent und unsere Extension werden gegen libc kompiliert, und basierend auf der Version von libc, gegen die wir kompilieren, unterstützen wir bestimmte ältere Versionen von Linux-Distributionen und manche nicht.

Unterstützte Versionen

Der AppSignal-Support für Versionen von libc hat sich über die letzten Versionen des Ruby gem und Elixir package geändert. Dies ist die Liste der libc/musl-Versionen, gegen die AppSignal über die letzten Versionen unserer Integrationen kompiliert wurde:
  • AppSignal for Ruby v1.0.0 - v2.0.x
    AppSignal for Elixir v0.0.x - v0.10.x
    • libc v2.5
    • musl N/A
  • AppSignal for Ruby v2.1.x - v2.3.x
    AppSignal for Elixir v0.11.x - v1.3.x
  • AppSignal for Ruby v2.4.x und höher
    AppSignal for Elixir v1.4.x und höher
    AppSignal for Node.js v1.0.0 und höher
    AppSignal for Python v0.1.0 und höher
    • libc v2.15
    • musl v1.1.16
Wenn Ihr System eine ältere libc-Version verwendet als die, gegen die die AppSignal-Extension kompiliert ist, werden bei der Installation oder Ausführung des AppSignal-Agents Probleme auftreten. In diesem Fall können Sie stattdessen auf den musl-Build umsteigen, der dieses Problem nicht hat. Dies sollte für AppSignal Ruby gem v2.4.1 & Elixir package v1.4.3 und höher kein Problem mehr sein, in diesen Paketen wurde eine automatische Erkennung für ältere libc-Versionen hinzugefügt, und sie wechseln automatisch zum musl-Build. Warnung für JRuby: JRuby-Support auf Alpine Linux (musl-Build) wird seit Ruby gem 2.8.0 unterstützt. Dieses Szenario erfordert einen dynamischen Build der AppSignal-Extension, der für den musl-Build älterer Versionen des gem nicht unterstützt wird. Sie können sehen, welche Version von libc Ihr System verwendet, indem Sie den folgenden Befehl ausführen: ldd --version 2>&1 Beispiel der Ausgabe auf Ubuntu 12.04:
$ ldd --version 2>&1
ldd (Ubuntu EGLIBC 2.15-0ubuntu10.18) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

musl-Build-Override

Um manuell auf den musl-Build umzusteigen, fügen Sie die Umgebungsvariable APPSIGNAL_BUILD_FOR_MUSL zu Ihrer System-Umgebung hinzu, bevor Sie AppSignal installieren und Ihre Anwendung kompilieren. Diese Umgebungsvariable wird nur benötigt, wenn unsere automatische Erkennung die korrekte Architektur nicht erkennt.
# For Ruby
export APPSIGNAL_BUILD_FOR_MUSL=1
gem install appsignal
# or with Bundler
bundle install

# For Elixir
export APPSIGNAL_BUILD_FOR_MUSL=1
mix deps.get
mix compile

# For Node.js
export APPSIGNAL_BUILD_FOR_MUSL=1
npm install

# For Python
# Not supported

Linux ARM-Build-Override

Die AppSignal-Pakete erkennen ARM-basierte Hosts automatisch und wählen den Agent und die Extension für die Installation auf ARM-Systemen aus. Wenn diese Erkennung nicht funktioniert, steigen Sie manuell mit der Umgebungsvariable APPSIGNAL_BUILD_FOR_LINUX_ARM auf den Linux ARM-Build um. Fügen Sie sie Ihrer System-Umgebung hinzu, bevor Sie AppSignal installieren und Ihre Anwendung kompilieren. Diese Umgebungsvariable wird nur benötigt, wenn unsere automatische Erkennung die korrekte Architektur nicht erkennt.
Verfügbar in diesen Paketen:
  • Ruby gem 3.0.8 oder neuer.
  • Elixir package 2.1.8 oder neuer.
  • Node.js package 1.2.6 oder neuer.
Nicht unterstützt in unserem Python package.
# Set this environment variable
# Note: How environment variables are set may be different for your Operating
# System.
export APPSIGNAL_BUILD_FOR_LINUX_ARM=1
# Run the install command, such as: bundle install, npm install, mix compile

Alpine Linux

  • Ruby: unterstützt Alpine Linux seit Ruby gem-Version 2.1.0. (JRuby wird auf Alpine Linux nicht unterstützt.)
  • Elixir: unterstützt Alpine Linux seit Elixir package-Version 0.11.0.
  • Node.js: unterstützt Alpine Linux seit Node.js package-Version 3.0.2. Nicht unterstützt für Node.js-Version 14.
In AppSignal for Ruby-Version 2.4.0 und AppSignal for Elixir 1.4.0 haben wir begonnen, einen separaten Build für Alpine Linux auszuliefern. Wenn Sie von einer früheren Version aktualisiert haben und Probleme beim Kompilieren Ihrer App haben, funktioniert unsere Erkennung nicht ordnungsgemäß. Die folgenden System-Abhängigkeiten sind für Alpine Linux erforderlich:
# Dependencies for the AppSignal Ruby gem
apk add make gcc musl-dev musl-utils

# Dependencies for the AppSignal Node.js package
apk add python3 make g++

# Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
apk add make gcc musl-dev musl-utils
# Dependencies for the AppSignal for Elixir package version 1.6.3 and older
apk add make gcc musl-dev musl-utils curl
Für alle Integrationen basiert die Erkennung auf der Ausgabe von ldd --version. Wenn Ihre App das Programm ldd nicht aufrufen kann oder die Erkennung aus irgendeinem Grund nicht funktioniert, können Sie den Alpine-Linux-kompatiblen Build erzwingen, indem Sie bei der Installation eine spezielle Umgebungsvariable angeben.
# For Ruby
export APPSIGNAL_BUILD_FOR_MUSL=1
gem install appsignal
# or with Bundler
bundle install

# For Elixir
export APPSIGNAL_BUILD_FOR_MUSL=1
mix deps.get
mix compile

# For Node.js
export APPSIGNAL_BUILD_FOR_MUSL=1
npm install

Ruby

Für das Ruby gem fügen Sie dies Ihrem Gemfile hinzu:
gem "appsignal", ">= 2.1.0" # or a newer version
Für die neueste verfügbare Version sehen Sie die vollständige Liste auf RubyGems.org und lassen Sie es uns wissen, wenn Sie auf Probleme stoßen.

Elixir

Wenn Sie das Elixir package verwenden, fügen Sie dies dem deps-Abschnitt Ihrer mix.exs-Datei hinzu:
{:appsignal, ">= 1.0.0"} # or a newer version
Für die neueste verfügbare Version sehen Sie die vollständige Liste auf Hex.pm und lassen Sie es uns wissen, wenn Sie auf Probleme stoßen.

Node.js

Wenn Sie das Node.js package verwenden, fügen Sie dies dem dependencies-Abschnitt Ihrer package.json-Datei hinzu:
Text
"@appsignal/nodejs": "^3.0.2"
Für die neueste verfügbare Version sehen Sie die vollständige Liste auf NPM und lassen Sie es uns wissen, wenn Sie auf Probleme stoßen.

CentOS

CentOS wird von der AppSignal-Extension vollständig unterstützt. Abhängig von Ihrer CentOS-Version müssen Sie möglicherweise einen anderen Build-Typ für AppSignal Ruby gem v2.4.0 und AppSignal for Elixir v1.4.0 und höher auswählen. Die folgenden System-Abhängigkeiten sind für CentOS erforderlich:
# Dependencies for the AppSignal Ruby gem and Node.js package
yum install gcc gcc-c++ make openssl-devel

# Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
yum install gcc gcc-c++ make openssl-devel
# Dependencies for the AppSignal for Elixir package version 1.6.3 and older
yum install gcc gcc-c++ make openssl-devel curl

# Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
# Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
yum install python3
Für CentOS 7 und höher gibt es kein Problem beim Upgrade auf AppSignal for Ruby v2.4.0 und AppSignal for Elixir 1.4.0 und höher. Für CentOS 6 und ältere Versionen müssen Sie stattdessen auf den musl-Build für AppSignal umsteigen. Weitere Informationen finden Sie im Linux-Abschnitt.

Debian / Ubuntu

Die folgenden System-Abhängigkeiten sind für Debian-Linux-Distributionen erforderlich:
# Dependencies for the AppSignal Ruby gem and Node.js package
apt-get update
apt-get install build-essential ca-certificates

# Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
apt-get update
apt-get install build-essential ca-certificates
# Dependencies for the AppSignal for Elixir package version 1.6.3 and older
apt-get update
apt-get install build-essential ca-certificates curl

# Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
# Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
apt-get install python3

Fedora

Die folgenden System-Abhängigkeiten sind für Fedora-Linux-Distributionen erforderlich:
# Dependencies for the AppSignal Ruby gem
dnf install gcc gcc-c++ make openssl-devel

# Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
dnf install gcc gcc-c++ make openssl-devel
# Dependencies for the AppSignal for Elixir package version 1.6.3 and older
dnf install gcc gcc-c++ make openssl-devel curl

# Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
# Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
dnf install python3

FreeBSD

Unser Niveau des FreeBSD-Supports ist derzeit unklar. Unsere Tests zeigen, dass es unter FreeBSD 11 funktioniert, aber wir konnten unter FreeBSD 12 und neuer keine Datenmeldung beobachten. Gehen Sie davon aus, dass es unter FreeBSD 12 und neuer keine Daten meldet.
Die Unterstützung für FreeBSD-Systeme wurde in AppSignal for Ruby gem 2.4.0 und AppSignal for Elixir package 1.4.0 hinzugefügt. Es unterstützt derzeit nicht die Host Metrics-Funktion. Die folgenden System-Abhängigkeiten sind für FreeBSD-Linux-Distributionen erforderlich:
pkg install gcc gmake openssl-devel

# Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
# Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
pkg install python3

macOS

macOS (OS X) 10.14.x und höher wird von AppSignal for Ruby, Elixir & Node.js unterstützt. Es unterstützt derzeit nicht die Host Metrics-Funktion. Stellen Sie sicher, dass Xcode mit den Command-Line-Build-Tools installiert ist.
xcode-select --install

# Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
# Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
brew install python@3

Microsoft Windows

Wir haben derzeit keine Pläne, das Microsoft Windows-Betriebssystem zu unterstützen. Wir versuchen jedoch, die AppSignal-Bibliotheken unter Microsoft Windows ohne Fehler oder Build-Probleme installierbar zu machen, damit die App, in die sie installiert wird, weiterhin funktioniert. Wenn Sie Microsoft Windows verwenden und möchten, dass wir es unterstützen, senden Sie uns eine E-Mail.

Ruby

Um das AppSignal Ruby gem unter Microsoft Windows zu installieren, stellen Sie sicher, dass Sie das RubyInstaller DevKit installiert haben, bevor Sie AppSignal installieren. Andernfalls wird während der Installation unserer C-Extension der folgende Fehler auftreten. Wir installieren die C-Extension nicht unter Microsoft Windows, aber die Ruby-Installation erkennt, dass sie Teil des gem ist, und fährt ohne das DevKit nicht fort.
$ gem install appsignal
Fetching appsignal 2.2.1
Installing appsignal 2.2.1 with native extensions
Gem::InstallError: The 'appsignal' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

Microsoft Windows Subsystem for Linux

Wir bieten keinen Support für das Microsoft Windows Subsystem for Linux.
Das Microsoft Windows Subsystem for Linux (WSL) ist eine Schicht zwischen Microsoft Windows und einer Linux-Distribution. Dies ermöglicht es Benutzern, bestimmte GNU/Linux-Distributionen, die im Microsoft Store verfügbar sind, auf ihrem Microsoft Windows-Computer auszuführen. Das Ausführen einer App auf WSL mit einer AppSignal-Integration verursacht keine Fehler oder Build-Probleme, wie im Abschnitt Microsoft Windows beschrieben. Das Ausführen von AppSignal auf WSL funktioniert so gut wie es das WSL unterstützt. Befolgen Sie die Schritte für Ihre Linux-Distribution auf dieser Seite in der WSL-Umgebung, um die AppSignal-Abhängigkeiten ordnungsgemäß zu installieren, bevor Sie AppSignal in Ihrer App installieren. In unseren Tests mit dem Ubuntu-WSL haben wir festgestellt, dass die meisten AppSignal-Funktionen funktionieren, aber wir können nicht sagen, wie genau die daraus gewonnenen Informationen sind. Einige kleine Unterschiede zwischen der WSL-Implementierung und unseren Linux-Test-Setups können seltsames Verhalten oder ungenaue Metrik-Meldungen verursachen. Wir testen nicht aktiv gegen WSL und können den erfolgreichen Betrieb nicht garantieren. Wir bieten keinen Support für AppSignal auf dem WSL. Nicht alle AppSignal-Funktionen funktionieren auf dem WSL-System; in unseren Tests haben wir bestätigt, dass Host Metrics für Disks (Auslastung und IO) nicht funktionieren. Verwenden Sie das WSL-System, um die AppSignal-Integration mit Ihrer App in einer Entwicklungsumgebung zu testen, verwenden Sie diese Einrichtung jedoch nicht in einer Produktionsumgebung. Testen Sie Ihre App mit AppSignal zunächst immer in einer Staging-Umgebung mit einer ähnlichen Umgebung (Betriebssystem) wie der Produktionsumgebung der App.