Heroku é uma solução de plataforma como serviço (PaaS) para hospedagem de aplicativos web em várias linguagens de agente, incluindo Ruby. Com o New Relic, você pode estender o Heroku usando métricas e . Esta página descreve considerações especiais para usar o Heroku como um serviço de hospedagem com o agente Ruby para New Relic.
Instale o complemento do agente New Relic
Após implantar seu aplicativo Ruby no Heroku, instale o agente New Relic:
A instalação do complemento cria automaticamente uma conta privada New Relic e configura o acesso aos servidores Heroku. A New Relic começará a monitorar o desempenho do aplicativo, a experiência do usuário final e o desempenho do servidor de aplicativos coletados após a instalação do complemento. Dentro de alguns minutos, os dados deverão começar a aparecer na página de resumo do APM.
Este documento ajudou você na instalação?
Resolução de problemas sua instalação
Alguns minutos após a instalação e configuração do New Relic, os dados deverão começar a aparecer na página de resumo do APM do seu aplicativo. Se nenhum dado aparecer, siga os procedimentos de resolução de problemas do agente Ruby.
Atualizar a partir de uma instalação existente do New Relic
Se o New Relic já estiver instalado, reinstale o complemento usando o comando Heroku toolbelt.
$heroku config:set NEW_RELIC_APP_NAME='Your Application Name'
Configure o agente Ruby no Heroku
Você pode configurar o New Relic em seu arquivo newrelic.yml
ou usar variáveis de ambiente para ter precedência sobre os valores em seu arquivo de configuração. Use heroku config:set
para modificar as configurações do agente para seu aplicativo Heroku.
Por exemplo, para definir a configuração custom_insights_events.max_samples_stored
como 500:
$heroku config:set NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED=500
Nome do host no Heroku
Saber quais dados vieram de qual host permite filtrar a métrica exibida na interface para um host específico. No Heroku, os nomes do host nos dynos são gerados dinamicamente e geralmente não são significativos para você como desenvolvedor de aplicativos.
A partir da versão 3.9.5, o agente Ruby relata o nome Heroku dyno como o nome do host (por exemplo, web.1
). Isso permite que você visualize seus dados com escopo para um nome de dinamômetro específico. Você pode desativar esse comportamento definindo a configuração heroku.use_dyno_names
como false
. O agente usará então um único nome de espaço reservado agregado chamado Dynamic Hostname
.
Dyno nome do host agregação
Alguns dynos possuem nomes gerados dinamicamente, e estes podem assumir muitos valores exclusivos ao longo do tempo. Os exemplos incluem scheduler
dinamômetros criados pelo complemento Agendador e run
dinamômetros criados invocando heroku run
na linha de comando. Para manter razoável o número de nome do host exclusivo, o agente Ruby agregará automaticamente os dados de scheduler
e run
dynos em nome do host chamados scheduler.*
e run.*
.
Se você tiver outros tipos de dinamômetro criados dinamicamente, use a definição de configuração heroku.dyno_name_prefixes_to_shorten
para aplicar a mesma agregação a esses outros tipos de dinamômetro.
Registro para Heroku
No Heroku, o log do agente Ruby na saída padrão, misturando o log do agente com o log normal do aplicativo. as entradas log geradas pelo agente Ruby incluem uma tag [NewRelic]
como prefixo.
Para recuperar o login no Heroku:
Verifique se sua variável de ambiente
NEW_RELIC_LOG
está definida comostdout
com este comando do Toolbelt do Heroku:bash$heroku configPara redefinir a variável de ambiente, se necessário, execute:
bash$heroku config:set NEW_RELIC_LOG="stdout"Abra seu arquivo
newrelic.yml
em um editor.Altere
log_level
paradebug
e salve o arquivo. Certifique-se de não modificar o recuo.Reinicie seu aplicativo da web.
Gere algum tráfego para seu aplicativo e execute-o por cerca de cinco minutos.
Execute o seguinte comando do cinto de ferramentas Heroku para visualizar o log apenas do agente New Relic:
bash$heroku logs -n 1500 | grep -i relicSe estiver enviando seu arquivo de log para o suporte da New Relic, anexe o arquivo de log ao seu ticket de suporte, juntamente com
newrelic.yml
, seuGemfile
eGemfile.lock
.Edite
newrelic.yml
novamente e alterelog_level
para a configuração anterior. Salve o arquivo.