Function Computeは、CPU使用率、メモリ使用量、インスタンスのネットワーク状態、インスタンスが同時に処理するリクエスト数などのコアメトリックを表示できるインスタンスレベルのメトリックを提供します。 このトピックでは、インスタンスレベルのメトリックの背景情報、定義、および詳細について説明します。 このトピックでは、インスタンスレベルのメトリックの収集を有効にする方法についても説明します。

このタスクについて

Function Computeは、完全マネージド型のイベント駆動型コンピューティングサービスです。 コンピューティングクラスターを維持する必要はありません。 ただし、ビジネスコードの開発から通常の運用までのプロセス中に、次のシナリオが発生する可能性があります。
  • CPU集約型のシナリオで特定のCPU使用率を表示する方法。
  • 単一インスタンスの複数の同時実行を使用するときに、適切な単一インスタンスの並列処理を設定する方法。
  • 実行中に関数が失敗した場合は、実行失敗の原因となるコード例外や関数インスタンスのパフォーマンス例外など、関数の実行失敗の原因を確認します。

Function Computeが提供するインスタンスレベルのメトリックは、上記の問題を解決し、Function Computeの各インスタンスの正常性ステータスを理解するのに役立ちます。

インスタンスレベルのメトリックとは

インスタンスレベルのメトリックは、関数の実行に使用されるインスタンスのパフォーマンスメトリックです。 インスタンスが監視され、そのパフォーマンスメトリックがリアルタイムで収集されます。 メトリックは視覚化された方法で表示され、インスタンスのエンドツーエンドのモニタリングとトラブルシューティングパスを提供します。

インスタンスレベルのメトリックは、次のディメンションで表示できます。
  • 関数または関数修飾子: インスタンスの関数固有のメトリック。 たとえば、関数Aが2つのインスタンスによって同時に実行される場合、関数固有のCPUメトリックは、これら2つのインスタンスの最大CPU使用率です。
  • インスタンス: 特定のインスタンスのメトリック。
  • 修飾子は、関数が呼び出されたときに渡されるバージョン情報を示します。 バージョン番号またはエイリアスにすることができます。
  • インスタンスは、Function Computeによって動的に作成および再利用されます。 各インスタンスは短期間のみ存在します。 インスタンスは管理できません。

メトリクス

インスタンスレベルのメトリクスの収集を有効にすると、Function Computeは関数実行のメトリクスを収集します。 次の方法でインスタンスレベルのメトリックを表示できます。
  • 監視センター: Function Computeの監視センターモジュールには、インスタンスレベルのメトリックを視覚化して表示する組み込みのダッシュボードがあります。 Function Computeコンソールにログインし、[モニタリングセンター] ページのダッシュボードで次のメトリクスを表示できます。
    • 同じ関数を実行するインスタンスのメトリック
    • すべてのインスタンスのメトリックMetrics of all instances
    • 指定されたインスタンスのメトリック
  • Log Service: Function ComputeはインスタンスレベルのメトリクスをLog Serviceにインポートします。 Log Serviceの分析機能とApplication Real-Time Monitoring Service (ARMS) のログ収集機能を使用して、カスタムビジュアルダッシュボードを作成できます。
    各インスタンスのインスタンスレベルのメトリックは、次の形式で間隔を置いてログに記録されます。hanshujisuanshilijibiezhibiao
次の表に、インスタンスレベルのメトリックを示します。
GUI 要素 説明
cpuPercent CPU使用率。 使用されているCPUコアの数を示します。 値は100% を超える場合があります。 120%
cpuQuotaPercent 推定最大CPU使用率。 関数の実行に使用するメモリとCPUの関係は次のとおりです。
  • オンデマンドモード: 3 GBのメモリは2つのvCPUに対応します。
  • プロビジョニングモード: 2 GBのメモリが1つのvCPUに対応します。
50%
memoryUsageMB インスタンスによって使用されるメモリの量。 (単位:MB) 16.87
memoryLimitMB インスタンスで使用できるメモリの最大量。 (単位:MB) 1024
rxBytes ログが生成される時間間隔でインスタンスが受信したトラフィック。 単位:バイト 158
txBytes ログが生成される時間間隔でインスタンスによって送信されたトラフィック。 単位:バイト 1598
rxTotalBytes インスタンスの開始以降にインスタンスが受信したトラフィック。 単位:バイト 158875
txTotalBytes インスタンスが開始されてからインスタンスによって送信されたトラフィック。 単位:バイト 36123
concurrentRequests インスタンスが同時に処理するリクエストの数。 10
hostname インスタンスが実行されているホストの名前。 36123
  • cpuQuotaPercentメトリックは理論的です。 cpuPercentメトリックの値がcpuQuotaPercentメトリックの値を超える場合があります。 この場合、インスタンスは同じホスト上の他のインスタンスのリソースをプリエンプションします。
  • インスタンスとシステムモジュール間の通信では、少量のトラフィックが発生します。 したがって、機能内にネットワークアクセスが存在しない場合、少量の送受信トラフィックが生成される。
  • インスタンスのトラフィックは、インスタンスのインバウンドトラフィックとアウトバウンドトラフィックのみを表します。 インターネットトラフィックとプライベートネットワークのトラフィックは一緒にカウントされ、この監視チャートに基づいてトラフィック料金を計算することはできません。

インスタンスレベルのメトリックの収集を有効にする

  1. Function Computeコンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[サービスと関数] をクリックします。
  3. 上部のナビゲーションバーで、Kubernetesクラスターがデプロイされているリージョンを選択します。
  4. [サービス] ページで、目的のサービスを見つけます。 [操作][設定] をクリックします。
  5. [編集] ページの [インスタンスレベルの指標] セクションで、[有効] を選択し、[保存] をクリックします。
    new_log
    サービスの作成時にログ機能を有効にしない場合は、[ログ設定] セクションでログ機能とインスタンスレベルのメトリックを有効にする必要があります。

タスクの結果

インスタンスレベルのメトリックを有効にすると、[モニタリングセンター] ページで、CPU使用率、メモリ使用率、インスタンスネットワークステータス、インスタンス内のリクエスト数などのインスタンスレベルのメトリックを表示できます。