AWS Lambda 拡張機能
AWS Lambda コレクターは AWS Lambda Extension を使用して AWS Lambda のメトリクスとログを収集します。
インストール¶
DataKit 1.x のインストール:この節の拡張機能のダウンロードリンクは、既定で DataKit
2.xの/datakit-v2/を使用します。DataKit1.xでは、URL 内の/datakit-v2/を/datakit/に置き換えてください。静的リソースのドメインは、現在のドキュメントのブランドに応じて表示されます。
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)を追加してください。