Les intégrations AppSignal pour Ruby, Elixir & Node.js contiennent des extensions natives et un processus d’agent léger séparé. Ces extensions natives sont prises en charge sur la plupart des distributions Linux, FreeBSD et macOS/OSX. Nos intégrations Go et Python utilisent uniquement notre processus d’agent et ne nécessitent pas l’installation de paquets supplémentaires. Comme les autres intégrations, elles ne fonctionnent que sur les systèmes d’exploitation pris en charge listés dans le tableau de prise en charge.Si un système d’exploitation que vous utilisez n’est pas pris en charge, veuillez nous contacter.
Tableau des différentes combinaisons de systèmes d’exploitation et d’architecture que nous prenons en charge. Vérifiez les notes sous le tableau pour toute exception et exigence de version.
AppSignal essaie de prendre en charge Linux du mieux possible, mais certains changements dans notre processus de compilation ont causé des problèmes pour la prise en charge de certaines distributions et versions Linux. Notre agent et notre extension sont compilés contre libc, et selon la version de libc contre laquelle nous compilons, nous prenons en charge certaines versions plus anciennes de distributions Linux et pas d’autres.
La prise en charge par AppSignal des versions de libc a changé au cours des dernières versions du gem Ruby et du paquet Elixir.Voici la liste des versions de libc/musl contre lesquelles AppSignal a été compilé au cours des dernières versions de nos intégrations :
AppSignal pour Ruby v1.0.0 - v2.0.x
AppSignal pour Elixir v0.0.x - v0.10.x
libc v2.5
musl N/A
AppSignal pour Ruby v2.1.x - v2.3.x
AppSignal pour Elixir v0.11.x - v1.3.x
AppSignal pour Ruby v2.4.x et supérieur
AppSignal pour Elixir v1.4.x et supérieur
AppSignal pour Node.js v1.0.0 et supérieur
AppSignal pour Python v0.1.0 et supérieur
libc v2.15
musl v1.1.16
Si votre système utilise une version de libc plus ancienne que celle contre laquelle l’extension AppSignal est compilée, vous rencontrerez des problèmes pour installer ou exécuter l’agent AppSignal. Si c’est le cas, vous pouvez plutôt opter pour la compilation musl, qui n’a pas ce problème. Cela ne devrait plus être un problème pour le gem AppSignal Ruby v2.4.1 & le paquet Elixir v1.4.3 et supérieurs ; dans ces paquets, une détection automatique des versions de libc plus anciennes a été ajoutée et ils basculeront automatiquement vers la compilation musl.Avertissement pour JRuby : La prise en charge de JRuby sur Alpine Linux (compilation musl) est prise en charge depuis le gem Ruby 2.8.0. Ce scénario nécessite une compilation dynamique de l’extension AppSignal, qui n’est pas prise en charge pour la compilation musl pour les versions plus anciennes du gem.Vous pouvez voir quelle version de libc votre système utilise en exécutant la commande suivante : ldd --version 2>&1Exemple de sortie sur 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.
Pour opter manuellement pour la compilation musl, ajoutez la variable d’environnement APPSIGNAL_BUILD_FOR_MUSL à l’environnement de votre système avant d’installer AppSignal et de compiler votre application. Cette variable d’environnement n’est nécessaire que si notre détection automatique ne détecte pas la bonne architecture.
# 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
Les paquets AppSignal détecteront automatiquement les hôtes basés sur ARM et sélectionneront l’agent et l’extension à installer pour les systèmes ARM.Lorsque cette détection ne fonctionne pas, optez manuellement pour la compilation Linux ARM avec la variable d’environnement APPSIGNAL_BUILD_FOR_LINUX_ARM. Ajoutez-la à l’environnement de votre système avant d’installer AppSignal et de compiler votre application. Cette variable d’environnement n’est nécessaire que si notre détection automatique ne détecte pas la bonne architecture.
Disponible dans ces paquets :
Gem Ruby 3.0.8 ou plus récent.
Paquet Elixir 2.1.8 ou plus récent.
Paquet Node.js 1.2.6 ou plus récent.
Non pris en charge dans notre paquet Python.
# 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 : prend en charge Alpine Linux depuis la version 2.1.0 du gem Ruby. (JRuby n’est pas pris en charge sur Alpine Linux.)
Elixir : prend en charge Alpine Linux depuis la version 0.11.0 du paquet Elixir.
Node.js : prend en charge Alpine Linux depuis la version 3.0.2 du paquet Node.js. Non pris en charge pour la version 14 de Node.js.
Dans la version 2.4.0 d’AppSignal pour Ruby et la version 1.4.0 d’AppSignal pour Elixir, nous avons commencé à livrer une compilation distincte pour Alpine Linux. Si vous avez mis à niveau depuis une version antérieure et que vous avez des problèmes à compiler votre application, notre détection ne fonctionne pas correctement.Les dépendances système suivantes sont requises pour Alpine Linux :
# 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
Pour toutes les intégrations, la détection est basée sur la sortie de ldd --version.Si votre application n’arrive pas à appeler le programme ldd ou si la détection est faussée pour une raison quelconque, vous pouvez forcer la compilation compatible Alpine Linux en fournissant une variable d’environnement spéciale lors de l’installation.
# 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 est entièrement pris en charge par l’extension AppSignal. Selon votre version de CentOS, vous devrez peut-être sélectionner un autre type de compilation pour le gem AppSignal Ruby v2.4.0 et AppSignal pour Elixir v1.4.0 et supérieurs.Les dépendances système suivantes sont requises pour CentOS :
# 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
Pour CentOS 7 et supérieur, il n’y a pas de problème à mettre à niveau vers AppSignal pour Ruby v2.4.0 et AppSignal pour Elixir 1.4.0 et supérieurs.Pour CentOS 6 et les versions plus anciennes, vous devrez plutôt opter pour la compilation musl pour AppSignal. Pour plus d’informations, consultez la section Linux.
Les dépendances système suivantes sont requises pour les distributions Linux Debian :
# 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
Les dépendances système suivantes sont requises pour les distributions Linux Fedora :
# 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
Notre niveau de prise en charge de FreeBSD est actuellement peu clair. Nos
tests montrent qu’il fonctionne sur FreeBSD 11, mais nous n’avons pas pu le
voir rapporter des données sur FreeBSD 12 et supérieur. Supposez qu’il ne
rapportera pas de données sur FreeBSD 12 et supérieur.
La prise en charge des systèmes FreeBSD a été ajoutée dans le gem AppSignal pour Ruby 2.4.0 et le paquet AppSignal pour Elixir 1.4.0. Elle ne prend actuellement pas en charge la fonctionnalité de métriques d’hôte.Les dépendances système suivantes sont requises pour les distributions Linux FreeBSD :
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 et supérieur est pris en charge par AppSignal pour Ruby, Elixir & Node.js. Il ne prend actuellement pas en charge la fonctionnalité de métriques d’hôte.Veuillez vous assurer qu’Xcode est installé avec les outils de compilation en ligne de commande.
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
Nous n’avons actuellement pas l’intention de prendre en charge le système d’exploitation Microsoft Windows. Nous essayons cependant de rendre les bibliothèques AppSignal installables sur Microsoft Windows sans aucune erreur ni problème de compilation afin que l’application dans laquelle elles sont installées continue de fonctionner.Si vous utilisez Microsoft Windows et souhaitez que nous le prenions en charge, envoyez-nous un e-mail.
Pour installer le gem AppSignal Ruby sur Microsoft Windows, assurez-vous d’avoir installé le DevKit RubyInstaller avant d’installer AppSignal. Sinon, l’erreur suivante apparaîtra lors de l’installation de notre extension C. Nous n’installerons pas l’extension C sur Microsoft Windows, mais l’installation Ruby détecte qu’elle fait partie du gem et ne continuera pas sans le DevKit.
$ 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'
Nous ne fournissons pas de support pour le sous-système Microsoft Windows pour Linux.
Le sous-système Microsoft Windows pour Linux (WSL) est une couche entre Microsoft Windows et une distribution Linux. Cela permet aux utilisateurs d’exécuter certaines distributions GNU/Linux, disponibles dans le Microsoft Store, sur leur ordinateur Microsoft Windows.Exécuter une application sur WSL en utilisant une intégration AppSignal ne causera aucune erreur ni problème de compilation, comme décrit dans la section Microsoft Windows.Exécuter AppSignal sur WSL fonctionnera aussi bien que WSL le prend en charge. Suivez les étapes pour votre distribution Linux sur cette page dans l’environnement WSL pour installer correctement les dépendances AppSignal, avant d’installer AppSignal dans votre application.Dans nos tests utilisant le WSL Ubuntu, nous avons constaté que la plupart des fonctionnalités AppSignal fonctionneront, mais nous ne pouvons pas dire à quel point les informations collectées sont précises. Quelques petites différences entre l’implémentation de WSL et nos configurations de test Linux peuvent entraîner un comportement étrange ou un rapport inexact des métriques. Nous ne testons pas activement sur WSL et nous ne pouvons pas garantir son fonctionnement correct. Nous ne fournissons pas de support pour AppSignal sur le WSL.Toutes les fonctionnalités AppSignal ne fonctionneront pas sur le système WSL ; dans nos tests, nous avons confirmé que les métriques d’hôte pour les disques (utilisation et IO) ne fonctionnent pas.Utilisez le système WSL pour tester l’intégration d’AppSignal avec votre application dans un environnement de développement, mais n’utilisez pas cette configuration dans un environnement de production. Testez toujours votre application en utilisant AppSignal dans un environnement de staging avec un environnement similaire (système d’exploitation) à l’environnement de production de l’application.