すべてのプロダクト
Search
ドキュメントセンター

Cloud Monitor:インフラ監視とオペレーティングシステム監視

最終更新日:Oct 21, 2026

Elastic Compute Service (ECS) は、インフラ監視 (エージェントレス、ホストから収集) とオペレーティングシステム監視 (エージェントベース、Cloud Monitor エージェントが OS 内から収集) の 2 種類のホストメトリックを提供します。このトピックでは、両タイプの違い、収集方法、メトリックの定義について説明します。

インフラ監視とオペレーティングシステム監視の違い

比較項目

インフラ監視

オペレーティングシステム監視

監視場所

仮想化スタック

仮想マシンのオペレーティングシステム内

収集頻度

1 分間に 1 回

1 秒間に 1 回

集計出力

なし

データは 1 秒に 1 回サンプリングされ、15 秒ごとにデータポイントに集計されます。最小値 (min)、平均値 (avg)、最大値 (max) の 3 つのメトリックが生成されます。

インストール要件

プローブは不要です。すぐに使用できます。

Cloud Monitor エージェントのインストールが必要です。

メリット

  • 追加のリソースオーバーヘッドなし。

  • 幅広い適用性。インスタンスで実行されている高いワークロードの影響を受けません。

  • より高いデータ精度。

  • プロセスと関連付けて「スティールタイム」などの問題を診断できます。

デメリット

  • 精度が低い。CPU のバースト的な変動を検出できません。

  • 特定のプロセスのオーバーヘッドと関連付けることができません。

  • インストールとメンテナンスが必要です。リソースオーバーヘッドが発生します。

  • 仮想マシン (VM) がハングしたり、起動またはシャットダウンの問題が発生した場合、データが失われる可能性があります。

典型的なシナリオ

VM の実行状態に影響されません。インスタンスのハングや機能停止の診断に適していますが、サンプリング頻度が低いため、急激なパフォーマンススパイクの検出には限界があります。

アプリケーションのパフォーマンス診断、リアルタイムモニタリング、およびアラート機能。

よくある質問:インフラ監視とオペレーティングシステム監視でデータ (接続数や CPU 使用率など) が一致しないのはなぜですか。どちらを信頼すべきですか。

2 つの監視タイプ間でデータが一致しないことは想定内の正常な動作です。この違いは、次の 3 つの要因から生じます:

  1. 収集の観点:インフラ監視はホスト (ハイパーバイザレベル) からデータを収集するのに対し、オペレーティングシステム監視は Cloud Monitor エージェントを介して ECS インスタンス内からデータを収集します。インフラ監視のネットワークトラフィックは課金データから派生し、ECS と SLB 間の非課金トラフィックは除外されます。一方、オペレーティングシステム監視は各ネットワークインターフェイスコントローラ (NIC) の実際のトラフィックを記録します。その結果、オペレーティングシステム監視のネットワークデータはインフラ監視のネットワークデータよりも高くなる場合があります。

  2. 収集頻度:インフラ監視は 1 分間隔で収集し、平均値のみを提供します。オペレーティングシステム監視は 15 秒間隔で収集し、最大値、最小値、平均値を提供するため、より細かい粒度が得られます。I/O 集約型インスタンスの場合、インフラ監視の 1 分間の統計期間では、I/O 負荷によって引き起こされる短期的な CPU スパイクが平均化されるため、インフラ監視の CPU データは 15 秒間隔で収集されるオペレーティングシステム監視のデータよりも低く見えることがあります。

  3. 統計方法:2 つの監視タイプは異なる統計方法を使用しているため、同じ基盤となるリソースに対して異なる値が生成されるのは当然です。

インスタンス内のパフォーマンスの問題をトラブルシューティングする場合や、正確なアラートのしきい値を設定する場合は、オペレーティングシステム監視データの使用を推奨します。オペレーティングシステム監視は、より細かい粒度で、より正確なインスタンス内部のステータスを提供します。

よくある質問:ECS の CPU またはメモリのアラートルールを設定する場合、インフラ監視とオペレーティングシステム監視のどちらのメトリックを使用すべきですか。

