Function Computeは、vCPU使用率、メモリ使用率、インスタンスのネットワーク状態、インスタンスが実行するリクエスト数などのコアメトリックを表示できるインスタンスレベルのメトリックを提供します。 このトピックでは、インスタンスレベルのメトリックの背景情報、定義、および詳細について説明します。 このトピックでは、インスタンスレベルのメトリックの収集を有効にする方法についても説明します。
背景情報
Function Computeは、完全マネージド型のイベント駆動型コンピューティングサービスです。 コンピューティングクラスターを維持する必要はありません。 ただし、コードの開発および実行中に次の問題が発生する可能性があります。
CPU集約型のシナリオでvCPU使用率を表示する方法。
関数の実行失敗の原因を特定する方法。 考えられる原因には、コード例外とインスタンスパフォーマンス例外があります。
Function Computeが提供するインスタンスレベルのメトリックは、前述の問題を解決し、Function Computeのインスタンスのヘルスステータスを追跡するのに役立ちます。
インスタンスレベルのメトリックとは
インスタンスレベルのメトリックは、関数の実行に使用されるインスタンスのパフォーマンスメトリックです。 インスタンスが監視され、そのパフォーマンスメトリックがリアルタイムで収集されます。 メトリックは視覚化された方法で表示され、インスタンスのエンドツーエンドのモニタリングとトラブルシューティングパスを提供します。
インスタンスレベルのメトリックは、次のディメンションで表示できます。
関数または関数修飾子: インスタンスの関数固有のメトリック。 たとえば、関数Aが2つのインスタンスによって同時に実行される場合、関数固有のvCPUメトリックは、これら2つのインスタンスの最大vCPU使用率です。
インスタンス: 特定のインスタンスのメトリック。
修飾子は、関数が呼び出されたときに渡されるバージョン情報を示します。 値は、バージョン番号またはエイリアスのいずれかです。
インスタンスは、Function Computeによって動的に作成および再利用されます。 各インスタンスは短期間のみ存在します。 インスタンスに対する操作は実行できません。
メトリクス
インスタンスレベルのメトリックの収集を有効にすると、Function Computeは関数実行メトリックを収集します。 次の方法でインスタンスレベルのメトリックを表示できます。
監視センター: Function Computeの監視センターモジュールには、インスタンスレベルのメトリックを視覚化して表示する組み込みのダッシュボードがあります。 関数の詳細ページで、[モニタリング] タブをクリックしてダッシュボードを表示できます。
同じ関数を実行するインスタンスのメトリック
インスタンスのメトリックMetrics of an instance
Simple Log Service: Function Computeは、インスタンスレベルのメトリクスをSimple Log Serviceにインポートします。 Simple 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コンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。
関数の設定ページで、設定タブをクリックします。
[ログ] タブで、[編集] をクリックします。 ログパネルで、[インスタンスレベルのメトリック] を有効にし、[OK] をクリックします。
説明サービスの作成時にログ機能を有効にしなかった場合は、ログパネルでログ機能を有効にし、関連するパラメーターを設定する必要があります。
実行結果
インスタンスレベルのメトリックを有効にすると、[モニタリング] タブで、vCPU使用率、メモリ使用率、インスタンスのネットワークステータス、インスタンスのリクエスト数などのインスタンスレベルのメトリックを表示できます。