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

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

最終更新日:Dec 05, 2025

Elastic Compute Service (ECS) は、CPU 使用率やディスク使用率などのリソースを監視するために、インフラストラクチャ監視メトリックとオペレーティングシステム監視メトリックの 2 種類のメトリックを提供します。インフラストラクチャ監視メトリックは、ECS がホストから収集します。このエージェントレス方式は外部からの視点を提供し、プローブをインストールする必要はありません。オペレーティングシステム監視メトリックは、ECS インスタンスにインストールされた CloudMonitor エージェントによって収集されます。このエージェントベース方式は内部からの視点を提供し、オペレーティングシステム内からメトリックを収集します。このトピックでは、これら 2 種類のメトリックの収集方法、シナリオ、および定義について説明します。

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

比較項目

インフラストラクチャ監視

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

監視場所

仮想化スタック

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

収集頻度

1 分に 1 回

1 秒に 1 回

集計出力

なし

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

インストール要件

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

CloudMonitor エージェントをインストールする必要があります。

長所

  • 追加のリソースオーバーヘッドがありません。

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

  • データ精度が高いです。

  • プロセスと関連付けて、「Steal Time」などの問題を診断できます。

短所

  • 精度が低いです。CPU の急激な変動を検出できません。

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

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

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

一般的なシナリオ

インスタンスのインフラストラクチャ監視は、VM の実行状態の影響を受けません。インスタンスのハングや故障などの障害のトラブルシューティングに適しています。ただし、サンプリング頻度が低いため、パフォーマンスの急激な変動を捉える必要があるシナリオには適していません。

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

インフラストラクチャ監視

ECS は、ホストからインスタンスのモニタリングデータを収集します。オペレーティングシステム (OS) レベルのプラグインをインストールする必要はありません。この機能はすぐに使用できます。

収集とレポート

ホスト上の収集プローブは、インスタンスに対して 1 分あたり 1 つのデータポイントを収集します。このデータポイントは、その 1 分間の平均使用量を表します。

メトリック

ECS インスタンスのインフラストラクチャ監視データは、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. CloudMonitor コンソールにログインします。

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

  3. [ホスト監視] ページで、ホスト名をクリックするか、ホストの [操作] 列にある [モニタリングチャート] をクリックします。

  4. [インフラストラクチャ監視] タブをクリックします。

    [インフラストラクチャ監視] タブで、対象ホストのインフラストラクチャ監視データを表示できます。また、メトリックのアラートルールを設定したり、アラートを表示したりすることもできます。詳細については、「ホストのアラートルールの作成」および「アラートの表示」をご参照ください。

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

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

前提条件

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

収集とレポート

CloudMonitor ホストプローブは 1 秒に 1 回データをサンプリングします。データは 15 秒ごとに単一のデータポイントに集計されてから、サーバーにレポートされます。各レポートには、15 秒間の 3 つの値が含まれます:min (最小値)、max (最大値)、および avg (平均値)。

メトリック

オペレーティングシステム監視メトリックは、15 秒に 1 回の頻度で収集されます。メトリックは次のように分類されます:

  • 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

  • メモリ関連メトリック

    • 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%。

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

    • 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 の使用率を監視する必要があります。inode の数は、ファイルシステム内のファイルの数を表します。多くの小さなファイルがあると、inode の使用率が高くなる可能性があります。

  • ネットワーク関連メトリック

    • Windows

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

    • Linux

      • TCP 接続数の収集の詳細については、ss コマンドの出力を参照してください。

        説明

        TCP 接続数は、ECS ホストで TCP プロトコルを使用するすべての接続を指します。

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

      • 次の表のネットワーク関連メトリックの詳細については、iftop コマンドの出力を参照してください。

    メトリック名

    説明

    単位

    MetricName

    ディメンション

    統計

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

    ネットワークインターフェイスカード (NIC) が 1 秒あたりに受信するビット数。これは NIC のダウンストリーム帯域幅です。

    bit/s

    networkin_rate

    userId, instanceId, device

    最大、最小、平均

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

    NIC が 1 秒あたりに送信するビット数。これは NIC のアップストリーム帯域幅です。

    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. CloudMonitor コンソールにログインします。

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

  3. [ホスト監視] ページで、ホスト名をクリックするか、ホストの [操作] 列にある [モニタリングチャート] をクリックします。

    [オペレーティングシステム監視] タブで、対象ホストのオペレーティングシステム監視データを表示できます。また、メトリックのアラートルールを設定したり、アラートを表示したりすることもできます。詳細については、「ホストのアラートルールの作成」および「アラートの表示」をご参照ください。

関連ドキュメント