A instrumentação da New Relic para AWS Lambda oferece visibilidade profunda do funcionamento interno de suas funções. Ao adicionar o agente New Relic à sua função, cada invocação é monitorada pelo New Relic. Isso permite que você rastreie a duração das invocações de funções, monitore erros e registre detalhes sobre o evento de origem e as respostas da sua função.
/* AWS Lambda fornece um serviço de computação altamente escalável e orientado a eventos, permitindo que você crie e execute aplicativos e serviços backend sem a necessidade de provisionar ou gerenciar servidores. À medida que sua arquitetura sem servidor no Lambda se torna mais sofisticada e assume funções críticas para os negócios, obter visibilidade abrangente de seu desempenho, saúde operacional e interação dentro de seu ecossistema de aplicativos mais amplo torna-se essencial para manter a confiabilidade e a eficiência. Seu aplicativo moderno depende fortemente de inúmeras funções do Lambda da AWS interagindo com vários outros microsserviços, banco de dados e APIs de terceiros. Em ambientes tão complexos, você pode encontrar diversos desafios de observabilidade: * **Dificuldade em identificar as causas raiz:** Quando ocorrem problemas de desempenho, como lentidão intermitente, ou quando transações críticas envolvendo funções Lambda falham, identificar a função com falha ou a origem do problema pode ser um quebra-cabeça complexo. * **Visualizações de monitoramento isoladas:** Você pode se encontrar navegando entre uma interface dedicada de monitoramento Serverless e suas visualizações tradicionais de monitoramento de desempenho de aplicativos (APM), dificultando a obtenção de uma visão única e unificada do desempenho. * **Correlação de dados ineficaz:** Pode ser difícil correlacionar efetivamente dados de desempenho e eventos quando as informações residem em sistemas separados de monitoramento serverless e APM. * **Rastreamento ponta a ponta incompleto:** Você pode enfrentar desafios ao rastrear perfeitamente uma única solicitação de ponta a ponta, à medida que ela percorre a função do Lambda e outros serviços em seu ambiente distribuído. * **Monitoramento limitado para Lambda:** Muitas vezes, não é possível aplicar todo o poder de diagnóstico e o fluxo de trabalho familiar das ferramentas APM diretamente à sua função Lambda. * **Esforço manual para obter insights:** Frequentemente, é necessário um esforço manual significativo para reunir informações dispersas de várias fontes para entender o contexto completo de um problema envolvendo o Lambda. Para lidar com esses desafios de observabilidade e proporcionar uma experiência de monitoramento verdadeiramente unificada, New Relic está aprimorando a forma como as funções Lambda da AWS são integradas à nossa plataforma. Essa iniciativa integra sua função serverless diretamente à experiência New Relic APM, tratando-a como um recurso de primeira classe, juntamente com seus outros serviços instrumentados. Nosso objetivo é fornecer telemetria completa e adaptada ao aplicativo para sua função Lambda, tornando mais fácil do que nunca entender seu desempenho em seu contexto total. */
Recurso chave
Obtenha uma visão unificada: Monitore sua função Lambda na mesma interface APM que você usa para seus outros serviços. Visualize a telemetria sem servidor, incluindo métricas de desempenho, rastreamento, logs (quando configurados) e erros — tudo correlacionado em um só lugar, eliminando a necessidade de alternar entre diferentes interfaces.
Aproveite todo o poder do APM: Aplique o conjunto abrangente de recursos do New Relic APM diretamente à sua função Lambda. Isso inclui distributed tracing avançado, análise detalhada de erros com a Caixa de Entrada de Erros, mapas de serviço que incorporam sua função Lambda, dashboards e muito mais. Para obter mais informações, consulte a documentação do APM.
Obtenha rastreamento completo de ponta a ponta das solicitações: trace perfeitamente requests à medida que fluem de seus serviços de front-end ou outros microsserviços, passando por sua função AWS Lambda e chegando a quaisquer componentes conectados. Isso fornece uma imagem clara e ininterrupta da latência e dependência da solicitação em toda a sua arquitetura. Para obter mais informações, consulte a documentação distributed tracing .
Simplifique a análise da causa raiz: Ao consolidar os dados serverless com o restante da telemetria do seu aplicativo no APM, você pode identificar e diagnosticar rapidamente os problemas, independentemente de sua origem em uma função Lambda ou em um serviço upstream/downstream.
Entenda melhor o impacto da computação sem servidor: veja claramente como suas funções Lambda contribuem para a saúde e o desempenho geral do seu aplicativo e para as principais transações comerciais, fornecendo insights mais profundos sobre seu papel em seus serviços digitais.

Como configurar o monitoramento do AWS Lambda?
Para monitorar sua função AWS Lambda com o New Relic, você pode configurar a instrumentação em diferentes ambientes, tempos de execução e métodos de implantação. Os passos a seguir orientam você durante o processo de configuração:
Compatibilidade e requisitos
Certifique-se de que sua função AWS Lambda atenda aos nossos requisitos e à nossa compatibilidade.
(Opcional) Vincule sua conta da AWS ao New Relic.
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 New Relic monitore sua função Lambda, você precisa configurar uma integração entre New Relic e AWS. Recomendamos o uso do Metric Streams para ajudar a reduzir a latência e evitar a limitação de nossas requests de polling.
Se você não estiver usando uma integração com o Métrica Streams, pode optar por configurar uma integração API Polling. Por padrão, uma integração de API Polling com o serviço Lambda ativado coletará 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_KEYUma 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.
Instrumento sua função AWS do 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. A tela fornece um ambiente de execução consistente e isolado para seu aplicativo. A New Relic fornece uma imagem Docker pré-configurada 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 sobre instrumentação em contêineres.
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.
Encontre seus dados no New Relic
Após instrumentar sua função AWS do Lambda, você poderá encontrar e usar os dados na interface do New Relic APM. Os dados estão organizados em diversas áreas principais, cada uma fornecendo diferentes insights sobre o desempenho e a saúde da sua função Lambda.
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.
Consideração de custos
A implementação do monitoramento Serverless para AWS Lambda pode incorrer em cobranças adicionais AWS . A função newrelic-log-ingestion do Lambda, que reporta dados ao New Relic, é considerada um serviço de terceiros, e quaisquer cobranças associadas AWS são de responsabilidade do usuário. Ao usar o newrelic-lambda-extension incluído nas camadas do New Relic Lambda, você pode evitar o envio de logs e dados de telemetria via CloudWatch, embora seja possível configurar a função newrelic-log-ingestion como um fallback do CloudWatch para necessidades de alta disponibilidade.
Habilitar o monitoramento Serverless para AWS Lambda pode resultar em cobranças da Amazon Web Services. Nossa função newrelic-log-ingestion do Lambda, que nos envia seus dados Lambda, é considerada um Serviço de Terceiros: as taxas AWS resultantes do seu uso são de sua responsabilidade.
Se você usar nossa extensão newrelic-lambda incluída em nossas Camadas LambdaNew Relic , poderá evitar o envio de log e telemetria via CloudWatch e a função newrelic-log-ingestion . Também é possível configurar a função newrelic-log-ingestion como um método de fallback do CloudWatch para funções que exigem alta disponibilidade de dados de observabilidade.
Preços
O uso do New Relic APM + Serverless Convergence por você será cobrado como uma entidade APM, de acordo com o seu pedido. Para obter mais detalhes sobre preços, entre em contato com nossa equipe de vendas ou consulte seu pedido.