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
newrelicao seupackage.json:"newrelic": "latest",Você pode atualizar o valor
latestpara 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
nodepara instrumentar seu aplicativo. A configuração do seu contêiner pode permitir que você edite oENTRYPOINTpara incluir o módulonewrelicprimeiro com o sinalizador Node.js-r/--requirequando 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.jsparanode -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
newrelicantes 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 runcomo 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_FLAGpelo 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.