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 Node.js Dockerizado que você instrumentou com New Relic.
Se precisar de ajuda geral com a instalação do agente Node.js, consulte nossas principais instruções de instalação.
Instrumento seu contêiner
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.
Fazendo algumas alterações de configuração e adicionando variáveis de ambiente New Relic ao seu Dockerfile existente, você pode equipar seu aplicativo Dockerizado com nosso agente Node.js.
Adicione
newrelic
ao seupackage.json
:"newrelic": "latest",Você pode atualizar o valor
latest
para instalar uma versão específica ou usar qualquer uma das outras opções fornecidas pelo formatopackage.json
. Consulte as notas de versão do agente Node.js para obter informações sobre versões anteriores do agente.Injete o agente no seu comando start
node
para instrumentar seu aplicativo. A configuração do seu contêiner pode permitir que você edite oENTRYPOINT
para incluir o módulonewrelic
primeiro com o sinalizador Node.js-r
/--require
quando o comando node for invocado. Se o seu Dockerfile contiver algum desses comandos de inicialização, você poderá alterá-los desta maneira:- Altere
node YOUR_PROGRAM.js
paranode -r newrelic YOUR_PROGRAM.js
- Altere
ENTRYPOINT ['node', 'YOUR_PROGRAM.js']
paraENTRYPOINT ['node', '-r', 'newrelic', 'YOUR_PROGRAM.js']
- Altere
CMD ['node', 'YOUR_PROGRAM.js']
paraCMD ['node', '-r', 'newrelic', 'YOUR_PROGRAM.js']
- Se você tiver um script npm para executar seu programa, como
npm start
, poderá modificar esse script programaticamente executandonpm pkg set scripts.start="node -r newrelic your-program.js"
. - Se você não consegue controlar como seu programa é executado, você pode carregar o módulo
newrelic
antes de qualquer outro módulo em seu programa adicionandorequire('newrelic')
ao topo do seu arquivo de entrada.
- Altere
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
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.
Se o seu agente Node.js for mais antigo que a v8.3.0 e você quiser usar distributed tracing, será necessário habilitá-lo definindo a variável de ambiente NEW_RELIC_DISTRIBUTED_TRACING_ENABLED
como true
.
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
. Você também pode:
Habilite um sinalizador de recurso usando sua variável de ambiente (
NEW_RELIC_NAME_OF_FEATURE_FLAG_ENABLED
), como neste trecho abaixo, substituindoNAME_OF_FEATURE_FLAG
pelo nome em maiúsculas do sinalizador de recurso:bash$docker run -e NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \>-e NEW_RELIC_APP_NAME="YOUR_APP_NAME" \>-e NEW_RELIC_NAME_OF_FEATURE_FLAG_ENABLED=true \>YOUR_IMAGE_NAME:latestDefina as opções de configuração no seu Dockerfile usando as diretivas
ENV
:ENV NEW_RELIC_NAME_OF_FEATURE_FLAG_ENABLED=true \NEW_RELIC_LOG=stdout# etc.