Você pode usar nosso agente Node.js para implantar o aplicativo Node.js no Docker contêiner. Este documento explica como construir, configurar e implantar seu aplicativo Dockerized Node.js que foi instrumentado com New Relic.
Instrumento seu contêiner
Com apenas algumas adições, seu Dockerfile existente pode ser usado com nosso agente Node.js. Você configurará o agente executando sua nova imagem Docker com variáveis de ambiente definidas.
Adicione
newrelic
ao seupackage.json
:"newrelic": "latest",Instale uma versão específica ou use qualquer uma das outras opções fornecidas pelo formato
package.json
. Verifique as notas de versão do agente Node.js para obter informações sobre versões anteriores do agente.Dependendo de como seu contêiner está configurado, você pode editar o
ENTRYPOINT
para incluir o módulonewrelic
primeiro com o sinalizador-r
/--require
do Node.js executandonode -r newrelic YOUR_PROGRAM.js
. Se você não pode controlar como seu programa é executado, você pode carregar o módulonewrelic
antes de qualquer outro módulo em seu programa adicionandorequire('newrelic')
.Para Next.js use
@newrelic/next
em vez denewrelic
.Dica
Se você tiver um script npm para executar seu programa, comonpm start
, poderá modificar esse script programaticamente executandonpm pkg set scripts.start="node -r newrelic your-program.js"
.Importante
Se o seu agente Node.js for anterior à v7.2.0 , você precisará adicionar a variável de ambiente
NEW_RELIC_NO_CONFIG_FILE=true
ao seu Dockerfile para que o agente possa ser executado sem um arquivo de configuração. Mais informações sobre nossas definições de configuração e ordem de precedência podem ser encontradas aqui.Crie sua imagem Docker da maneira que você faz normalmente.
Para executar seu aplicativo Docker com o agente ativado, adicione o e o nome do aplicativo ao comando
docker run
como variáveis de ambiente:bash$docker run -e NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \>-e NEW_RELIC_APP_NAME="YOUR_APP_NAME" \>YOUR_IMAGE_NAME:latest
Este documento ajudou você na instalação?
Outras opções de configuração
Cuidado
Não inclua sua chave de licença no Dockerfile ou na imagem Docker . Para obter mais informações, consulte nossa documentação sobre segurança de chave de licença.
Além de definir o nome do aplicativo ou a chave de licença, você pode definir outras opções de configuração iniciando seu contêiner com a opção -e
. Por exemplo, para ativar distributed tracing, use:
$docker run -e NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \> -e NEW_RELIC_APP_NAME="YOUR_APP_NAME" \> -e NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true \> YOUR_IMAGE_NAME:latest
Você também pode definir opções de configuração no seu Dockerfile usando diretivas ENV
:
ENV NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true \ NEW_RELIC_LOG=stdout # etc.