選択は、モニタリングの要件によって異なります:

  • オペレーティングシステム監視メトリック (プレフィックス (エージェント)):高精度のモニタリング、プロセスレベルの診断、またはリアルタイムアラートが必要な場合に推奨されます。インスタンスに Cloud Monitor エージェントをインストールする必要があります。より正確なインスタンス内部のリソースステータスを提供します。

  • インフラ監視メトリック (プレフィックス (ECS)):エージェントレスでの基本的なリソース概要の把握や、インスタンスのダウンタイムまたは無応答 (ハング) インスタンスのシナリオの診断に適しています。

ほとんどの場合、より正確で粒度の細かいインスタンス内部のステータスを把握するために、オペレーティングシステム監視メトリックの使用を推奨します。

インフラ監視

ECS はホストからインスタンスのメトリックを収集します。OS レベルのプラグインをインストールする必要はありません。

収集とレポート

ホストプローブは 1 分間に 1 つのデータポイントを収集し、その間隔の平均値を表します。

メトリック

インフラ監視メトリックは 1 分間隔で収集されます。

説明

1 分の粒度では、最大値、最小値、平均値は同じになります。

メトリック名

説明

単位

MetricName

ディメンション

統計

(ECS) CPU 使用率

CPU 使用量

%

CPUUtilization

userId, instanceId

最大値, 最小値, 平均値

(ECS) インバウンドインターネット帯域幅 (クラシックネットワーク)

インバウンドインターネットトラフィックの平均レート

bit/s

InternetInRate

userId, instanceId

最大値, 最小値, 平均値

(ECS) インバウンドプライベートネットワーク帯域幅

インバウンドプライベートネットワークトラフィックの平均レート

bit/s

IntranetInRate

userId, instanceId

最大値, 最小値, 平均値

(ECS) アウトバウンドインターネット帯域幅 (クラシックネットワーク)

アウトバウンドインターネットトラフィックの平均レート

bit/s

InternetOutRate

userId, instanceId

最大値, 最小値, 平均値

(ECS) アウトバウンドプライベートネットワーク帯域幅

アウトバウンドプライベートネットワークトラフィックの平均レート

bit/s

IntranetOutRate

userId, instanceId

最大値, 最小値, 平均値

(ECS) 全ディスクの読み取り BPS

システムディスクから 1 秒あたりに読み取られる合計バイト数

Byte/s

DiskReadBPS

userId, instanceId

最大値, 最小値, 平均値

(ECS) 全ディスクの書き込み BPS

システムディスクに 1 秒あたりに書き込まれる合計バイト数

Byte/s

DiskWriteBPS

userId, instanceId

最大値, 最小値, 平均値

(ECS) 全ディスクの読み取り IOPS

全ディスクの読み取り IOPS

counts/s

DiskReadIOPS

userId, instanceId

最大値, 最小値, 平均値

(ECS) 全ディスクの書き込み IOPS

全ディスクの書き込み IOPS

counts/s

DiskWriteIOPS

userId, instanceId

平均値, 最小値, 最大値

(ECS) IP アドレスごとのインバウンドインターネット帯域幅

インバウンドインターネット帯域幅

bit/s

VPC_PublicIP_InternetInRate

userId, instanceId, ip

最大値, 最小値, 平均値

(ECS) IP アドレスごとのアウトバウンドインターネット帯域幅

アウトバウンドインターネット帯域幅

bit/s

VPC_PublicIP_InternetOutRate

userId, instanceId, ip

最大値, 最小値, 平均値

(ECS) IP アドレスごとのアウトバウンドインターネット帯域幅使用率

アウトバウンドインターネット帯域幅使用量

%

VPC_PublicIP_InternetOutRate_Percent

userId, instanceId, ip

平均値

(ECS) インバウンドインターネットトラフィック (クラシックネットワーク)

インバウンドインターネットトラフィック

Byte

InternetIn

userId, instanceId

平均値, 最小値, 最大値, 合計

(ECS) アウトバウンドインターネットトラフィック (クラシックネットワーク)

