AWS Lambda 확장
AWS Lambda 수집기는 AWS Lambda Extension을 통해 AWS Lambda 메트릭과 로그를 수집합니다.
설치¶
DataKit 1.x 설치 안내: 이 절의 확장 다운로드 링크는 기본적으로 DataKit
2.x의/datakit-v2/경로를 사용합니다. DataKit1.x용 확장이 필요하면 URL의/datakit-v2/를/datakit/로 바꾸세요. URL의 정적 리소스 도메인은 현재 문서 브랜드에 맞게 렌더링됩니다.
DataKit 계층 추가¶
-
-
ZIP 다운로드 주소:
-
Lambda 콘솔의 계층 페이지를 엽니다.
- Create layer(계층 생성)를 선택합니다.
- Layer configuration의 Name에 계층 이름을 입력합니다.
- Upload a .zip file을 선택한 다음 Upload를 눌러 로컬 ZIP 파일을 선택합니다.
- Create(생성)를 선택합니다.
-
-
- Lambda 콘솔의 함수 페이지를 엽니다.
- 구성할 함수를 선택합니다.
- Layers에서 Add a layer를 선택합니다.
- Choose a layer에서 계층 소스로 ARN을 선택합니다.
- 텍스트 상자에 ARN을 입력하고 Verify를 선택한 다음 Add를 선택합니다.
필요한 환경 변수 구성¶
- ENV_DATAWAY=
https://openway.guance.com?token=<your-token>
메트릭¶
awslambda¶
Lambda Telemetry API 플랫폼 이벤트에서 생성되는 AWS Lambda 메트릭입니다. 시간 및 메모리 필드는 이벤트별 값이며, 오류, 시간 초과, 메모리 부족 및 호출 필드는 이벤트 발생 시의 카운트 증가량입니다.
| 태그 및 필드 | 설명 |
|---|---|
| aws_account_id ( tag) |
AWS 계정 ID. |
| aws_lambda_function_memory_size ( tag) |
Lambda 함수에 구성된 메모리 크기(MB). |
| aws_lambda_function_name ( tag) |
Lambda 함수 이름. |
| aws_lambda_function_version ( tag) |
Lambda 함수 버전. |
| aws_lambda_initialization_type ( tag) |
Lambda 함수의 초기화 유형. |
| aws_region ( tag) |
함수가 실행되는 AWS 리전. |
| aws_runtime_version ( tag) |
Telemetry API init 또는 restore 시작 이벤트에서 보고하는 Lambda 런타임 버전(제공되는 경우). |
| aws_runtime_version_arn ( tag) |
Telemetry API init 또는 restore 시작 이벤트에서 보고하는 Lambda 런타임 버전 ARN(제공되는 경우). |
| billed_duration_ms | 호출의 청구 시간(밀리초). Telemetry API platform.report의 metrics.billedDurationMs 필드에서 가져옵니다. 유형: int | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| duration_ms | 호출 시간(밀리초). Telemetry API platform.report의 metrics.durationMs 필드에서 가져옵니다. 유형: float | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| errors | Telemetry API platform.runtimeDone 상태가 success가 아닌 호출의 카운트 증가량. 유형: int | (count) 단위: count 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| init_duration_ms | 초기화 단계 시간(밀리초). Telemetry API platform.initReport의 metrics.durationMs 필드에서 가져옵니다. 유형: float | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| invocations | Lambda 호출 이벤트 발생 시의 카운트 증가량. 유형: int | (count) 단위: count 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| max_memory_used_mb | 호출에 사용된 최대 메모리(MB). Telemetry API platform.report의 metrics.maxMemoryUsedMB 필드에서 가져옵니다. 유형: int | (gauge) 단위: digital,MB 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| memory_size_mb | Lambda 함수에 구성된 메모리 크기(MB). Telemetry API platform.report의 metrics.memorySizeMB 필드에서 가져옵니다. 유형: int | (gauge) 단위: digital,MB 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| out_of_memory | Lambda 메모리 부족 실패 이벤트 발생 시의 카운트 증가량. 유형: int | (count) 단위: count 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| post_runtime_duration | 런타임 완료부터 플랫폼 보고까지의 시간(밀리초). platform.runtimeDone 및 platform.report의 durationMs 값으로 계산합니다. 유형: float | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| produced_bytes | 호출 응답에서 생성된 바이트 수. Telemetry API platform.runtimeDone의 metrics.producedBytes 필드에서 가져옵니다(존재하는 경우). 유형: int | (gauge) 단위: digital,B 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| response_duration_ms | responseDuration이라는 Telemetry API span이 발생한 경우의 응답 시간(밀리초). 유형: float | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| response_latency | responseLatency라는 Telemetry API span이 발생한 경우의 응답 지연 시간(밀리초). 유형: float | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| runtime_duration_ms | 호출의 런타임 단계 시간(밀리초). Telemetry API platform.runtimeDone의 metrics.durationMs 필드에서 가져옵니다. 유형: float | (gauge) 단위: time,ms 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
| timeouts | Telemetry API platform.runtimeDone 상태가 timeout인 호출의 카운트 증가량. 유형: int | (count) 단위: count 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_region, aws_runtime_version, aws_runtime_version_arn |
로그¶
awslambda¶
Lambda Telemetry API에서 전달된 AWS Lambda 로그 기록.
| 태그 및 필드 | 설명 |
|---|---|
| aws_account_id ( tag) |
AWS 계정 ID. |
| aws_lambda_function_memory_size ( tag) |
Lambda 함수에 구성된 메모리 크기(MB). |
| aws_lambda_function_name ( tag) |
Lambda 함수 이름. |
| aws_lambda_function_version ( tag) |
Lambda 함수 버전. |
| aws_lambda_initialization_type ( tag) |
Lambda 함수의 초기화 유형. |
| aws_log_from ( tag) |
로그 소스 유형. 현재 function 또는 extension. |
| aws_region ( tag) |
함수가 실행되는 AWS 리전. |
| aws_runtime_version ( tag) |
Telemetry API init 또는 restore 시작 이벤트에서 보고하는 Lambda 런타임 버전(제공되는 경우). |
| aws_runtime_version_arn ( tag) |
Telemetry API init 또는 restore 시작 이벤트에서 보고하는 Lambda 런타임 버전 ARN(제공되는 경우). |
| message | 로그 메시지. 유형: string 단위: N/A 태그: aws_account_id, aws_lambda_function_memory_size, aws_lambda_function_name, aws_lambda_function_version, aws_lambda_initialization_type, aws_log_from, aws_region, aws_runtime_version, aws_runtime_version_arn |
수집기 지원¶
- OpenTelemetry
- statsd
- ddtrace # 현재 golang만 지원합니다. ddtrace는 lambda 환경에서 특수 작업을 수행하므로
tracer.WithLambdaMode(false)를 추가해야 합니다.