このトピックでは、Insightsの概念、シナリオ、使用法のメモ、およびInsightsによって収集される関数メトリックについて説明します。 このトピックでは、Insightsのログをクエリする方法についても説明します。

インサイトとは

コンセプト

Insightsは、関数リクエストの実行ステータスを要約します。 Insightsを有効にすると、システムは、パフォーマンスメトリクス、例外メトリクス、トレーシングメトリクスなど、関数の各実行に関するメトリクスを収集します。 これらのメトリクスは、ロギングの設定時に指定したLogstoreに配信されます。
  • パフォーマンスメトリクス: メモリ使用量、関数実行時間、初期化時間、コールドスタート
  • 例外メトリック: 実行失敗とエラーの詳細
  • メトリックのトレース: トレースの詳細とサンプリングが実行されるかどうか

Insightsは、関数の各呼び出しを監視して、関数の実行に関する情報を提供します。

シナリオ

  • 関数の実行の詳細、パフォーマンスメトリック、およびエラー情報を表示します。
  • 関数実行ログを使用してカスタムモニタリングダッシュボードを作成します。

    サービスログを関数に記録し、サービスログと分析ログを使用してカスタム監視ダッシュボードを作成できます。 詳細については、「リクエストレベルのメトリックに基づいてGrafanaダッシュボードを作成する」をご参照ください。

使用上の注意

  • 有効範囲

    Insightsはサービスの構成項目です。 サービスに対してInsightsを有効にすると、Insightsはサービス内のすべての関数に適用されます。 ログエントリは、各機能の実行毎に記録される。

  • 前提条件

    Insightsを有効にする前に、ログを設定する必要があります。 Insightsのログは、指定したLogstoreに保存されます。 詳細については、「Log Serviceリソースの設定と機能実行ログの表示」をご参照ください。

  • 料金

    ログがlog Serviceに配信されると、ログストレージに対して課金されます。 Log Serviceの料金の詳細については、「」「料金」をご参照ください。

関数メトリック

Insightsを有効にすると、システムは関数の各実行に関するメトリクスを収集します。 これらのメトリクスは、ロギングの設定時に指定したLogstoreに配信されます。 ログが設定されていない場合、Insightsを有効にできません。

次の図は、InsightsがLogstoreでメトリクスを記録する方法を示しています。インサイト

次の表に、Insightsによって収集されるメトリックを示します。

メトリック 説明 呼び出しごとに記録される
serviceName サービスの名前を設定します。 私のサービス 必須
functionName 関数の名前。 my-function 必須
versionId バージョンのID。 12 必須
修飾子 サービスのエイリアス。 prod 選択されている場合、 デフォルト値: LATEST。
requestId リクエストの ID です。 db72ce53-ccbe-4216-af55-642622e01494 必須
operation 操作の名前。 呼び出し 必須
memoryMB 関数の最大メモリ。 512 必須
memoryUsageMB 関数の実行に使用されるメモリ。 410 必須
durationMs 関数が実行される期間。 20.20 必須
isColdStart コールドスタートが存在するかどうかを示します。 false 選択されている場合、 規定値: false
hasFunctionError 関数の実行エラーが発生したかどうかを示します。 false 選択されている場合、 規定値: false
errorType 関数エラーのタイプ。 設定可能な値は以下のとおりです。
  • FunctionOOMError: 関数のメモリが不足します。
  • FunctionTimeoutError: 実行がタイムアウトします。
  • FunctionUnhandledError: キャプチャされないその他の例外。
FunctionUnhandledError No. このメトリックは、関数の実行エラーが発生した場合にのみ記録されます。 つまり、hasFunctionErrorメトリックの値はtrueです。
initializationDurationMs 初期化子関数が実行される期間。 99.00 No. このメトリックは、コールドスタートが発生し、初期化機能が設定されている場合にのみ記録されます。
traceContext Tracing Analysisコンテキスト。 371d3ff242fcee9:371d3ff242fcee9:0:1 No. このメトリックは、Tracing Analysisが設定されている場合にのみ記録されます。
isSampled リクエストがTracing Analysisによってサンプリングされるかどうかを示します。 true No. このメトリックは、Tracing Analysisが設定されている場合にのみ記録されます。

ログのクエリ

Insightsのログエントリのトピックは、FCInsights:serviceName/functionNameの形式です。

Log Serviceでは、次のクエリ条件を設定して、Insightsのすべてのログを取得できます。__topic __: "FCInsights:test-insights/test" 詳細については、「ログを照会」をご参照ください。