アウトバウンドインターネットトラフィック

Byte

InternetOut

userId, instanceId

最大値, 最小値, 平均値

インフラ監視データの表示

  1. Cloud Monitor コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[クラウドリソースのモニタリング] > [ホストモニタリング] を選択します。

  3. ホストのモニタリング ページで、ターゲットインスタンスの名前をクリックするか、操作 列の モニタリングチャート をクリックします。

  4. [基本モニタリング] タブをクリックします。

    [基本モニタリング] タブで、インフラ監視データを表示します。ホストのアラートルールを作成したり、アラートを表示したりすることもできます。

オペレーティングシステム監視

Cloud Monitor は、Alibaba Cloud ホスト (ECS インスタンス) および Alibaba Cloud 以外のホストにインストールされた Cloud Monitor エージェントを介して OS レベルのメトリックを収集します。これらのメトリックに対してアラートルールを設定できます。メトリックがアラートルールをトリガーすると、Cloud Monitor はアラート通知を送信し、迅速に問題に対処できるようにします。

前提条件

Alibaba Cloud ホスト (ECS インスタンス) および Alibaba Cloud 以外のホストに Cloud Monitor エージェントをインストールしていることを確認してください。

収集とレポート

Cloud Monitor のホストプローブは、1 秒に 1 回データをサンプリングし、15 秒ごとにデータポイントに集計します。各データポイントには、最小値 (min)、最大値 (max)、平均値 (avg) の 3 つの値が含まれます。

メトリック

OS 監視メトリックは 15 秒ごとに収集され、次のように分類されます:

説明

