收集數據說明
CPU
Idel:cpu空任務時間。一般大於70%正常。
Iowait:cpu空閑等待io時間。一般小於30%。
Irq:服務終端時間。在虛擬環境其他操作花費的時間。
Nice:用做nice加權的進程分配的用戶態cpu時間比
cpu_usage_user:用戶態使用的cpu時間比
cpu_usage_system:系統態使用的cpu時間比
cpu_usage_steal:虛擬機偷取時間
Disk
free :(integer, bytes)
total :(integer, bytes)
used :(integer, bytes)
used_percent :(float, percent)
inodes_free :(integer, files)
inodes_total :(integer, files)
inodes_used :(integer, files)
一個Inodes數對應一個文件,IFree就代表還能打開的文件數,文件數上限並不針對當前的目錄,而是針對整個系統。
Diskio
"reads": io.ReadCount,
"writes": io.WriteCount,
"read_bytes": io.ReadBytes,
"write_bytes": io.WriteBytes,
"read_time": io.ReadTime,
"write_time": io.WriteTime,
"io_time": io.IoTime,
所有的值都是從啟動時的累積值。
MEM
mem_total
mem_available
mem_used
mem_free
mem_used_percent
mem_available_percent
NETSTAT
支持TCP連接狀態。
tcp_established
tcp_syn_sent
tcp_syn_recv
tcp_fin_wait1
tcp_fin_wait2
tcp_time_wait
tcp_close
tcp_close_wait
tcp_last_ack
tcp_listen
tcp_closing
tcp_none
udp_socket
System
Load1:1-分鍾平均負載
Load5:5-分鍾平均負載
Load15:15-分鍾平均負載
Uptime
uptime_format
Load:
load1 -= load1 -* exp(-5 / 60) -+ n * (1 – exp(-5 / 60 ))
load5 -= load5 -* exp(-5 / 300) + n * (1 – exp(-5 / 300))
load15 = load15 * exp(-5 / 900) + n * (1 – exp(-5 / 900))
“Load值=CPU核數”,這是最理想的狀態,沒有任何競爭,一個任務分配一個核。
由於數據是每隔5秒鍾檢查一次活躍的進程數,然后根據這個數值算出來的。如果這個數除以CPU的核數,結果高於5的時候就表明系統在超負荷運轉了。
SWAP
"total": swap.Total,
"used": swap.Used,
"free": swap.Free,
"used_percent": swap.UsedPercent,
"in": swap.Sin,
"out": swap.Sout,
SWAP就是LINUX下的虛擬內存分區,它的作用是在物理內存使用完之后,將磁盤空間(也就是SWAP分區)虛擬成內存來使用.