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 控制台的 Layers page(层页面)。
- 选择 Create layer(创建层)。
- 在 Layer configuration(层配置)下,在 Name(名称)中,输入层的名称。
- 请选择 Upload a .zip file(上传 .zip 文件)。然后,选择 Upload(上载)以选择本地 .zip 文件。
- 选择 Create(创建)。
-
-
- 打开 Lambda 控制台的函数页面。
- 选择要配置的函数。
- 在层下,选择添加层。
- 在选择层下,选择 ARN 层源。
- 请在文本框中输入 ARN 并选择验证。然后,选择添加。
配置所需的环境变量¶
- 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。由于 ddtrace 在 lambda 环境下会有特殊操作,需要添加
tracer.WithLambdaMode(false)。