Cloud Monitor では、トラフィック量は 2 進数 (1024 ベース) の単位を使用します。MiB はメビバイト (1 MiB = 1,024 × 1,024 バイト) を表します。大文字の B はバイト (Byte) を示します。帯域幅の値は bit/s (ビット/秒) を使用します。換算の参考にしてください:

  • 1 MiB = 1,048,576 バイト

  • 1 バイト = 8 ビット

  • CPU 関連メトリック

    • Windows

      `ntdll` の `NtQuerySystemInformation` 関数を呼び出して、CPU の各部分が費やした時間を取得します。この関数を間隔をあけて 2 回呼び出すことで、その間隔中に CPU の各部分が費やした時間の割合を計算できます。

    • Linux

      次の表のメトリックは、top コマンドの出力に対応します。

    メトリック名

    説明

    単位

    MetricName

    ディメンション

    統計

    説明 (Linux のみ)

    (エージェント) cpu.idle

    アイドル状態の CPU の割合。

    %

    cpu_idle

    userId, instanceId

    最大値, 最小値, 平均値

    CPU がアイドル状態である時間の割合。

    (エージェント) cpu.system

    カーネル空間で費やされた CPU 時間の割合。

    %

    cpu_system

    userId, instanceId

    最大値, 最小値, 平均値

    システムコンテキストスイッチによるオーバーヘッド。高い値は、プロセスやスレッドが多すぎることを示します。

    (エージェント) cpu.user

    ユーザースペースで費やされた CPU 時間の割合。

    %

    cpu_user

    userId, instanceId

    最大値, 最小値, 平均値

    ユーザープロセスによる CPU 消費。

    (エージェント) cpu.wait

    I/O 操作の待機に費やされた CPU 時間の割合。

    %

    cpu_wait

    userId, instanceId

    最大値, 最小値, 平均値

    高い値は、頻繁な I/O 操作を示します。

    (エージェント) cpu.other

    他のタスクに費やされた CPU 時間の割合。

    %

    cpu_other

    userId, instanceId

    最大値, 最小値, 平均値

    その他の消費 = Nice + SoftIrq + Irq + Stolen。

    (エージェント) cpu.total

    消費された CPU の合計割合。

    %

    cpu_total

    userId, instanceId

    最大値, 最小値, 平均値

    CPU 使用率 = 1 - Host.cpu.idle

    説明

    Cloud Monitor の CPU 使用率メトリックには、iowait (wa) 時間が含まれます。アプリケーションが I/O 操作を待ってブロックされている場合、top や htop では特定の高 CPU プロセスが表示されないかもしれませんが、wa 値が上昇しているため、Cloud Monitor の合計 CPU 使用率は高く表示されます。さらに、Cloud Monitor は監視間隔中に収集された集計値 (最大値または平均値) を表示しますが、top はデフォルトでリアルタイムのスナップショットを表示します。Cloud Monitor の読み取り値と一致する一時的な CPU スパイクをキャプチャするには、top -d 0.5 を実行して更新頻度を上げてください。

  • メモリ関連メトリック

    • Windows

      `kernel32.dll` の `GlobalMemoryStatusEx` 関数を呼び出して、32 ビット Windows オペレーティングシステムの物理メモリと仮想メモリの現在の使用状況を取得します。

    • Linux

      次の表のメトリックは、free コマンドの出力に対応します。データソースは /proc/meminfo です。

    メトリック

    説明

    単位

    MetricName

    ディメンション

    統計

    説明 (Linux のみ)

    (エージェント) memory.total.space

    合計メモリ。

    Byte

    memory_totalspace

    userId, instanceId

    最大値, 最小値, 平均値

    サーバー上の合計メモリ量。

    これは /proc/meminfo の MemTotal に対応します。

    (エージェント) memory.free.space

    空きメモリの量。

    Byte

    memory_freespace

    userId, instanceId

    最大値, 最小値, 平均値

    システムで使用可能なメモリの量。

    これは /proc/meminfo の MemFree に対応します。

    (エージェント) memory.used.space

    使用済みメモリの量。

    Byte

    memory_usedspace

    userId, instanceId

    最大値, 最小値, 平均値

    システムで使用されているメモリの量。

    計算方法:total - free。

    (エージェント) memory.actualused.space

    ユーザーによって消費されたメモリの量。

    Byte

    memory_actualusedspace

    userId, instanceId

    最大値, 最小値, 平均値

    計算方法:

    • /proc/meminfo に MemAvailable が存在する場合:total - MemAvailable

    • /proc/meminfo に MemAvailable が存在しない場合:used - buffers - cached

    説明

    CentOS 7.2 や Ubuntu 16.04 以降など、新しい Linux カーネルを使用するシステムでは、メモリの推定がより正確になります。MemAvailable の具体的な意味については、この コミットをご参照ください。

    (エージェント) memory.free.utilization

    空きメモリの割合。

    %

    memory_freeutilization

    userId, instanceId

    最大値, 最小値, 平均値

    計算方法:

    • /proc/meminfo に MemAvailable が存在する場合:(MemAvailable / total) × 100%。

    • /proc/meminfo に MemAvailable が存在しない場合:((total - actualused) / total) × 100%。

    (エージェント) memory.used.utilization

    メモリ使用量。

    %

    memory_usedutilization

    userId, instanceId

    最大値, 最小値, 平均値

    計算方法:

    • /proc/meminfo に MemAvailable が存在する場合:((total - MemAvailable) / total) × 100%。

    • /proc/meminfo に MemAvailable が存在しない場合:((total - free - buffers - cached) / total) × 100%。

    説明

    Cloud Monitor のメモリ使用率メトリック (memory.used.utilization) は、バッファ/キャッシュを除外します。これは、数式 (Total − MemAvailable) / Total × 100% (/proc/meminfo で MemAvailable が利用可能な場合) を使用して計算されます。これにより、レガシーな free コマンドの出力 (「Used」の値にシステムキャッシュが含まれる) と比較して、真に利用可能なメモリをより正確に反映します。Cloud Monitor のメモリ使用量と free コマンドの出力との間に不一致が見られる場合、これは想定された動作です。

    説明

    Cloud Monitor には現在、SWAP (スワップ領域) の使用量メトリックは含まれていません。SWAP のモニタリングが必要な場合は、次の代替案を検討してください:

    • 物理メモリ使用量の監視 (memory.used.utilization):SWAP は通常、物理メモリが不足している場合にのみ多用されます。物理メモリの使用量を監視することで、通常はメモリプレッシャーを検出するのに十分です。

    • Simple Log Service (SLS) によるカスタム SWAP 監視:Simple Log Service (SLS) のホストログローカル収集機能を使用して、インスタンスから SWAP 使用量情報を収集および集計します。

  • システム平均負荷メトリック

    • Windows

      この監視メトリックは存在しません。

    • Linux

      次の表のメトリックは、top コマンドの出力に対応します。値が高いほど、システムがビジーであることを示します。

    メトリック名

    説明

    単位

    MetricName

    ディメンション

    統計

    (エージェント) load.1m

    過去 1 分間の平均システム負荷。

    なし

    load_1m

    userId, instanceId

    最大値, 最小値, 平均値

    (エージェント) load.5m

    過去 5 分間の平均システム負荷。

    なし

    load_5m

    userId, instanceId

    最大値, 最小値, 平均値

    (エージェント) load.15m

    過去 15 分間の平均システム負荷。

    なし

    load_15m

    userId, instanceId

    最大値, 最小値, 平均値

    (エージェント) load.1m.percore

    過去 1 分間の CPU コアあたりの平均システム負荷。

    なし

    load_per_core_1m

    userId, instanceId

    最大値, 最小値, 平均値

    (エージェント) load.5m.percore

    過去 5 分間の CPU コアあたりの平均システム負荷。

    なし

    load_per_core_5m

    userId, instanceId

    最大値, 最小値, 平均値

    (エージェント) load.15m.percore

    過去 15 分間の CPU コアあたりの平均システム負荷。

    なし

    load_per_core_15m

    userId, instanceId

    最大値, 最小値, 平均値

  • ディスク関連メトリック

    • Windows

      まず、`Kernel32.dll` の `GetDiskFreeSpaceExA` 関数を呼び出して、利用可能なディスク領域を取得します。これにより、使用済みストレージ領域、ディスク使用率、空きストレージ領域、およびディスクの合計ストレージ領域が提供されます。次に、`RegConnectRegistryA` 関数を呼び出して `HKEY_PERFORMANCE_DATA` レジストリに接続します。最後に、`RegQueryValueExA` 関数を呼び出して、`HKEY_PERFORMANCE_DATA` レジストリからディスク関連のプロパティをクエリします。これらのプロパティには、読み取り回数、書き込み回数、書き込みバイト数、読み取りバイト数、読み取りにかかった時間、書き込みにかかった時間、およびディスク使用時間が含まれます。

    • Linux

      ディスク使用率と inode メトリックは df コマンドの出力に対応します。ディスクの読み取り/書き込みメトリックは iostat コマンドの出力に対応します。

    メトリック

    説明

    単位

    MetricName

    ディメンション

    統計

    Host.diskusage.used

    使用済みディスクストレージ領域。

    Byte

    diskusage_used

    userId, instanceId, device

    最大値, 最小値, 平均値

    Host.diskusage.utilization

    一般ユーザのディスク使用率。

    %

    diskusage_utilization

    userId, instanceId, device

    最大値, 最小値, 平均値

    Host.diskusage.free

    一般ユーザとスーパーユーザの空きディスクストレージ領域。

    Byte

    diskusage_free

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) disk.usage.avail_device

    一般ユーザの空きディスクストレージ領域。

    Byte

    diskusage_avail

    userId, instanceId, device

    最大値, 最小値, 平均値

    Host.diskusage.total

    合計ディスクストレージ領域。

    Byte

    diskusage_total

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) disk.read.bps_device

    ディスクから 1 秒あたりに読み取られるバイト数。

    Byte/s

    disk_readbytes

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) disk.write.bps_device

    ディスクに 1 秒あたりに書き込まれるバイト数。

    Byte/s

    disk_writebytes

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) disk.read.iops_device

    ディスクへの 1 秒あたりの読み取りリクエスト数。

    counts/s

    disk_readiops

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) disk.write.iops_device

    ディスクへの 1 秒あたりの書き込みリクエスト数。

    counts/s

    disk_writeiops

    userId, instanceId, device

    最大値, 最小値, 平均値

  • ファイルシステムメトリック

    • Windows

      指定された監視メトリックは存在しません。

    • Linux

      次の表のメトリックは、df コマンドの出力に対応します。

    監視メトリック名

    説明

    単位

    MetricName

    ディメンション

    統計

    説明 (Linux のみ)

    (エージェント) fs.inode.utilization_device

    inode 使用率。

    %

    fs_inodeutilization

    userId, instanceId, device

    最大値, 最小値, 平均値

    Linux は inode 番号でファイルを追跡します。すべての inode が割り当てられると、ディスク領域が残っていても新しいファイルを作成できません。多数の小さなファイルが inode を使い果たす可能性があります。

    説明

    ホストモニタリングの「利用可能なディスク領域」メトリック (diskusage_free) には、ファイルシステムの予約ブロック領域 (Reserved block count) が含まれます。その結果、OS 内の df などのコマンドで表示される利用可能な領域とは値が異なる場合があります。これは想定された動作です。特定のデバイスの予約領域のサイズを調べるには、次のコマンドを実行します:

    tune2fs -l <device>
  • ネットワーク関連メトリック

    • Windows

      まず、`iphlpapi.dll` の `GetAdaptersAddresses` 関数を呼び出して、ローカルマシン上のアダプタアドレスを取得します。次に、`GetIfTable` 関数を呼び出して、各インターフェイスのネットワークメトリックを取得します。これらのメトリックには、1 秒あたりの受信ビット数、1 秒あたりの送信ビット数、1 秒あたりの受信パケット数、1 秒あたりの送信パケット数、受信エラーパケット数、および送信エラーパケット数が含まれます。

    • Linux

      • TCP 接続数は ss コマンドの出力に対応します。

        説明

        TCP 接続数には、ECS ホスト上のすべての TCP 接続が含まれます。

        デフォルトでは、TCP_TOTAL (合計接続数)、ESTABLISHED (確立状態の接続)、および NON_ESTABLISHED (非確立状態の接続、ESTABLISHED 以外のすべての状態を含む) の TCP 接続状態が収集されます。

      • 次の表のネットワークトラフィックメトリックは、iftop コマンドの出力に対応します。

    メトリック名

    説明

    単位

    MetricName

    ディメンション

    統計

    (エージェント) network.in.rate_device

    インバウンド NIC 帯域幅 (1 秒あたりの受信ビット数)。

    bit/s

    networkin_rate

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) network.out.rate_device

    アウトバウンド NIC 帯域幅 (1 秒あたりの送信ビット数)。

    bit/s

    networkout_rate

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) network.in.packages_device

    NIC が 1 秒あたりに受信したパケット数。

    packets/s

    networkin_packages

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) network.out.packages_device

    NIC が 1 秒あたりに送信したパケット数。

    packets/s

    networkout_packages

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) network.in.errorpackages_device

    デバイスドライバによって検出された受信エラーパケット数。

    packets/s

    networkin_errorpackages

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) network.out.errorpackages_device

    デバイスドライバによって検出された送信エラーパケット数。

    packets/s

    networkout_errorpackages

    userId, instanceId, device

    最大値, 最小値, 平均値

    (エージェント) network.tcp.connection_state

    さまざまな状態の TCP 接続数。LISTEN、SYN_SENT、ESTABLISHED、SYN_RECV、FIN_WAIT1、CLOSE_WAIT、FIN_WAIT2、LAST_ACK、TIME_WAIT、CLOSING、および CLOSED を含みます。

    カウント

    net_tcpconnection

    userId, instanceId, state

    最大値, 最小値, 平均値

  • 上位 5 つのプロセス関連メトリック

    • Windows

      • クエリ

        まず、`Kernel32.dll` の `OpenProcess` 関数を呼び出してプロセスにアクセスします。`GetProcessTimes` 関数を間隔をあけて 2 回呼び出して、CPU 使用率を計算します。次に、`RegConnectRegistryA` 関数を呼び出して `HKEY_PERFORMANCE_DATA` レジストリに接続します。最後に、`RegQueryValueExA` 関数を呼び出して、レジストリからプロセスプロパティをクエリします。これらのプロパティには、プロセス ID、親プロセス ID、優先度、仮想メモリ、常駐メモリ、共有メモリ、プロセス名、オープンファイル数、スレッド数、ページフォールト、読み取りバイト数、および書き込みバイト数が含まれます。

      • プロセス数 (Host.process.number)

        • `OpenProcess` 関数を呼び出してターゲットプロセスを開きます。`NTDLL` の `NtQueryInformationProcess` 関数を呼び出して `RTL_USER_PROCESS_PARAMETERS` 情報を取得します。`ReadProcessMemory` 関数を呼び出してプロセスのコマンドラインを取得します。このアクションにより、プロセスの引数 (args) とそのルート実行パス (現在の作業ディレクトリ) が取得されます。

        • `OpenProcessToken` 関数を呼び出してアクセストークンハンドルを取得します。`GetTokenInformation` 関数を呼び出してトークン情報を取得します。`LookupAccountSid` 関数を呼び出して、プロセスのユーザー名とユーザーグループを取得します。

        • 各プロセスについて、その引数 (args)、ルート実行パス、ユーザー名、およびユーザーグループがキーワードと照合されます。一致が見つかった場合、カウンターが 1 ずつインクリメントされます。

    • Linux

      • プロセスの CPU とメモリのメトリックは、top コマンドの出力に対応します。CPU 使用率はマルチコアの使用率を反映します。

      • Host.process.openfile は lsof コマンドの出力に対応します。

      • Host.process.number は ps aux | grep '<keyword>' コマンドの出力に対応します。

    メトリック

    説明

    単位

    MetricName

    ディメンション

    統計

    注意

    (エージェント) process.cpu_pid

    特定のプロセスによって消費された CPU の割合。

    %

    process.cpu

    userId, instanceId, name, pid

    平均値

    アラート機能はサポートされていません。

    (エージェント) process.memory_pid

    特定のプロセスによって消費されたメモリの割合。

    %

    process.memory

    userId, instanceId, name, pid

    平均値

    アラート機能はサポートされていません。

    (エージェント) process.openfile_pid

    現在のプロセスによって開かれたファイル数。

    単位

    process.openfile

    userId, instanceId, name, pid

    平均値

    アラート機能はサポートされていません。

    (エージェント) process.count_processname

    指定されたキーワードを持つプロセス数。

    単位

    process.number

    userId, instanceId, processName

    平均値

    アラート機能はサポートされていません。

