OpenTelemetry(OTel) 계층으로 Lambda 함수를 계측할 때, OTEL_SERVICE_NAME 환경 변수는 뉴렐릭에서 함수의 텔레메트리가 어느 엔티티의 속성으로 지정될지 제어합니다. 기본적으로 각 함수는 별도의 엔티티로 보고합니다. 여러 함수에 동일한 OTEL_SERVICE_NAME을(를) 설정하면 모든 텔레메트리가 단일 엔티티로 그룹화됩니다.
애플리케이션 코드 변경이 필요하지 않습니다. OTel Lambda 계층이 계측을 자동으로 처리합니다 ― 데이터가 이동하는 위치를 제어하는 환경 변수만 설정하면 됩니다.
전제 조건
- API 키가 있는 뉴렐릭 계정.
- 뉴렐릭 OTel Lambda 계층으로 계측된 Lambda 함수.
OTel 엔티티 이름 설정
OTEL_SERVICE_NAME을(를) Lambda 환경 변수로 설정합니다:
OTEL_SERVICE_NAME = my-service-name해당 함수의 모든 텔레메트리는 뉴렐릭의 my-service-name (이)라는 OTel 엔티티의 속성으로 지정됩니다. 해당 이름의 엔티티가 없으면 자동으로 생성됩니다.
중요
OTEL_SERVICE_NAME 영구적이지 않습니다. 값을 업데이트하고 다시 배포하면, 함수는 그 시점부터 새로운 엔티티 이름으로 보고를 시작합니다. 뉴렐릭은 이전 기록을 마이그레이션하지 않습니다 ― 이전 엔티티는 데이터를 유지하지만 새로운 텔레메트리 수신을 중단합니다.
단일 엔티티 아래에 Lambda 함수 그룹화
둘 이상의 Lambda 함수를 단일 OTel 엔티티 아래에 그룹화하려면 모든 함수에 동일한 OTEL_SERVICE_NAME 값을 지정하십시오. 이것이 필요한 유일한 설정입니다.
# Function A (us-east-1)OTEL_SERVICE_NAME = payment-service
# Function B (eu-west-1)OTEL_SERVICE_NAME = payment-service이제 두 함수 모두 뉴렐릭의 단일 payment-service 엔티티에 보고합니다.
엔티티 행동
동일한 OTEL_SERVICE_NAME 값과 뉴렐릭 계정을 공유하는 함수는 뉴렐릭 UI에서 단일 OTel 엔티티로 그룹화됩니다.
중요
OTEL_SERVICE_NAME을(를) 변경하면 새로운 OTel 엔티티가 생성됩니다. 이전 이름과 연결된 이력 데이터는 새 엔티티로 마이그레이션되지 않습니다.
다중 리전 보고서
여러 다른 AWS 리전에 배포된 여러 Lambda 함수가 동일한 OTEL_SERVICE_NAME을(를) 공유할 수 있습니다. 이러한 모든 함수는 배포된 리전에 관계없이 단일 OTel 엔티티에 보고합니다.
그룹화된 엔티티 내에서 개별 함수 또는 리전별 배포를 구분하려면 NRQL에서 tags.aws.arn 속성으로 필터링하거나 엔티티 뷰에서 태그 필터 표시줄을 사용하세요.
교차 런타임 보고
동일한 OTEL_SERVICE_NAME을(를) 공유하지만 다른 런타임(예: 파이썬 함수 및 Node.js 함수)을 사용하는 Lambda 함수는 별도의 OTel 엔티티를 생성합니다 ― 런타임당 하나씩 생성됩니다. 그룹화는 런타임 경계를 넘지 않습니다. 이는 예상되는 OTel 동작입니다 ― 엔티티 ID에는 서비스 이름뿐만 아니라 언어 유형도 포함됩니다.
엔티티 이름 변경
시나리오 | 결과 |
|---|---|
처음으로
설정 | 새 엔티티가 생성되며, 텔레메트리가 즉시 유입됩니다 |
업데이트 및 재배포 | 새 이름에 대해 새 엔티티가 생성되며, 이전 엔티티는 기록을 유지하지만 텔레메트리 수신을 중지합니다. |
제거:
| 함수가 Lambda 함수 이름(
)으로 보고하도록 되돌아갑니다 |
수집기 프로세서에서 faas.name 보존
주의
faas.name OTel 계층에 의해 Lambda에 대해 자동으로 채워집니다 ― 이를 삭제하지 마십시오(삭제하거나 이름을 변경하지 마십시오). 뉴렐릭은 이를 사용하여 상위(SERVER) 스팬을 Lambda 호출로 인식합니다. 이를 삭제하면 다음과 같은 문제가 발생합니다:
- 메트릭 합성에서 제외할 상위 스팬
- 불완전하거나 잘못된 트랜잭션 수
- 엔티티가 Lambda 엔티티 대신
EXT|SERVICE(으)로 확인됩니다 ― 그룹화 기능 및cloud.resource_id태그 지정과 필터링이 중단됩니다