Function Compute は Simple Log Service と統合されています。関数のロギングを設定すると、Function Compute は自動的にログを収集し、指定されたプロジェクトの Logstore に配信します。Function Compute コンソールでリクエストログ、インスタンスログ、関数ログを表示できます。また、Simple Log Service コンソールのログ分析機能を使用して、カスタムログクエリを実行することもできます。
背景情報
Simple Log Service は、ログデータのためのワンストップサービスです。ログの収集、ストレージ、クエリ、分析、可視化、アラートなど、あらゆる機能を提供します。Simple Log Service に関数ログを保存するには、関数のプロジェクトと Logstore を構成し、関数に Simple Log Service へのアクセス権限を付与する必要があります。構成が完了すると、関数ログは指定された Logstore に書き込まれます。
課金
課金方法
Function Compute は、ロギング機能に追加料金を請求しません。ログが Simple Log Service に配信された後、Simple Log Service によって課金されます。
Logstore が機能別の課金方法を使用している場合、Function Compute がログを配信した後、Simple Log Service はストレージ容量、読み取りトラフィック、リクエスト、データ変換、およびデータシッピングに対して課金します。詳細については、「機能別の課金方法の課金項目」をご参照ください。
Logstore が書き込み量別の課金方法を使用している場合、Function Compute がログを配信した後、Simple Log Service は生データの書き込み量などの項目に対して課金します。詳細については、「書き込み量別の課金方法の課金項目」をご参照ください。
Logstore の課金方法を変更するには、「Logstore の管理」をご参照ください。
課金の停止
課金を停止するには、まず Function Compute コンソールで ロギング機能を無効にします。次に、Simple Log Service コンソールに移動して Logstore を削除するか、プロジェクトを削除します。
Simple Log Service のプロジェクトまたは Logstore の削除は、元に戻せない操作です。削除後、ログは Simple Log Service に配信できなくなり、既存のデータは削除されます。この操作を実行する前に、必ず重要なログデータをバックアップしてください。
関数のロギング機能を有効にする
Function Compute コンソールを使用したロギングの構成
前提条件
Function Compute
オプション: Simple Log Service
手順
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、リージョンを選択します。[関数] ページで、対象の関数をクリックします。
関数の詳細ページで、[設定] タブをクリックし、[高度な設定] の右側にある [編集] をクリックします。[高度な設定] パネルで [ログ] セクションを見つけ、ログ設定を構成してから [デプロイ] をクリックします。
説明関数を作成すると、ロギング機能がデフォルトで有効になり、システムによって
serverless-<region_id>で始まる [ログプロジェクト] とデフォルトの [Logstore] が自動的に選択されます。コンソールは、[ログ分割ルール]、[リクエストレベルのメトリック]、および [インスタンスレベルのメトリック] を自動的に有効にし、ログのクエリに必要なすべてのインデックスを作成します。
パラメーター
必須
説明
ロギング
はい
ロギング機能を有効または無効にします。有効な値:
有効化: ロギング機能を有効にすると、Function Compute はプロジェクトにログをインポートします。その後、Function Compute コンソールまたは Simple Log Service コンソールでログのクエリと取得を行い、問題をトラブルシューティングできます。
無効化: ロギング機能を有効にしない場合、関数ログは永続化されません。これにより、問題の追跡と特定が困難になります。
設定モード
はい
[自動設定] または [カスタム設定] を選択します。[カスタム設定] を選択した場合は、[Log Service プロジェクト] と [Logstore] を指定する必要があります。
ログプロジェクト
はい
関数呼び出しログを保存する宛先プロジェクト。
Logstore
はい
関数呼び出しログを保存する宛先 Logstore。
ログ分割ルール
いいえ
ログ分割ルールを有効または無効にします。有効な値:
有効化: ログ分割を有効にすると、Function Compute は分割ルールに基づいてログを複数のセグメントに分割し、Simple Log Service に 1 つずつ書き込みます。
デフォルトのログ分割ルールは
^.{0,2}\d{4}-\d{2}-\d{2}です。このルールは、xxxx-xx-xx形式の日付に一致します。ここで、xは数字を表します。このルールは、最初の行に日付が含まれているかどうかに基づいてログを分割します。たとえば、ログの最初の行が 2023-10-10 の場合、この行はログセグメントの最初の行と見なされます。この行と、日付で始まらない後続の行は、単一のログエントリとして Simple Log Service に書き込まれます。無効化: ログ分割を無効にすると、ログはデフォルトで
\nを使用して分割されます。
リクエストレベルのメトリック
いいえ
リクエストメトリックログの Logstore へのインポートを有効または無効にします。この機能を有効にすることを強くお勧めします。
有効な値:
有効化: この機能を有効にすると、各関数呼び出しのメトリックが選択した Logstore に配信されます。これらのメトリックには、実行時間、メモリ使用量、実行エラー、コールドスタートステータス、および各コールドスタートステップの期間が含まれます。Function Compute は、呼び出しログ内のこれらのメトリックに基づいてリクエストのリストを表示できます。また、すべてのエラーリクエストやコールドスタートを含むリクエストをフィルタリングするなど、メトリックに基づいてリクエストをフィルタリングすることもできます。
無効化: リクエストの詳細な実行情報を表示できません。
インスタンスレベルのメトリック
いいえ
インスタンスレベルのメトリック機能を有効または無効にします。有効な値:
有効化: この機能を有効にすると、関数インスタンスのメトリックデータが選択した Logstore に配信されます。インスタンスの CPU、メモリ、ネットワーク I/O メトリックなど、関数インスタンスディメンションでパフォーマンスメトリックを表示できます。Function Compute は、インスタンスレベルのメトリックデータに基づいてインスタンスレベルの可観測性を提供します。これにより、関数インスタンスのエンドツーエンドのモニタリングとトラブルシューティングパスが提供されます。詳細については、「インスタンスレベルのメトリック」をご参照ください。
無効化: インスタンスメトリックの詳細を表示できません。
Serverless Devs を使用したロギングの構成
前提条件
手順
コードディレクトリを作成します。次のサンプルコードはディレクトリ構造を示しています。
. ├── code │ └── index.js └── s.yaml次のサンプルコードは s.yaml ファイルを示しています。
この例では、logConfig フィールドを使用してロギング機能を構成します。logstore と project の値を既存の Logstore とプロジェクトに変更する必要があります。logConfig を auto に設定することもできます。この場合、Function Compute プラットフォームは logstore と project を自動的に指定します。
edition: 3.0.0 name: hello-world-app access: "default" vars: # グローバル変数 region: "cn-hangzhou" resources: hello_world: component: fc3 # コンポーネント名 props: region: ${vars.region} functionName: "start-nodejs-****" description: 'hello world by serverless devs' runtime: "nodejs16" code: ./code handler: index.handler memorySize: 128 timeout: 30 logConfig: # logstore と project の値を実際の Logstore とプロジェクトに変更します。logConfig を auto に設定して、プロジェクトと Logstore を自動的に作成することもできます。 enableInstanceMetrics: true # インスタンスレベルのメトリックを有効にします。 enableRequestMetrics: true # リクエストレベルのメトリックを有効にします。 logBeginRule: DefaultRegex # ログ分割ルール。 logstore: 'your-logstore' # Logstore 名を指定します。Logstore は事前に作成しておく必要があります。 project: 'your-project' # プロジェクト名を指定します。プロジェクトは事前に作成しておく必要があります。次のコマンドを実行してアプリケーションをデプロイします。
sudo s deploy -yコマンドが正常に実行された後、Function Compute コンソールにログインして、関数がデプロイされ、ロギング機能が有効になっていることを確認できます。
ロギング機能を無効にする
ロギング機能を無効にすると、関数の実行ログは収集または保存されなくなります。これは、トラブルシューティングとパフォーマンス分析に影響を与える可能性があります。注意して進めてください。
Log on to the Function Compute コンソール. In the navigation pane on the left, choose .
上部のナビゲーションバーで、リージョンを選択します。[関数] ページで、対象の関数をクリックします。
関数の詳細ページで、[設定] タブをクリックし、[高度な設定] の右側にある [編集] をクリックします。[高度な設定] パネルで [ログ] セクションを見つけ、[ログ機能] スイッチをオフにしてから、[デプロイ] をクリックします。
呼び出しログの表示
関数の詳細ページで、[ログ] タブをクリックして、関数の呼び出しレコードを表示します。
関数の詳細ページで、[バージョン管理] または [エイリアス管理] タブをクリックし、関数バージョンまたはエイリアスを選択してその詳細ページに移動し、[ログ] タブをクリックして対応するログを表示できます。
[呼び出しリクエスト] タブまたは [キーワードで検索] タブで関数の呼び出しログを表示できます。次のリストでは、2 つのタブに表示される情報の違いについて説明します。
呼び出しリクエスト
このタブには、関数の呼び出し終了時刻、リクエスト ID、呼び出し結果、インスタンス ID、および関数バージョン/エイリアスが一覧表示されます。
対応する [リクエスト ID] をクリックして、リクエストとログの詳細を表示できます。
対応する [インスタンス ID] をクリックして、CPU 使用率、メモリ使用量、ネットワークトラフィックなど、インスタンスのリソース使用量を表示できます。
[アクション] 列の [リクエストログ] をクリックしてログの詳細を表示するか、[アクション] 列の [高度なログ] をクリックして Simple Log Service コンソールを開き、ログのクエリと分析を行うことができます。
キーワード検索
関数の呼び出し時間、ログの内容、および関数バージョンまたはエイリアスが表示されます。[アクション] 列の [ログコンテキスト] をクリックしてログエントリのコンテキストをクエリするか、[アクション] 列の [Logstore] をクリックして Simple Log Service コンソールを開き、ログのクエリと分析を行うことができます。
検索ボックスにキーワードを入力してログをクエリできます。たとえば、テキスト
hello worldを含むログを検索する場合は、検索ボックスにキーワードhello worldを入力します。検索結果として、キーワードを含むすべてのログ行が返されます。構文の詳細については、「検索構文と関数」をご参照ください。
関連資料
SDK または API 操作を呼び出して、関数のロギングを構成することもできます。詳細については、「CreateFunction」をご参照ください。