Quando você configura o instrumento em funções do Lambda com uma camada OpenTelemetry (OTel), a variável de ambiente OTEL_SERVICE_NAME controla de qual entidade a telemetria da sua função é atributo no New Relic. Por padrão, cada função relata como uma entidade separada. Definir o mesmo OTEL_SERVICE_NAME em várias funções agrupa toda a sua telemetria em uma única entidade.
Não são necessárias alterações no código do aplicativo. A camada OTel do Lambda gerencia a instrumentação automaticamente — basta configurar as variáveis de ambiente que controlam para onde os dados vão.
Pré-requisitos
- Uma conta New Relic com uma chave de API.
- Funções do Lambda instrumentadas com a camada OTel do Lambda da New Relic.
Definir o nome da entidade OTel
Defina OTEL_SERVICE_NAME como uma variável de ambiente do Lambda:
OTEL_SERVICE_NAME = my-service-nameToda a telemetria dessa função é atributo de uma entidade OTel chamada my-service-name no New Relic. Se não existir nenhuma entidade com esse nome, uma será criada automaticamente.
Importante
OTEL_SERVICE_NAME não é permanente. Caso o valor seja atualizado e reimplantado, a função passa a relatar sob o novo nome de entidade a partir desse momento. O New Relic não migra o histórico anterior — a entidade antiga retém seus dados, mas deixa de receber nova telemetria.
Agrupar funções do Lambda em uma única entidade
Para agrupar duas ou mais funções do Lambda em uma única entidade OTel, atribua a cada função o mesmo valor de OTEL_SERVICE_NAME. Essa é a única configuração necessária.
# Function A (us-east-1)OTEL_SERVICE_NAME = payment-service
# Function B (eu-west-1)OTEL_SERVICE_NAME = payment-serviceAmbas as funções agora reportam para uma única entidade payment-service na New Relic.
Comportamento da Entidade
As funções que compartilham o mesmo valor de OTEL_SERVICE_NAME e a conta New Relic são agrupadas em uma única entidade OTel na interface do New Relic.
Importante
A alteração de OTEL_SERVICE_NAME cria uma nova entidade OTel. Os dados históricos associados ao nome anterior não são migrados para a nova entidade.
Relatórios multirregião
Várias funções do Lambda implantadas em diferentes regiões da AWS podem compartilhar o mesmo OTEL_SERVICE_NAME. Todas essas funções reportam para uma única entidade OTel, independentemente da região em que estão implantadas.
Para distinguir funções individuais ou implantações específicas de região dentro da entidade agrupada, filtre pelo atributo tags.aws.arn no NRQL ou use a barra de filtro de tag na visualização da entidade.
Relatórios entre runtimes
Funções do Lambda que usam tempos de execução diferentes (por exemplo, uma função do Python e uma função do Node.js) que compartilham o mesmo OTEL_SERVICE_NAME criam entidades OTel separadas — uma por tempo de execução. O agrupamento não cruza os limites do tempo de execução. Esse é o comportamento esperado do OTel — a identidade da entidade inclui o tipo de linguagem, não apenas o nome do serviço.
Alterações de nome de entidade
Cenário | Resultado |
|---|---|
Definir
pela primeira vez | Nova entidade criada; a telemetria flui para ela imediatamente |
Atualizar
e reimplantar | Nova entidade criada para o novo nome; a entidade antiga retém o histórico, mas para de receber telemetria |
Remover
| A função volta a relatar sob o nome da função do Lambda (
) |
Preservar faas.name nos processadores do coletor
Cuidado
faas.name é preenchido automaticamente para o Lambda pela camada OTel — não deve ser descartado (excluído ou renomeado). O New Relic o utiliza para reconhecer o span pai (SERVER) como uma invocação do Lambda. Descartá-lo causa:
- O span pai a ser excluído da síntese de métrica
- Contagens de transação incompletas ou incorretas
- A entidade sendo resolvida como
EXT|SERVICEem vez de uma entidade Lambda — quebrando o recurso de agrupamento e a tag e filtragem decloud.resource_id