Function Computeは、vCPU使用率、メモリ使用率、インスタンスのネットワーク状態、インスタンスが同時に処理するリクエスト数などのコアメトリックを表示できるインスタンスレベルのメトリックを提供します。 このトピックでは、インスタンスレベルのメトリックの背景情報、定義、および詳細について説明します。 このトピックでは、インスタンスレベルのメトリックの収集を有効にする方法についても説明します。
背景情報
Function Computeは、完全マネージド型のイベント駆動型コンピューティングサービスです。 コンピューティングクラスターを維持する必要はありません。 ただし、コードの開発および実行中に次の問題が発生する可能性があります。- CPU集約型のシナリオでvCPU使用率を表示する方法。
- 1つのインスタンスが同時に処理できる適切な数のリクエストを設定する方法。
- 関数の実行失敗の原因を特定する方法。 考えられる原因には、コード例外とインスタンスパフォーマンス例外があります。
Function Computeが提供するインスタンスレベルのメトリックは、前述の問題を解決し、Function Computeのインスタンスのヘルスステータスを追跡するのに役立ちます。
インスタンスレベルのメトリックとは
インスタンスレベルのメトリックは、関数の実行に使用されるインスタンスのパフォーマンスメトリックです。 インスタンスが監視され、そのパフォーマンスメトリックがリアルタイムで収集されます。 メトリックは視覚化された方法で表示され、インスタンスのエンドツーエンドのモニタリングとトラブルシューティングパスを提供します。
インスタンスレベルのメトリックは、次のディメンションで表示できます。
- 関数または関数修飾子: インスタンスの関数固有のメトリック。 たとえば、関数Aが2つのインスタンスによって同時に実行される場合、関数固有のvCPUメトリックは、これら2つのインスタンスの最大vCPU使用率です。
- インスタンス: 特定のインスタンスのメトリック。
説明
- 修飾子は、関数が呼び出されたときに渡されるバージョン情報を示します。 修飾子は、バージョン番号またはエイリアスです。
- インスタンスは、Function Computeによって動的に作成および再利用されます。 各インスタンスは短期間のみ存在します。 インスタンスは管理できません。
メトリクス
インスタンスレベルのメトリックの収集を有効にすると、Function Computeは関数実行メトリックを収集します。 次の方法でインスタンスレベルのメトリックを表示できます。
- 監視センター: Function Computeの監視センターモジュールには、インスタンスレベルのメトリックを視覚化して表示する組み込みのダッシュボードがあります。 Function Computeコンソールにログインし、[モニタリングセンター] ページのダッシュボードで次のメトリクスを表示できます。
- 同じ関数を実行するインスタンスのメトリック
- すべてのインスタンスのメトリックMetrics of all instances
- 指定されたインスタンスのメトリック
- Log Service: Function ComputeはインスタンスレベルのメトリクスをLog Serviceにインポートします。 Log Serviceの分析機能を使用して、カスタムビジュアルダッシュボードを作成できます。 詳細については、「ログの照会と分析」をご参照ください。 各インスタンスのインスタンスレベルのメトリックは、間隔を置いてログに記録されます。 フォーマットを次の図に示します。
次の表に、インスタンスレベルのメトリックを示します。
メトリック | 説明 | 例 |
cpuPercent | vCPU使用率。 値は使用されるvCPUの数を示し、100% を超える可能性があります。 | 120% |
cpuQuotaPercent | インスタンスの最大vCPUクォータ。 vCPUとメモリの仕様を柔軟に設定できます。 vCPUとメモリの比率 (vCPU:GB) は1:1から1:4でなければなりません。 | 50% |
memoryUsageMB | インスタンスによって使用されるメモリの量。 単位:MB。 | 16.87 |
memoryLimitMB | インスタンスで使用できるメモリの最大量。 単位:MB。 | 1024 |
rxBytes | ログが生成される時間間隔でインスタンスが受信したデータの量。 単位:バイト | 158 |
txBytes | ログが生成される時間間隔でインスタンスによって送信されたデータの量。 単位:バイト | 1598 |
rxTotalBytes | インスタンスの起動以降にインスタンスが受信したデータの量。 単位:バイト | 158875 |
txTotalBytes | インスタンスが起動されてからインスタンスによって送信されたデータの量。 単位:バイト | 36123 |
concurrentRequests | インスタンスが現在処理しているリクエストの数。 | 10 |
hostname | インスタンスが実行されているホストの名前。 | 36123 |
説明
- cpuQuotaPercentメトリックの値は理論値です。 cpuPercentメトリックの値がcpuQuotaPercentメトリックの値を超える場合があります。 この場合、インスタンスは同じホスト上の他のインスタンスのリソースをプリエンプションします。
- インスタンスとシステムモジュール間の通信は、少量のトラフィックを生成します。 したがって、機能内でネットワークアクセスが行われていない場合であっても、送受信トラフィックの発生量が少ない。
- インスタンスのトラフィックは、インスタンスのインバウンドトラフィックとアウトバウンドトラフィックのみを表します。 インターネットトラフィックとプライベートネットワークのトラフィックは一緒にカウントされ、この監視チャートに基づいてトラフィック料金を計算することはできません。
インスタンスレベルのメトリックの収集を有効にする
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで目的のサービスを見つけ、[操作] 列の [設定] をクリックします。
- [サービスの変更] ページの [ログ設定] セクションで、[インスタンスレベルのメトリック] を有効にし、[保存] をクリックします。 説明 サービスの作成時にログ機能を有効にしない場合は、[ログ設定] セクションで [ロギング] を有効にし、関連するパラメーターを設定する必要があります。