Antes de você começar
- Caso ainda não tenha feito isso, talvez você queira verificar se sua função do Lambda atende à nossa compatibilidade e requisitos.
Instalar monitoramento Lambda
O monitoramento Lambda inclui:
- Uma integração AWS para ingerir métricas do CloudWatch e realizar síntese de entidades dentro New Relic.
- Um agente New Relic incluído em nossas Camadas Lambda New Relic ou como um SDK.
- Um método de envio de carga e logs para o New Relic por meio da nossa função newrelic-log-ingestion ou extensão. Se você usar o New Relic Lambda Layers, não precisará fazer nenhuma configuração extra para enviar dados.
Vincule suas contas AWS e New Relic
Dica
Se você usar o newrelic-lambda-cli para instrumentar sua função do Lambda, o processo de vinculação será automatizado, permitindo que você ignore esta etapa.
Ao vincular contas, você concede à New Relic permissão para criar um inventário da sua conta AWS e coletar automaticamente métricas do CloudWatch para sua função do Lambda. Depois de vincular contas, os recursos na sua conta AWS aparecem como entidade no explorador de entidades. A função do Lambda entidade será encontrada na visualização sem servidor.
Você pode vincular sua conta da AWS e da New Relic por um dos seguintes métodos de integração.
Para que o New Relic monitore sua função do Lambda, você precisa configurar uma integração entre o New Relic e AWS. Recomendamos usar o Metrica Streams para ajudar a reduzir a latência e evitar a limitação de nossas solicitações de pesquisa.
Se você não estiver usando uma integração do Métrica Streams, você pode optar por configurar uma integração API Polling . Por padrão, uma integração de API Polling com o serviço Lambda habilitado pesquisará métricas do CloudWatch a cada 5 minutos.
Você pode usar o newrelic-lambda-cli para configurar uma integração API Polling, mas não uma integração métrica de Streams.
$newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID \>--nr-api-key YOUR_NEW_RELIC_USER_KEY
Uma etapa no comando integração install criará um segredo NEW_RELIC_LICENSE_KEY
no AWS Secrets Manager para maior segurança. Isso é configurável com um sinalizador --disable-license-key-secret
, juntamente com outras opções e sinalizadores.
Instrumente sua função Lambda
Para instrumentalizar sua função do Lambda, você precisa de um agente e de uma extensão. Esses componentes são agrupados na camada Lambda do New Relic. Se usar camadas Lambda não for uma opção para você, você pode incorporar manualmente o agente e a extensão em sua função. Com base no requisito da sua função do Lambda, selecione um dos seguintes métodos de instrumentação:
Use este método se sua função do Lambda estiver empacotada como um arquivo Zip e você puder adicionar camadas. Camadas são mecanismos de distribuição para biblioteca, tempos de execução personalizados e outras dependências. Para obter mais informações, consulte a documentação de instrumentação em camadas .
Utilize este método caso sua função do Lambda não possa utilizar camadas, garantindo uma implantação rápida sem a necessidade de modificar camadas. Para obter mais informações, consulte a documentação de instrumentação baseada em SDK .
Use este método se sua função do Lambda for executada dentro de um contêiner. contêiner fornece um ambiente de execução consistente e isolado para seu aplicativo. O New Relic fornece uma imagem Docker pré-criada que inclui a camada New Relic Lambda, a extensão New Relic Lambda e o agente New Relic. Para obter mais informações, consulte a documentação de instrumentação em contêiner .
Configurar variáveis de ambiente
Dica
- Quando você instrumenta a camada Lambda do New Relic com o New Relic CLI, suas variáveis de ambiente obrigatórias são configuradas automaticamente. No entanto, você pode querer alterar algumas das configurações padrão e configurar sua função do Lambda com as variáveis de ambiente que correspondem às suas necessidades de monitoramento.
- Se estiver usando a extensão Lambda do New Relic, você precisará configurar as variáveis de ambiente manualmente.
Variáveis de ambiente são usadas para configurar o agente New Relic e a extensão Lambda. É importante definir essas variáveis corretamente para garantir que sua função do Lambda seja monitorada corretamente.
Experimente nossas funções de exemplo
Depois de instrumentar a camada Lambda do New Relic, recomendamos fortemente experimentar nossas funções de exemplo. Esses exemplos de trabalho devem ser usados como ponto de partida para instrumentar sua própria função serverless. O uso desses exemplos pode ajudá-lo a se familiarizar com a camada New Relic Lambda, testando o link da conta, e eles podem ser usados como referência para sua própria instrumentação. Each example demonstrates adding permissions, runtime-specific techniques for wrapping your handler, managing function log retention in CloudWatch, and more.
Embora existam muitas maneiras de gerenciar e implantar a função do Lambda, AWS CloudFormation é o mecanismo que usamos em nossos exemplos.
Nossos exemplos são publicados, juntamente com a extensão New Relic Lambda, neste repositório GitHub. Há um para cada tempo de execução do Lambda que o New Relic suporta:
Você também pode aprender como transformar distributed tracing em um aplicativo sem servidor não trivial em nosso exemplodistributed tracing . Ele ilustra a propagação manual trace para SQS e SNS, dois dos serviços mais populares que podem invocar a função do Lambda, com funções Node, Python, Ruby e Java.
Dica
Ao testar manualmente, os dados de telemetria podem ser atrasados. Recomendamos aguardar sete segundos antes de invocar a função novamente, permitindo que qualquer telemetria armazenada em buffer seja entregue.