As integrações do AppSignal para Ruby, Elixir e Node.js contêm extensões nativas e um processo de agente leve separado. Essas extensões nativas são suportadas na maioria das distribuições Linux, FreeBSD e macOS/OSX. Nossas integrações Go e Python usam apenas nosso processo de agente e não requerem pacotes adicionais para serem instalados. Como as outras integrações, elas só funcionam nos Sistemas Operacionais suportados listados na tabela de suporte.Se um Sistema Operacional que você usa não é suportado, por favor entre em contato.
Tabela das diferentes combinações de Sistemas Operacionais e arquiteturas que suportamos. Verifique as notas abaixo da tabela para quaisquer exceções e requisitos de versão.
O AppSignal tenta suportar o Linux da melhor forma possível, mas algumas mudanças em nosso processo de compilação causaram alguns problemas com o suporte a certas distribuições e versões do Linux. Nosso agente e extensão são compilados contra a libc, e baseado em qual versão da libc compilamos, suportamos certas versões antigas de distribuições Linux e outras não.
O suporte do AppSignal para versões da libc mudou ao longo das últimas versões do gem Ruby e do pacote Elixir.Esta é a lista de versões da libc/musl contra as quais o AppSignal foi compilado nas últimas versões de nossas integrações:
AppSignal para Ruby v1.0.0 - v2.0.x
AppSignal para Elixir v0.0.x - v0.10.x
libc v2.5
musl N/A
AppSignal para Ruby v2.1.x - v2.3.x
AppSignal para Elixir v0.11.x - v1.3.x
AppSignal para Ruby v2.4.x e superior
AppSignal para Elixir v1.4.x e superior
AppSignal para Node.js v1.0.0 e superior
AppSignal para Python v0.1.0 e superior
libc v2.15
musl v1.1.16
Se seu sistema usa uma versão mais antiga da libc do que a extensão AppSignal foi compilada, você terá problemas ao instalar ou executar o agente AppSignal. Se for esse o caso, você pode optar pela compilação musl, que não tem esse problema. Isso não deveria mais ser um problema para o gem AppSignal Ruby v2.4.1 e o pacote Elixir v1.4.3 e superiores, nesses pacotes foi adicionada detecção automática para versões mais antigas da libc e eles mudarão automaticamente para a compilação musl.Aviso para JRuby: O suporte ao JRuby no Alpine Linux (compilação musl) é suportado desde o gem Ruby 2.8.0. Esse cenário requer uma compilação dinâmica da extensão AppSignal, que não é suportada para a compilação musl em versões mais antigas do gem.Você pode ver qual versão da libc seu sistema usa executando o seguinte comando: ldd --version 2>&1Exemplo de saída no 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.
Para optar pela compilação musl manualmente, adicione a variável de ambiente APPSIGNAL_BUILD_FOR_MUSL ao seu ambiente de sistema antes de instalar o AppSignal e compilar sua aplicação. Esta variável de ambiente só é necessária se nossa detecção automática não detectar a arquitetura correta.
# Para Rubyexport APPSIGNAL_BUILD_FOR_MUSL=1gem install appsignal# ou com Bundlerbundle install# Para Elixirexport APPSIGNAL_BUILD_FOR_MUSL=1mix deps.getmix compile# Para Node.jsexport APPSIGNAL_BUILD_FOR_MUSL=1npm install# Para Python# Não suportado
Os pacotes AppSignal detectarão automaticamente hosts baseados em ARM e selecionarão o agente e a extensão para instalar em sistemas ARM.Quando essa detecção não funcionar, opte pela compilação Linux ARM manualmente com a variável de ambiente APPSIGNAL_BUILD_FOR_LINUX_ARM. Adicione-a ao seu ambiente de sistema antes de instalar o AppSignal e compilar sua aplicação. Esta variável de ambiente só é necessária se nossa detecção automática não detectar a arquitetura correta.
Disponível nesses pacotes:
Gem Ruby 3.0.8 ou mais recente.
Pacote Elixir 2.1.8 ou mais recente.
Pacote Node.js 1.2.6 ou mais recente.
Não suportado em nosso pacote Python.
# Defina esta variável de ambiente# Nota: Como variáveis de ambiente são definidas pode ser diferente para seu# Sistema Operacional.export APPSIGNAL_BUILD_FOR_LINUX_ARM=1# Execute o comando de instalação, como: bundle install, npm install, mix compile
Ruby: suporta Alpine Linux desde a versão 2.1.0 do gem Ruby. (JRuby não é suportado no Alpine Linux.)
Elixir: suporta Alpine Linux desde a versão 0.11.0 do pacote Elixir.
Node.js: suporta Alpine Linux desde a versão 3.0.2 do pacote Node.js. Não suportado para Node.js versão 14.
No AppSignal para Ruby versão 2.4.0 e AppSignal para Elixir 1.4.0, começamos a entregar uma compilação separada para Alpine Linux. Se você fez upgrade de uma versão anterior e está tendo problemas para compilar sua aplicação, nossa detecção não está funcionando corretamente.As seguintes dependências de sistema são necessárias para o Alpine Linux:
# Dependências para o gem AppSignal Rubyapk add make gcc musl-dev musl-utils# Dependências para o pacote AppSignal Node.jsapk add python3 make g++# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentesapk add make gcc musl-dev musl-utils# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigasapk add make gcc musl-dev musl-utils curl
Para todas as integrações, a detecção é baseada na saída de ldd --version.Se sua aplicação não conseguir chamar o programa ldd ou se a detecção estiver errada por algum motivo, você pode forçar a compilação compatível com Alpine Linux fornecendo uma variável de ambiente especial na instalação.
# Para Rubyexport APPSIGNAL_BUILD_FOR_MUSL=1gem install appsignal# ou com Bundlerbundle install# Para Elixirexport APPSIGNAL_BUILD_FOR_MUSL=1mix deps.getmix compile# Para Node.jsexport APPSIGNAL_BUILD_FOR_MUSL=1npm install
O CentOS é totalmente suportado pela extensão AppSignal. Dependendo da sua versão do CentOS, você pode precisar selecionar outro tipo de compilação para o gem AppSignal Ruby v2.4.0 e AppSignal para Elixir v1.4.0 e superiores.As seguintes dependências de sistema são necessárias para o CentOS:
# Dependências para o gem AppSignal Ruby e o pacote Node.jsyum install gcc gcc-c++ make openssl-devel# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentesyum install gcc gcc-c++ make openssl-devel# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigasyum install gcc gcc-c++ make openssl-devel curl# Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.# Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.yum install python3
Para CentOS 7 e superior, não há problema em fazer upgrade para o AppSignal para Ruby v2.4.0 e AppSignal para Elixir 1.4.0 e superiores.Para CentOS 6 e versões mais antigas, você precisará optar pela compilação musl para o AppSignal em vez disso. Para mais informações, veja a seção Linux.
As seguintes dependências de sistema são necessárias para distribuições Linux Debian:
# Dependências para o gem AppSignal Ruby e o pacote Node.jsapt-get updateapt-get install build-essential ca-certificates# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentesapt-get updateapt-get install build-essential ca-certificates# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigasapt-get updateapt-get install build-essential ca-certificates curl# Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.# Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.apt-get install python3
As seguintes dependências de sistema são necessárias para distribuições Linux Fedora:
# Dependências para o gem AppSignal Rubydnf install gcc gcc-c++ make openssl-devel# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentesdnf install gcc gcc-c++ make openssl-devel# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigasdnf install gcc gcc-c++ make openssl-devel curl# Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.# Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.dnf install python3
Nosso nível de suporte ao FreeBSD não é claro no momento. Nossos testes mostram que funciona no
FreeBSD 11, mas não conseguimos vê-lo reportar dados no FreeBSD 12 e
mais recentes. Assuma que não reportará dados no FreeBSD 12 e mais recentes.
O suporte para sistemas FreeBSD foi adicionado no gem AppSignal para Ruby 2.4.0 e no pacote AppSignal para Elixir 1.4.0. Atualmente, não suporta o recurso de métricas de host.As seguintes dependências de sistema são necessárias para distribuições Linux FreeBSD:
pkg install gcc gmake openssl-devel# Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.# Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.pkg install python3
macOS (OS X) 10.14.x e superior é suportado pelo AppSignal para Ruby, Elixir e Node.js. Atualmente, não suporta o recurso de métricas de host.Certifique-se de que o Xcode esteja instalado com as ferramentas de compilação de linha de comando.
xcode-select --install# Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.# Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.brew install python@3
Atualmente, não temos planos de suportar o Sistema Operacional Microsoft Windows. Tentamos tornar as bibliotecas AppSignal instaláveis no Microsoft Windows sem erros ou problemas de compilação, para que a aplicação em que estão instaladas continue operando.Se você usa o Microsoft Windows e gostaria que o suportássemos, envie-nos um e-mail.
Para instalar o gem AppSignal Ruby no Microsoft Windows, certifique-se de ter o DevKit do RubyInstaller instalado antes de instalar o AppSignal. Caso contrário, ocorrerá o seguinte erro durante a instalação de nossa extensão em C. Não instalaremos a extensão em C no Microsoft Windows, mas a instalação do Ruby detecta que faz parte do gem e não continuará sem o 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'
Não fornecemos suporte para o Microsoft Windows Subsystem for Linux.
O Microsoft Windows Subsystem for Linux (WSL) é uma camada entre o Microsoft Windows e uma distribuição Linux. Isso permite que usuários executem certas distribuições GNU/Linux, que estão disponíveis na Microsoft Store, em seu computador Microsoft Windows.Executar uma aplicação no WSL usando uma integração AppSignal não causará erros ou problemas de compilação, conforme descrito na seção Microsoft Windows.Executar o AppSignal no WSL funcionará tão bem quanto o WSL o suportar. Siga as etapas para sua distribuição Linux nesta página no ambiente WSL para instalar corretamente as dependências do AppSignal, antes de instalar o AppSignal em sua aplicação.Em nossos testes usando o Ubuntu WSL, descobrimos que a maioria dos recursos do AppSignal funcionarão, mas não podemos dizer quão precisas são as informações coletadas dele. Algumas pequenas diferenças entre a implementação do WSL e nossas configurações de teste Linux podem causar comportamento estranho ou relatórios imprecisos de métricas. Não testamos ativamente contra o WSL e não podemos garantir sua operação bem-sucedida. Não fornecemos suporte para o AppSignal no WSL.Nem todos os recursos do AppSignal funcionarão no sistema WSL, em nossos testes confirmamos que métricas de host para discos (uso e I/O) não funcionam.Use o sistema WSL para testar a integração do AppSignal com sua aplicação em um ambiente de desenvolvimento, mas não use essa configuração em um ambiente de produção. Sempre teste sua aplicação usando o AppSignal em um ambiente de homologação com um ambiente (Sistema Operacional) similar ao ambiente de produção da aplicação primeiro.