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.
Tabelle der verschiedenen Betriebssysteme und Architekturkombinationen, die wir unterstützen. Beachten Sie die Hinweise unter der Tabelle für etwaige Ausnahmen und Versionsanforderungen.
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.
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>&1Beispiel der Ausgabe auf Ubuntu 12.04:
$ ldd --version 2>&1ldd (Ubuntu EGLIBC 2.15-0ubuntu10.18) 2.15Copyright (C) 2012 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Written by Roland McGrath and Ulrich Drepper.
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 Rubyexport APPSIGNAL_BUILD_FOR_MUSL=1gem install appsignal# or with Bundlerbundle install# For Elixirexport APPSIGNAL_BUILD_FOR_MUSL=1mix deps.getmix compile# For Node.jsexport APPSIGNAL_BUILD_FOR_MUSL=1npm install# For Python# Not supported
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
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 gemapk add make gcc musl-dev musl-utils# Dependencies for the AppSignal Node.js packageapk add python3 make g++# Dependencies for the AppSignal for Elixir package version 1.7.0 and newerapk add make gcc musl-dev musl-utils# Dependencies for the AppSignal for Elixir package version 1.6.3 and olderapk 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 Rubyexport APPSIGNAL_BUILD_FOR_MUSL=1gem install appsignal# or with Bundlerbundle install# For Elixirexport APPSIGNAL_BUILD_FOR_MUSL=1mix deps.getmix compile# For Node.jsexport APPSIGNAL_BUILD_FOR_MUSL=1npm install
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 packageyum install gcc gcc-c++ make openssl-devel# Dependencies for the AppSignal for Elixir package version 1.7.0 and neweryum install gcc gcc-c++ make openssl-devel# Dependencies for the AppSignal for Elixir package version 1.6.3 and olderyum 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.
Die folgenden System-Abhängigkeiten sind für Debian-Linux-Distributionen erforderlich:
# Dependencies for the AppSignal Ruby gem and Node.js packageapt-get updateapt-get install build-essential ca-certificates# Dependencies for the AppSignal for Elixir package version 1.7.0 and newerapt-get updateapt-get install build-essential ca-certificates# Dependencies for the AppSignal for Elixir package version 1.6.3 and olderapt-get updateapt-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
Die folgenden System-Abhängigkeiten sind für Fedora-Linux-Distributionen erforderlich:
# Dependencies for the AppSignal Ruby gemdnf install gcc gcc-c++ make openssl-devel# Dependencies for the AppSignal for Elixir package version 1.7.0 and newerdnf install gcc gcc-c++ make openssl-devel# Dependencies for the AppSignal for Elixir package version 1.6.3 and olderdnf 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
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 (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
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.
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 appsignalFetching appsignal 2.2.1Installing appsignal 2.2.1 with native extensionsGem::InstallError: The 'appsignal' native gem requires installed build tools.Please update your PATH to include build tools or download the DevKitfrom 'http://rubyinstaller.org/downloads' and follow the instructionsat 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
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.