全部產品
Search
文件中心

Cloud Monitor:基礎監控和作業系統監控說明

更新時間:Dec 04, 2025

ECS 針對 CPU 使用率、磁碟等監控提供了基礎監控和作業系統監控兩類監控指標。基礎監控由Elastic Compute Service 在宿主機上採集,無需安裝探針,屬於無代理指標(外部視角);作業系統監控由CloudMonitor通過安裝在 ECS 執行個體上的CloudMonitor外掛程式採集作業系統內部監控指標,屬於代理指標(內部視角)。本文詳細介紹這兩類指標的採集方式、適用情境及具體指標含義。

基礎監控和作業系統監控區別

對比維度

基礎監控

作業系統監控

監控位置

虛擬化平台

虛擬機器作業系統內部

採集頻率

1分鐘/次

1秒鐘/次

彙總輸出

每秒採樣一次,每15秒彙總產生一個資料點,分別輸出最小值(min)、平均值(avg)和最大值(max)三個指標。

安裝要求

無需探針,開箱即用。

需安裝CloudMonitor探針。

優點

  • 無額外資源開銷。

  • 適用範圍廣,不受執行個體內運行負載過高影響。

  • 資料精度更高。

  • 可關聯進程,能診斷“Steal Time”等問題。

缺點

  • 精度低,無法識別突發的CPU波動情境。

  • 無法關聯具體進程開銷。

  • 需安裝維護,有資源開銷。

  • VM夯機或開關機異常時,可能導致資料缺失。

典型情境

執行個體的基礎監控不受虛擬機器運行狀態影響,適用於執行個體夯機、宕機等故障情境的排查。然而,由於其採樣頻率較低,不適用於需要捕捉快速效能波動的情境。

應用效能診斷、即時監控警示。

基礎監控

由 ECS 在宿主機層面採集執行個體監控資料。 無需客戶安裝作業系統插入件,開箱即用。

採集和上報說明

採集探針是在宿主機層面對執行個體進行1分鐘一個計數點的計數採集,只能產出這 1 分鐘內的用量均值。

監控指標說明

阿里雲主機(ECS執行個體)的基礎監控資料擷取粒度為1分鐘,包含的監控指標如下表所示。

說明

若圖表中展示的粒度是 1 分鐘 1個點,則Maximum、Minimum、Average 的值是一樣的。

監控指標名稱

監控指標含義

單位

MetricName

Dimensions

Statistics

(ECS)CPU使用率

CPU使用率

%

CPUUtilization

userId、instanceId

Maximum、Minimum、Average

(ECS)傳統網路公網流入頻寬

公網入流量平均速率

bit/s

InternetInRate

userId、instanceId

Maximum、Minimum、Average

(ECS)內網流入頻寬

私網入流量平均速率

bit/s

IntranetInRate

userId、instanceId

Maximum、Minimum、Average

(ECS)傳統網路公網流出頻寬

公網出流量平均速率

bit/s

InternetOutRate

userId、instanceId

Maximum、Minimum、Average

(ECS)內網流出頻寬

私網出流量平均速率

bit/s

IntranetOutRate

userId、instanceId

Maximum、Minimum、Average

(ECS)所有磁碟讀取BPS

系統磁碟每秒讀取位元組總數

Byte/s

DiskReadBPS

userId、instanceId

Maximum、Minimum、Average

(ECS)所有磁碟寫入BPS

系統磁碟每秒寫入位元組總數

Byte/s

DiskWriteBPS

userId、instanceId

Maximum、Minimum、Average

(ECS)所有磁碟每秒讀取次數

所有磁碟讀IOPS

次/秒

DiskReadIOPS

userId、instanceId

Maximum、Minimum、Average

(ECS)所有磁碟每秒寫入次數

所有磁碟寫IOPS

次/秒

DiskWriteIOPS

userId、instanceId

Average、Minimum、Maximum

(ECS)IP維度公網流入頻寬

公網流入頻寬

bit/s

VPC_PublicIP_InternetInRate

userId、instanceId、ip

Maximum、Minimum、Average

(ECS)IP維度公網流出頻寬

公網流出頻寬

bit/s

VPC_PublicIP_InternetOutRate

userId、instanceId、ip

Maximum、Minimum、Average

(ECS)IP維度公網流出頻寬使用率

公網流出頻寬使用率

%

VPC_PublicIP_InternetOutRate_Percent

userId、instanceId、ip

Average

(ECS)傳統網路公網流入流量

公網流入流量

Byte

InternetIn

userId、instanceId

Average、Minimum、Maximum、Sum

(ECS)傳統網路公網流出流量

公網流出流量

Byte

InternetOut

userId、instanceId

