Pular para o conteúdo principal
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 de suporte

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.

Integrações

Nossas integrações incluem: gem Ruby, pacote Elixir, pacote Node.js e pacote Python.
 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

Componentes

Componentes adicionais incluem: 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
Imagem Docker
3
3
Nenhuma dependência adicional precisa ser instalada para esses componentes, a menos que listada em seus guias de instalação.
  • 1: Alpine Linux é suportado apenas pelo Wrap.
  • 2: Não funciona nativamente no Windows. O AppSignal não oferece suporte oficial ao Windows Subsystem for Linux.
  • 3: O Wrap não está disponível como uma imagem Docker.

Linux

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.

Versões suportadas

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>&1 Exemplo de saída no 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.

Sobrescrita da compilação musl

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 Ruby
export APPSIGNAL_BUILD_FOR_MUSL=1
gem install appsignal
# ou com Bundler
bundle install

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

# Para Node.js
export APPSIGNAL_BUILD_FOR_MUSL=1
npm install

# Para Python
# Não suportado

Sobrescrita da compilação Linux ARM

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

Alpine Linux

  • 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 Ruby
apk add make gcc musl-dev musl-utils

# Dependências para o pacote AppSignal Node.js
apk add python3 make g++

# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
apk add make gcc musl-dev musl-utils
# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
apk 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 Ruby
export APPSIGNAL_BUILD_FOR_MUSL=1
gem install appsignal
# ou com Bundler
bundle install

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

# Para Node.js
export APPSIGNAL_BUILD_FOR_MUSL=1
npm install

Ruby

Para o gem Ruby, adicione isto ao seu Gemfile:
gem "appsignal", ">= 2.1.0" # ou uma versão mais recente
Para a versão mais recente disponível, veja a lista completa em RubyGems.org e, se tiver problemas, por favor nos avise.

Elixir

Se você estiver usando o pacote Elixir, adicione isto à seção deps do seu arquivo mix.exs:
{:appsignal, ">= 1.0.0"} # ou uma versão mais recente
Para a versão mais recente disponível, veja a lista completa em Hex.pm e, se tiver problemas, por favor nos avise.

Node.js

Se você estiver usando o pacote Node.js, adicione isto à seção dependencies do seu arquivo package.json:
Text
"@appsignal/nodejs": "^3.0.2"
Para a versão mais recente disponível, veja a lista completa em NPM e, se tiver problemas, por favor nos avise.

CentOS

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.js
yum install gcc gcc-c++ make openssl-devel

# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
yum install gcc gcc-c++ make openssl-devel
# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
yum 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.

Debian / Ubuntu

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.js
apt-get update
apt-get install build-essential ca-certificates

# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
apt-get update
apt-get install build-essential ca-certificates
# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
apt-get update
apt-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

Fedora

As seguintes dependências de sistema são necessárias para distribuições Linux Fedora:
# Dependências para o gem AppSignal Ruby
dnf install gcc gcc-c++ make openssl-devel

# Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
dnf install gcc gcc-c++ make openssl-devel
# Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
dnf 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

FreeBSD

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

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

Microsoft Windows

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.

Ruby

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 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

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.