Cuando instrumenta funciones Lambda con una capa de OpenTelemetry (OTel), la variable de entorno OTEL_SERVICE_NAME controla a qué entidad se atribuye la telemetría de la función en New Relic. De forma predeterminada, cada función se reporta como una entidad independiente. Configurar el mismo OTEL_SERVICE_NAME en varias funciones agrupa toda su telemetría bajo una sola entidad.
No se requieren cambios en el código de la aplicación. La capa Lambda de OTel maneja la instrumentación automáticamente —solo configura las variables de entorno que controlan a dónde van los datos.
Requisitos previos
- Una cuenta de New Relic con una clave de API.
- Funciones Lambda instrumentadas con la capa Lambda de OTel de New Relic.
Establecer el nombre de la entidad de OTel
Establezca OTEL_SERVICE_NAME como una variable de entorno Lambda:
OTEL_SERVICE_NAME = my-service-nameToda la telemetría de esa función se atribuye a una entidad de OTel llamada my-service-name en New Relic. Si no existe ninguna entidad con ese nombre, se crea una automáticamente.
Importante
OTEL_SERVICE_NAME no es permanente. Si actualiza el valor y vuelve a desplegar, la función comienza a reportar bajo el nuevo nombre de entidad a partir de ese momento. New Relic no migra el historial anterior —la entidad antigua conserva sus datos, pero deja de recibir nueva telemetría.
Agrupar funciones Lambda bajo una sola entidad
Para agrupar dos o más funciones Lambda bajo una sola entidad de OTel, asigne a cada función el mismo valor de OTEL_SERVICE_NAME. Esa es la única configuración requerida.
# Function A (us-east-1)OTEL_SERVICE_NAME = payment-service
# Function B (eu-west-1)OTEL_SERVICE_NAME = payment-serviceAmbas funciones ahora reportan a una sola entidad payment-service en New Relic.
Comportamiento de la entidad
Las funciones que comparten el mismo valor OTEL_SERVICE_NAME y la cuenta de New Relic se agrupan bajo una sola entidad de OTel en la UI de New Relic.
Importante
Cambiar OTEL_SERVICE_NAME crea una nueva entidad de OTel. Los datos históricos asociados con el nombre anterior no se migran a la nueva entidad.
Reportes multirregión
Múltiples funciones Lambda desplegadas en diferentes regiones de AWS pueden compartir el mismo OTEL_SERVICE_NAME. Todas estas funciones reportan a una sola entidad de OTel, independientemente de la región en la que estén desplegadas.
Para distinguir funciones individuales o despliegues específicos de la región dentro de la entidad agrupada, filtre por el atributo tags.aws.arn en NRQL o use la barra de filtro de etiquetas en la vista de la entidad.
Reportes entre entornos de ejecución
Las funciones Lambda que usan diferentes tiempos de ejecución (por ejemplo, una función Python y una función Node.js) que comparten el mismo OTEL_SERVICE_NAME crean entidades de OTel separadas —una por tiempo de ejecución. La agrupación no cruza los límites del tiempo de ejecución. Este es el comportamiento esperado de OTel —la identidad de la entidad incluye el tipo de lenguaje, no solo el nombre del servicio.
Cambios en el nombre de la entidad
Guión | Resultado |
|---|---|
Establecer
por primera vez | Nueva entidad creada; la telemetría fluye hacia ella de inmediato |
Actualizar
y volver a implementar | Nueva entidad creada para el nuevo nombre; la entidad antigua conserva el historial pero deja de recibir telemetría |
Eliminar
| La función vuelve a informar bajo el nombre de la función Lambda (
) |
Preserve faas.name en los procesadores del recolector
Advertencia
faas.name se completa automáticamente para Lambda mediante la capa de OTel —no lo descarte (elimine o cambie de nombre). New Relic lo utiliza para reconocer el span padre (SERVER) como una invocación de Lambda. Descartarlo causa:
- El span principal que se excluirá de la síntesis de métricas
- Recuentos de transacciones incompletos o incorrectos
- La entidad que se resuelve como
EXT|SERVICEen lugar de una entidad de Lambda —rompiendo la característica de agrupación y la etiqueta y el filtrado decloud.resource_id