Maximum、Minimum、Average

查看基礎監控的監控資料

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇雲資源監控 > 主機監控

  3. 主機監控頁面,單擊目標主機的執行個體名稱連結,或單擊目標主機對應操作列的監控圖表

  4. 單擊基礎監控頁簽。

    基礎監控頁簽,您可以查看目標主機的基礎監控資料,還可以為監控指標設定警示規則,並查看警示。具體操作,請參見為主機建立警示規則查看警示

作業系統監控

CloudMonitor通過安裝在阿里雲主機(ECS執行個體)和非阿里雲主機上的CloudMonitor外掛程式,為您採集豐富的作業系統層面的監控指標,您可以為作業系統監控指標設定警示規則。當某個監控指標達到警示條件時,會給您發送警示通知,以便您及時關注其動態。

前提條件

請確保您已在阿里雲主機(ECS執行個體)和非阿里雲主機上安裝CloudMonitor外掛程式

採集和上報說明

CloudMonitor主機探針每 1s 採樣 1 次,上報到服務端會彙總為 15秒 1 個資料點,每次上報會上報 3 個值 min(15s 內的平均值)、max(15s 內的最大值)、avg(15s 內的最小值)。

監控指標說明

作業系統監控指標的資料擷取頻率為15秒/次,分類如下:

  • CPU相關監控指標

    • Windows

      調用ntdll中的NtQuerySystemInformation函數,擷取CPU各個部分所花費時間。間隔兩次調用該函數即可獲得該時間間隔內CPU各個部分所佔比率。

    • Linux

      您可以參考top命令理解下表中監控指標的含義。

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    說明(僅用於Linux)

    (Agent)cpu.idle

    當前空閑CPU百分比。

    %

    cpu_idle

    userId、instanceId

    Maximum、Minimum、Average

    當前CPU處於空閑狀態的百分比。

    (Agent)cpu.system

    當前核心空間佔用CPU百分比。

    %

    cpu_system

    userId、instanceId

    Maximum、Minimum、Average

    系統環境切換的消耗。如果該監控指標數值比較高,則說明伺服器開了太多的進程或線程。

    (Agent)cpu.user

    目前使用者空間佔用CPU百分比。

    %

    cpu_user

    userId、instanceId

    Maximum、Minimum、Average

    使用者進程對CPU的消耗。

    (Agent)cpu.wait

    當前等待IO操作的CPU百分比。

    %

    cpu_wait

    userId、instanceId

    Maximum、Minimum、Average

    如果該監控指標數值比較高,則說明IO操作頻繁。

    (Agent)cpu.other

    其他佔用CPU百分比。

    %

    cpu_other

    userId、instanceId

    Maximum、Minimum、Average

    其他消耗=Nice+SoftIrq+Irq+Stolen。

    (Agent)cpu.total

    當前消耗的總CPU百分比。

    %

    cpu_total

    userId、instanceId

    Maximum、Minimum、Average

    當前消耗=1-Host.cpu.idle

  • 記憶體相關監控指標

    • Windows

      調用kernel32.dll中的GlobalMemoryStatusEx函數擷取Windows 32位作業系統當前物理和虛擬記憶體的使用方式。

    • Linux

      您可以參考free命令理解下表中監控指標的含義,資料來源:/proc/meminfo

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    說明(僅用於Linux)

    (Agent)memory.total.space

    記憶體總量。

    Byte

    memory_totalspace

    userId、instanceId

    Maximum、Minimum、Average

    伺服器的記憶體總量。

    /proc/meminfo的MemTotal。

    (Agent)memory.free.space

    剩餘記憶體量。

    Byte

    memory_freespace

    userId、instanceId

    Maximum、Minimum、Average

    系統可用記憶體。

    /proc/meminfo的MemFree。

    (Agent)memory.used.space

    已用記憶體量。

    Byte

    memory_usedspace

    userId、instanceId

    Maximum、Minimum、Average

    系統已用記憶體。

    計算方法:total–free。

    (Agent)memory.actualused.space

    使用者實際使用的記憶體。

    Byte

    memory_actualusedspace

    userId、instanceId

    Maximum、Minimum、Average

    計算方法:

    • /proc/meminfo中有MemAvailable時:total-MemAvailable

    • /proc/meminfo中無MemAvailable時:used–buffers-cached

    說明

    當CentOS 7.2與Ubuntu 16.04以上(包含)的系統使用新的Linux核心時,記憶體估算更準確,MemAvailable的具體含義,請參見commit

    (Agent)memory.free.utilization

    剩餘記憶體百分比。

    %

    memory_freeutilization

    userId、instanceId

    Maximum、Minimum、Average

    計算方法:

    • /proc/meminfo中有MemAvailable時:MemAvailable/total×100%。

    • /proc/meminfo中無MemAvailable時:(total–actualused)/total ×100%。

    (Agent)memory.used.utilization

    記憶體使用量率。

    %

    memory_usedutilization

    userId、instanceId

    Maximum、Minimum、Average

    計算方法:

    • /proc/meminfo中有MemAvailable時:(total-MemAvailable)/total×100%。

    • /proc/meminfo中無MemAvailable時:(total–free-buffers-cached)/total×100%。

  • 系統平均負載監控指標

    • Windows

      無此監控指標。

    • Linux

      您可以參考top命令理解下表中監控指標的含義。監控指標數值越大表示系統越繁忙。

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    (Agent)load.1m

    過去1分鐘的系統平均負載。

    load_1m

    userId、instanceId

    Maximum、Minimum、Average

    (Agent)load.5m

    過去5分鐘的系統平均負載。

    load_5m

    userId、instanceId

    Maximum、Minimum、Average

    (Agent)load.15m

    過去15分鐘的系統平均負載。

    load_15m

    userId、instanceId

    Maximum、Minimum、Average

    (Agent)load.1m.percore

    CPU平均每核過去1分鐘的系統平均負載。

    load_per_core_1m

    userId、instanceId

    Maximum、Minimum、Average

    (Agent)load.5m.percore

    CPU平均每核過去5分鐘的系統平均負載。

    load_per_core_5m

    userId、instanceId

    Maximum、Minimum、Average

    (Agent)load.15m.percore

    CPU平均每核過去15分鐘的系統平均負載。

    load_per_core_15m

    userId、instanceId

    Maximum、Minimum、Average

  • 磁碟相關監控指標

    • Windows

      先調用Kernel32.dll中的GetDiskFreeSpaceExA檢索磁碟可用空間,擷取磁碟的已用儲存空間、磁碟使用率、磁碟的剩餘儲存空間和磁碟儲存總量;再調用RegConnectRegistryA函數建立與HKEY_PERFORMANCE_DATA註冊表的串連;最後調用RegQueryValueExA函數查詢HKEY_PERFORMANCE_DATA註冊表中磁碟相關屬性(讀取次數、寫入次數、寫入位元組數、讀取位元組數、讀取花費時間、寫入花費時間和磁碟使用時間)。

    • Linux

      磁碟使用率與inode使用率可以參考df命令,磁碟讀寫可以參考iostat命令,便於您理解下表中監控指標的含義。

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    Host.diskusage.used

    磁碟的已用儲存空間。

    Byte

    diskusage_used

    userId、instanceId、device

    Maximum、Minimum、Average

    Host.diskusage.utilization

    普通使用者的磁碟使用率。

    %

    diskusage_utilization

    userId、instanceId、device

    Maximum、Minimum、Average

    Host.diskusage.free

    普通使用者和超級使用者的磁碟剩餘儲存空間。

    Byte

    diskusage_free

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)disk.usage.avail_device

    普通使用者的磁碟剩餘儲存空間。

    Byte

    diskusage_avail

    userId、instanceId、device

    Maximum、Minimum、Average

    Host.diskusage.total

    磁碟儲存總量。

    Byte

    diskusage_total

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)disk.read.bps_device

    磁碟每秒讀取的位元組數。

    Byte/s

    disk_readbytes

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)disk.write.bps_device

    磁碟每秒寫入的位元組數。

    Byte/s

    disk_writebytes

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)disk.read.iops_device

    磁碟每秒的讀請求數量。

    次/秒

    disk_readiops

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)disk.write.iops_device

    磁碟每秒的寫請求數量。

    次/秒

    disk_writeiops

    userId、instanceId、device

    Maximum、Minimum、Average

  • 檔案系統監控指標

    • Windows

      無此監控指標。

    • Linux

      您可以參考df命令理解下表中監控指標的含義。

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    說明(僅用於Linux)

    (Agent)fs.inode.utilization_device

    inode使用率。

    %

    fs_inodeutilization

    userId、instanceId、device

    Maximum、Minimum、Average

    Linux系統內部不使用檔案名稱,而使用inode號碼來識別檔案。當磁碟未存滿,但inode已經分配完時,會出現無法在磁碟建立檔案的情況,因此需要監控inode使用率。inode數量代表檔案系統的檔案數量,大量小檔案會導致inode使用率過高。

  • 網路相關監控指標

    • Windows

      先調用iphlpapi.dll中的GetAdaptersAddresses來擷取本機上的適配器地址;再通過調用GetIfTable來擷取各個Interface網路指標,包括每秒接收位元數、每秒發送位元數、每秒接收的資料包數、每秒發送的資料包數、接收錯誤包數和發送錯誤包數等。

    • Linux

      • 您可以參考ss命令理解TCP串連數採集。

        說明

        TCP串連數是指ECS主機中所有佔用TCP協議的串連。

        TCP串連數預設採集TCP_TOTAL(總串連數)、ESTABLISHED(正常串連狀態)和NON_ESTABLISHED(非串連的狀態串連數,ESTABLISHED以外的所有狀態)。

      • 您可以參考iftop命令理解下表中網路相關監控指標的含義。

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    (Agent)network.in.rate_device

    網卡每秒接收的位元數,即網卡的下行頻寬。

    bit/s

    networkin_rate

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)network.out.rate_device

    網卡每秒發送的位元數,即網卡的上行頻寬。

    bit/s

    networkout_rate

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)network.in.packages_device

    網卡每秒接收的資料包數。

    個/秒

    networkin_packages

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)network.out.packages_device

    網卡每秒發送的資料包數。

    個/秒

    networkout_packages

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)network.in.errorpackages_device

    裝置磁碟機檢測到的接收錯誤包的數量。

    個/秒

    networkin_errorpackages

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)network.out.errorpackages_device

    裝置磁碟機檢測到的發送錯誤包的數量。

    個/秒

    networkout_errorpackages

    userId、instanceId、device

    Maximum、Minimum、Average

    (Agent)network.tcp.connection_state

    各種狀態下的TCP串連數包括:LISTEN、SYN_SENT、ESTABLISHED、SYN_RECV、FIN_WAIT1、CLOSE_WAIT、FIN_WAIT2、LAST_ACK、TIME_WAIT、CLOSING和CLOSED。

    Count

    net_tcpconnection

    userId、instanceId、state

    Maximum、Minimum、Average

  • Top5進程相關監控指標

    • Windows

      • 查詢

        先通過調用Kernel32.dll中的OpenProcess函數進入進程,間隔兩次調用GetProcessTimes擷取CPU各部分消耗的時間來獲得在時間間隔內process中CPU各部分所花費的時間比率;再調用RegConnectRegistryA函數建立與HKEY_PERFORMANCE_DATA註冊表的串連,調用RegQueryValueExA函數查詢HKEY_PERFORMANCE_DATA註冊表中進程相關屬性(進程ID、進程的父進程號、優先順序、虛擬記憶體、常駐記憶體、共用記憶體、進程名、開啟檔案數、包含線程數、頁錯誤、讀取位元組和寫入位元組)。

      • 計數(Host.process.number)

        • 先調用OpenProcess開啟需要查詢的進程,再調用NTDLL中的NtQueryInformationProcess函數獲得進程RTL_USER_PROCESS_PARAMETERS的參數資訊,最後通過ReadProcessMemory函數獲得進程cmdline,從而獲得進程args和運行root路徑,即進程當前檔案夾路徑。

        • 先調用OpenProcessToken擷取訪問Token的控制代碼,再調用GetTokenInformation擷取Token資訊,最後通過LookupAccountSid獲得進程的使用者名稱和使用者組。

        • 對於每條進程的進程args和運行root路徑,與進程當前檔案夾路徑、使用者名稱和使用者組進行匹配,與關鍵字match的計數+1。

    • Linux

      • 進程的CPU使用率和記憶體使用量率可參考top命令,CPU使用率為多核使用方式。

      • Host.process.openfile可參考lsof命令。

      • Host.process.number可參考ps aux | grep '<關鍵字>'命令。

    監控指標名稱

    監控指標含義

    單位

    MetricName

    Dimensions

    Statistics

    備忘

    (Agent)process.cpu_pid

    某個進程消耗的CPU百分比。

    %

    process.cpu

    userId、instanceId、name、pid

    Average

    不支援設定警示。

    (Agent)process.memory_pid

    某個進程消耗的記憶體百分比。

    %

    process.memory

    userId、instanceId、name、pid

    Average

    不支援設定警示。

    (Agent)process.openfile_pid

    當前進程開啟檔案數。

    process.openfile

    userId、instanceId、name、pid

    Average

    不支援設定警示。

    (Agent)process.count_processname

    指定關鍵字的進程數。

    process.number

    userId、instanceId、processName

    Average

    不支援設定警示。

查看作業系統的監控資料

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇雲資源監控 > 主機監控

  3. 主機監控頁面,單擊目標主機的執行個體名稱連結,或單擊目標主機對應操作列的監控圖表

    作業系統監控頁簽,您可以查看目標主機的作業系統監控資料,還可以為監控指標設定警示規則,並查看警示。具體操作,請參見為主機建立警示規則查看警示

相關文檔