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¶
AWS Lambda metrics produced from Lambda Telemetry API platform events. Duration and memory fields are per-event values, while error, timeout, out-of-memory, and invocation fields are event count increments when emitted.
| Tags & Fields | Description |
|---|---|
| aws_account_id ( tag) |
AWS Account ID. |
| aws_lambda_function_memory_size ( tag) |
Configured memory size for the Lambda function, in MB. |
| aws_lambda_function_name ( tag) |
Lambda function name. |
| aws_lambda_function_version ( tag) |
Lambda function version. |
| aws_lambda_initialization_type ( tag) |
Initialization type of the Lambda function. |
| aws_region ( tag) |
AWS region where the function is executed. |
| aws_runtime_version ( tag) |
Lambda runtime version reported by Telemetry API init or restore start events when available. |
| aws_runtime_version_arn ( tag) |
Lambda runtime version ARN reported by Telemetry API init or restore start events when available. |
| billed_duration_ms | Billed duration for the invocation, in milliseconds, from the Telemetry API platform.report metrics.billedDurationMs field. Type: int | (gauge) Unit: time,ms Tagged by: 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 | Invocation duration, in milliseconds, from the Telemetry API platform.report metrics.durationMs field. Type: float | (gauge) Unit: time,ms Tagged by: 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 | Count increment for invocations whose Telemetry API platform.runtimeDone status is not success. Type: int | (count) Unit: count Tagged by: 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 | Initialization phase duration, in milliseconds, from the Telemetry API platform.initReport metrics.durationMs field. Type: float | (gauge) Unit: time,ms Tagged by: 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 | Count increment for Lambda invocations when emitted. Type: int | (count) Unit: count Tagged by: 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 | Maximum memory used by the invocation, in MB, from the Telemetry API platform.report metrics.maxMemoryUsedMB field. Type: int | (gauge) Unit: digital,MB Tagged by: 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 | Configured memory size for the Lambda function, in MB, from the Telemetry API platform.report metrics.memorySizeMB field. Type: int | (gauge) Unit: digital,MB Tagged by: 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 | Count increment for Lambda out-of-memory failures when emitted. Type: int | (count) Unit: count Tagged by: 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 | Time between runtime completion and the platform report, in milliseconds, calculated from platform.runtimeDone and platform.report durationMs values. Type: float | (gauge) Unit: time,ms Tagged by: 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 | Bytes produced by the invocation response, from the Telemetry API platform.runtimeDone metrics.producedBytes field when present. Type: int | (gauge) Unit: digital,B Tagged by: 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 | Response duration span, in milliseconds, when a Telemetry API span named responseDuration is emitted. Type: float | (gauge) Unit: time,ms Tagged by: 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 | Response latency span duration, in milliseconds, when a Telemetry API span named responseLatency is emitted. Type: float | (gauge) Unit: time,ms Tagged by: 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 | Runtime phase duration for the invocation, in milliseconds, from the Telemetry API platform.runtimeDone metrics.durationMs field. Type: float | (gauge) Unit: time,ms Tagged by: 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 | Count increment for invocations whose Telemetry API platform.runtimeDone status is timeout. Type: int | (count) Unit: count Tagged by: 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¶
AWS Lambda log records forwarded from the Lambda Telemetry API.
| Tags & Fields | Description |
|---|---|
| aws_account_id ( tag) |
AWS Account ID. |
| aws_lambda_function_memory_size ( tag) |
Configured memory size for the Lambda function, in MB. |
| aws_lambda_function_name ( tag) |
Lambda function name. |
| aws_lambda_function_version ( tag) |
Lambda function version. |
| aws_lambda_initialization_type ( tag) |
Initialization type of the Lambda function. |
| aws_log_from ( tag) |
Log source type, currently function or extension. |
| aws_region ( tag) |
AWS region where the function is executed. |
| aws_runtime_version ( tag) |
Lambda runtime version reported by Telemetry API init or restore start events when available. |
| aws_runtime_version_arn ( tag) |
Lambda runtime version ARN reported by Telemetry API init or restore start events when available. |
| message | Log message. Type: string Unit: N/A Tagged by: 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만 지원합니다. Lambda 환경에서 ddtrace가 특별한 처리를 수행하므로
tracer.WithLambdaMode(false)를 추가해야 합니다.