オペレーティングシステム監視データの表示

  1. Cloud Monitor コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[クラウドリソースのモニタリング] > [ホストモニタリング] を選択します。

  3. ホストのモニタリング ページで、ターゲットインスタンスの名前をクリックするか、操作 列の モニタリングチャート をクリックします。

    [OS 監視] タブで、OS 監視データを表示します。ホストのアラートルールを作成したり、アラートを表示したりすることもできます。

よくある質問:API を使用して ECS のメモリ使用量と CPU 負荷のメトリックを取得するにはどうすればよいですか。

使用する API は、監視タイプによって異なります:

  1. インフラ監視メトリック (vCPU 使用率など):ECS API DescribeInstanceMonitorData を呼び出して、基本的なインスタンスレベルのメトリックをクエリします。この API は Cloud Monitor エージェントを必要としません。

  2. OS レベルのメトリック (メモリ使用量、CPU 負荷、システム平均負荷など):

    • ECS インスタンスに Cloud Monitor エージェントがインストールされていることを確認してください (オペレーティングシステム監視に必須)。

    • Cloud Monitor API DescribeMetricData または DescribeMetricList を呼び出して、エージェントのメトリックをクエリします。一般的なメトリック識別子は次のとおりです:

      • cpu_total — CPU 使用率

      • memory_usedutilization — メモリ使用率

      • load_5m — 5 分間のシステム平均負荷

関連ドキュメント