CloudMonitorエージェントをElastic Compute Service (ECS) インスタンスまたはサードパーティホストにインストールして、オペレーティングシステムのモニタリングデータを収集できます。 オペレーティングシステムメトリックのアラートルールを設定できます。 メトリックの値がアラート条件に達すると、アラート通知が送信され、メトリックをタイムリーに監視できます。
前提条件
監視するホストにCloudMonitorエージェントがインストールされています。 詳細については、「Cloud Monitorエージェントのインストールとアンインストール」をご参照ください。
メトリクス
オペレーティングシステムのメトリックの値は15秒ごとに収集されます。 次のメトリクスを使用できます。
CPU のメトリクス
Windows
システムはntdll.dllのNtQuerySystemInformation関数を呼び出して、各プロセスまたはスレッドによって消費されるCPU時間を取得します。 システムは、この関数を2回呼び出して、2回の呼び出しの間に実行される各プロセスまたはスレッドのCPU使用率を取得します。
Linux
top
コマンドの出力を確認して、次の表に示すメトリックに関する情報を表示できます。
メトリック
説明
単位
MetricName
寸法
統計
Linuxの備考
(エージェント) cpu.idle
CPUアイドル時間 (パーセンテージ) 。
%
cpu_idle
userIdとinstanceId
最大、最小、および平均
合計CPU時間に対するCPUアイドル時間の割合。
(エージェント) cpu.system
カーネルのCPU使用率。
%
cpu_system
userIdとinstanceId
最大、最小、および平均
システムコンテキストスイッチのCPU使用率。 高い値は、過剰なプロセスまたはスレッドがホスト上で実行されることを示します。
(アジャンt)cpu.us er
ユーザープロセスのCPU使用率。
%
cpu_user
userIdとinstanceId
最大、最小、および平均
ユーザープロセスのCPU使用率。
(エージェント) cpu.wait
I/O操作の完了を待つCPUの割合。
%
cpu_wait
userIdとinstanceId
最大、最小、および平均
高い値は、頻繁なI/O動作を示す。
(エージェント) cpu.other
他の操作によって占有されるCPUの割合。
%
cpu_other
userIdとinstanceId
最大、最小、および平均
計算方法: 低優先度プロセスのCPU使用率 + SoftIrqのCPU使用率 + IrqのCPU使用率 + 盗まれたCPU使用率。
(エージェント) cpu.total
占有されているCPUの割合。
%
cpu_total
userIdとinstanceId
最大、最小、および平均
現在の消費量=1 - Host.cpu.idle
メモリメトリクス
Windows
システムは、32ビットWindowsオペレーティングシステムで現在の物理メモリと仮想メモリの使用量を取得するためにkernel32.dllのGlobalMemoryStatusEx関数を呼び出します。
Linux
free
コマンドの出力を確認して、次の表に示すメトリックに関する情報を表示できます。 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パラメーターの値。
(アジェンt)memory.us ed.space
使用済みメモリのサイズ。
Byte
memory_usedspace
userIdとinstanceId
最大、最小、および平均
システムで使用されるメモリのサイズ。
計算方法: メモリの合計サイズ-使用可能なメモリのサイズ。
(エージェント) memory.actualused.space
ユーザーが消費するメモリのサイズ。
Byte
memory_actualusedspace
userIdとinstanceId
最大、最小、および平均
計算方法:
MemAvailableパラメーターが /proc/meminfoファイルに存在する場合、次の式が計算に使用されます。メモリの合計サイズ-MemAvailableの値。
MemAvailableパラメーターが /proc/meminfoファイルに存在しない場合、計算には次の式が使用されます。
説明CentOS 7.2、Ubuntu 16.04、または最新のLinuxカーネルを使用するそれ以降のバージョンでは、計算結果がより正確になります。 MemAvailableパラメーターの詳細については、「commit」をご参照ください。
(エージェント) メモリ. free. の使用
使用可能なメモリの割合。
%
memory_freeutilization
userIdとinstanceId
最大、最小、および平均
計算方法:
/proc/meminfoファイルにMemAvailableパラメーターが存在する場合、次の計算式が使用されます。MemAvailableの値 /メモリの合計サイズ × 100% 。
/proc/meminfoファイルにMemAvailableパラメーターが存在しない場合は、(メモリの合計サイズ-実際に使用される値) /メモリの合計サイズ × 100% の計算式が使用されます。
(アジェンt)memory.us ed.utilization
メモリ使用量。
%
memory_usedutilization
userIdとinstanceId
最大、最小、および平均
計算方法:
/proc/meminfoファイルにMemAvailableパラメーターが存在する場合、(メモリの合計サイズ-MemAvailableの値) /メモリの合計サイズ × 100% の計算式が使用されます。
/proc/meminfoファイルにMemAvailableパラメーターが存在しない場合、(メモリの合計サイズ-使用可能なメモリの合計サイズ-バッファで使用されるメモリのサイズ-キャッシュされたメモリのサイズ) /メモリの合計サイズ × 100% の計算式が使用されます。
平均システム負荷のメトリック
Windows
このメトリックは、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
df
コマンドの出力を確認して、ディスクとinodeの使用状況に関するメトリックに関する情報を表示できます。iostat
コマンドの出力を確認して、ディスクの読み取りと書き込みのメトリックに関する情報を表示できます。
メトリック
説明
単位
MetricName
寸法
統計
Host.diskusage.used
使用中のディスク容量。
Byte
diskusage_used
userId、instanceId、およびデバイス
最大、最小、および平均
Host.diskusage.utilization
ディスク使用率。
%
diskusage_utilization
userId、instanceId、およびデバイス
最大、最小、および平均
Host.diskusage.free
通常ユーザーとスーパーユーザーの使用可能なディスク領域のサイズ。
Byte
diskusage_free
userId、instanceId、およびデバイス
最大、最小、および平均
(Agen t)disk.us age.avail_device
通常のユーザーの使用可能なディスク領域のサイズ。
Byte
diskusage_avail
userId、instanceId、およびデバイス
最大、最小、および平均
Host.diskusage.total
合計ディスク容量のサイズ。
Byte
diskusage_total
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) disk.read.bps_device
1秒あたりにディスクから読み取られるバイト数。
Byte/s
disk_readbytes
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) disk.write.bps_device
1秒あたりにディスクに書き込まれるバイト数。
Byte/s
disk_writebytes
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) disk.read.iops_device
ディスクが1秒あたりに受信する読み取り要求の数。
リクエスト /s
disk_readiops
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) disk.write.iops_device
ディスクが1秒あたりに受け取る書き込み要求の数。
リクエスト /s
disk_writeiops
userId、instanceId、およびデバイス
最大、最小、および平均
ファイルシステムのメトリック
Windows
このメトリックは、Windowsホストでは使用できません。
Linux
df
コマンドの出力を確認して、次の表に示すメトリックに関する情報を表示できます。
メトリック
説明
単位
MetricName
寸法
統計
Linuxの備考
(エージェント) fs.inode.utilization_device
inodeの使用法。
%
fs_inodeutilization
userId、instanceId、およびデバイス
最大、最小、および平均
Linuxオペレーティングシステムは、ファイル名ではなくinode番号を使用してファイルを識別します。 inodeが使い果たされると、ディスク容量が十分であってもファイルを作成できません。 したがって、システムはinodeの使用を監視する必要があります。 inodeの数は、ファイルの数を示す。 多数の小さなファイルは、高いinode使用を引き起こす可能性があります。
ネットワークメトリック
Windows
システムは、Iphlpapi.dllのGetAdaptersAddresses関数を呼び出して、ホスト上のNICのアドレスを取得します。 システムはGetIfTable関数を呼び出して、各インターフェイスのメトリックのデータを取得します。たとえば、インターフェイスが1秒あたりに送受信するビット数、インターフェイスが1秒あたりに送受信するパケット数、インターフェイスが1秒あたりに送受信するエラーパケット数などです。
Linux
ss
コマンドの出力を確認して、TCP接続メトリックに関する情報を表示できます。説明TCP接続は、TCP経由でECSインスタンスとクライアント間に確立される接続を表します。
デフォルトでは、CloudMonitorエージェントは、さまざまな状態のTCP接続に関する次のデータを収集します: TCP_TOTAL、ESTABLISHED、およびNON_ESTABLISHED。 TCP_TOTALは、接続の総数を示す。 ESTABLISHEDは、確立された接続の数を示す。 NON_ESTABLISHEDは、ESTABLISHED状態にない接続の数を示す。
iftop
コマンドの出力を確認して、ネットワークメトリックに関する情報を表示できます。
メトリック
説明
単位
MetricName
寸法
統計
(エージェント) network.in.rate_device
NICが1秒あたりに受け取るビット数。 これはNICのダウンストリーム帯域幅です。
bit/s
networkin_rate
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) network.out.rate_device
NICが1秒あたりに送信するビット数。 これはNICのアップストリーム帯域幅です。
bit/s
networkout_rate
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) network.in.packages_device
NICが1秒あたりに受信するパケット数。
カウント /秒
networkin_packages
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) network.out.packages_device
NICが1秒あたりに送信するパケット数。
カウント /秒
networkout_packages
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) network.in.errorpackages_device
ドライブが検出した受信エラーパケットの数。
カウント /秒
networkin_errorpackages
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) network.out.errorpackages_device
ドライブが検出したアウトバウンドエラーパケットの数。
カウント /秒
networkout_errorpackages
userId、instanceId、およびデバイス
最大、最小、および平均
(エージェント) 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時間を取得し、コマンドの2回の実行の間のプロセスのCPU使用率を計算します。 RegConnectRegistryA関数を呼び出して、レジストリのHKEY_PERFORMANCE_DATAエントリに接続します。 次に、システムはRegQueryValueExA関数を呼び出して、プロセスID、親プロセスID、優先度、仮想メモリ、常駐メモリ、共有メモリ、プロセスが開くファイルの数、スレッドカウント、ページエラー、読み取りバイト、および書き込みバイトを含む、HKEY_PERFORMANCE_DATA内のプロセス情報を照会します。
指定したキーワードに一致するプロセスの数を数える
システムは、OpenProcess関数を呼び出して、プロセスのハンドルを取得します。 システムはntdll.dllのNtQueryInformationProcess関数を呼び出して、プロセスのRTL_USER_PROCESS_PARAMETERSを取得します。 ReadProcessMemory関数を呼び出して、コマンドライン情報からプロセスの引数とルートパスを取得します。 このようにして、システムはプロセスのディレクトリを取得できます。
システムは、OpenProcessToken関数を呼び出して、トークンのハンドルを取得します。 システムはGetTokenInformation関数を呼び出してトークン情報を取得します。 LookupAccountSid関数を呼び出して、プロセスのユーザー名とユーザーグループを取得します。
システムは、プロセスのディレクトリ、ユーザー名、およびユーザーグループをキーワードと照合します。 プロセス情報がキーワードと一致する場合、システムはHost.process.numberの値を1だけ増加させます。
Linux
top
コマンドの出力を確認して, プロセスのCPU使用率とメモリ使用率の情報を確認できます。 CPU使用率は、マルチコアCPUの消費量を示す。lsof
コマンドの出力を確認して、Host.process.openfileメトリックに関する情報を表示できます。ps aux | grep '<Keyword>'
コマンドの出力を確認して、Host.process.numberメトリックに関する情報を表示できます。
メトリック
説明
単位
MetricName
寸法
統計
補足
(エージェント) process.cpu_pid
プロセスのCPU使用率。
%
process.cpu
userId、instanceId、name、pid
Average
このメトリックにアラートルールを設定することはできません。
(エージェント) process.memory_pid
プロセスのメモリ使用率。
%
process.memory
userId、instanceId、name、pid
Average
このメトリックにアラートルールを設定することはできません。
(エージェント) process.openfile_pid
プロセスによって開かれるファイルの数。
集計
process.openfile
userId、instanceId、name、pid
Average
このメトリックにアラートルールを設定することはできません。
(エージェント) process.count_processname
指定されたキーワードに一致するプロセスの数。
集計
プロセス. 番号
userId、instanceId、およびprocessName
Average
このメトリックにアラートルールを設定することはできません。
オペレーティングシステムのモニタリングデータの表示
にログインします。CloudMonitorコンソール.
左側のナビゲーションウィンドウで、
をクリックします。[ホストモニタリング] ページで、ホスト名をクリックするか、ホストの [操作] 列で [モニタリングチャート] をクリックします。
[OSモニタリング] タブでは、オペレーティングシステムのモニタリングデータを表示できます。 メトリックのアラートルールを設定し、アラートステータスを表示することもできます。 詳細については、「手順2: ホストのアラートルールの作成」および「手順3: ホストアラートの表示」をご参照ください。