AWS Lambda Extension
The AWS Lambda collector collects AWS Lambda metrics and logs through the Lambda extension.
Installation¶
Installing DataKit 1.x: The extension package links in this section point to the DataKit
2.x/datakit-v2/path by default. To use the extension package for DataKit1.x, replace/datakit-v2/with/datakit/in the URLs. The static resource domain in each URL is rendered for the current documentation brand.
Adding a DataKit Layer¶
-
-
Zip download links:
-
Open the Lambda console Layers page.
- Select Create layer.
- Under Layer configuration, enter the layer name in Name.
- Choose Upload a .zip file. Then, select Upload to choose the local .zip file.
- Select Create.
-
-
- Open the Lambda console Functions page.
- Select the function you want to configure.
- Under Layers, select Add Layer.
- Under Select a layer, choose ARN as the layer source.
- Enter the ARN in the text box, select Verify, and then choose Add.
Configure the Required Environment Variables¶
- ENV_DATAWAY=
https://openway.guance.com?token=<your-token>
Metrics¶
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 |
Logging¶
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 |
Collector Support¶
- OpenTelemetry
- statsd
- ddtrace # Currently, only Go is supported. Due to special operations required by ddtrace in the lambda environment, you need to add
tracer.WithLambdaMode(false).