安装工具:yum install sysstat -y
-u | CPU 资源监控 |
---|---|
- v | inode、文件和其他内核表监控 |
-r | 内存和交换空间监控 |
-B | 内存分页监控 |
-b | I/O 和传送速率监控 |
-q | 进程队列长度和平均负载状态监控 |
-W | 系统交换活动信息监控 |
-o test | 并将采样结果以二进制形式存入当前目录下的文件 test 中 |
可以间隔相同的时间采集数据,观察 CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件 test 中。
[root@xiaoagiao bak]# sar -u -o file 2 3 #每两秒采集一次,一共三次,结果存入当前目录file中
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
10:07:05 PM CPU %user %nice %system %iowait %steal %idle
10:07:07 PM all 0.00 0.00 0.50 0.00 0.00 99.50
10:07:09 PM all 0.00 0.00 0.00 0.00 0.00 100.00
10:07:11 PM all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.17 0.00 0.00 99.83
sar -u -f file #读取file文件
CPU | all 表示统计信息为所有 CPU 的平均值 |
---|---|
%user | 显示在用户级别(application)运行使用 CPU 总时间的百分比。 |
%nice | 显示在用户级别,用于 nice 操作,所占用 CPU 总时间的百分比。 |
%system | 在核心级别(kernel)运行所使用 CPU 总时间的百分比。 |
%iowait | 显示用于等待 I/O 操作占用 CPU 总时间的百分比。 |
%steal | 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。 |
%idle | 显示 CPU 空闲时间占用 CPU 总时间的百分比。 |
[root@xiaoagiao /]# sar -v 2 3 #每2秒采集一次,一共3次
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
10:30:43 PM dentunusd file-nr inode-nr pty-nr
10:30:45 PM 16377 1312 25736 1
10:30:47 PM 16377 1312 25736 1
10:30:49 PM 16377 1312 25736 1
Average: 16377 1312 25736 1
dentunusd | 目录高速缓存中未被使用的条目数量 |
---|---|
file-nr | 文件句柄(file handle)的使用数量 |
inode-nr | 索引节点句柄(inode handle)的使用数量 |
pty-nr | 使用的 pty 数 |
[root@xiaoagiao ~]# sar -r 1 3
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
10:46:29 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
10:46:31 PM 1529572 333652 17.91 2108 116368 293820 7.42 113676 80744 24
10:46:32 PM 1529572 333652 17.91 2108 116368 293820 7.42 113680 80744 24
10:46:33 PM 1529572 333652 17.91 2108 116368 293820 7.42 113688 80744 0
Average: 1529572 333652 17.91 2108 116368 293820 7.42 113681 80744 16
kbmemfree | 剩余内存,和 free 命令中的 free 值基本一致,所以它不包括 buffer 和 cache 的空间. |
---|---|
kbmemused | 已使用内存,和 free 命令中的 used 值基本一致,所以它包括 buffer 和 cache 的空间. |
%memused | 这个值是 kbmemused 和内存总量(不包括 swap)的一个百分比. |
kbbuffers | 和free命令中buffer相同 |
kbcache | 就是 free 命令中的cache |
kbcommit | 保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap). |
%commit | 这个值是 kbcommit 与内存总量(包括 swap)的一个百分比. |
[root@xiaoagiao ~]# sar -B 1 3
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
10:54:25 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
10:54:26 PM 0.00 0.00 66.34 0.00 43.56 0.00 0.00 0.00 0.00
10:54:27 PM 0.00 0.00 26.00 0.00 44.00 0.00 0.00 0.00 0.00
10:54:28 PM 0.00 0.00 16.00 0.00 43.00 0.00 0.00 0.00 0.00
Average: 0.00 0.00 36.21 0.00 43.52 0.00 0.00 0.00 0.00
pgpgin/s | 表示每秒从磁盘或 SWAP 置换到内存的字节数(KB) |
---|---|
pgpgout/s | 表示每秒从内存置换到磁盘或 SWAP 的字节数(KB) |
fault/s | 每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor) |
majflt/s | 每秒钟产生的主缺页数. |
pgfree/s | 每秒被放入空闲队列中的页的页数 |
pgscank/s | 每秒被 kswapd 扫描的页的页数 |
pgscand/s | 每秒直接被扫描的页个数 |
pgsteal/s | 每秒钟从 cache 中被清除来满足内存需要的页个数 |
%vmeff | 每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比 |
[root@xiaoagiao ~]# sar -b 1 3
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
11:04:17 PM tps rtps wtps bread/s bwrtn/s
11:04:18 PM 0.00 0.00 0.00 0.00 0.00
11:04:19 PM 0.00 0.00 0.00 0.00 0.00
11:04:20 PM 0.00 0.00 0.00 0.00 0.00
Average: 0.00 0.00 0.00 0.00 0.00
tps | 每秒钟物理设备的 I/O 传输总量 |
---|---|
rtps | 每秒钟从物理设备读出的数据总量 |
wtps | 每秒钟向物理设备写入的数据总量 |
bread/s | 每秒钟从物理设备读出的数据量,单位为 块/s |
bwrtn/s | 每秒钟向物理设备写入的数据量,单位为 块/s |
[root@xiaoagiao ~]# sar -q 1 3
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
11:09:36 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
11:09:37 PM 0 123 0.01 0.02 0.05 0
11:09:38 PM 0 123 0.01 0.02 0.05 0
11:09:39 PM 0 123 0.01 0.02 0.05 0
Average: 0 123 0.01 0.02 0.05 0
runq-sz | 运行队列的长度(等待运行的进程数) |
---|---|
plist-sz | 进程列表中进程(processes)和线程(threads)的数量 |
ldavg-1 | 最近 1 分钟的系统平均负载 |
ldavg-5 | 过去5分钟系统平均负载 |
ldavg-15 | 过去5分钟系统平均负载 |
[root@xiaoagiao ~]# sar -W 1 3
Linux 3.10.0-957.el7.x86_64 (xiaoagiao) 04/19/2020 _x86_64_ (1 CPU)
11:35:54 PM pswpin/s pswpout/s
11:35:55 PM 0.00 0.00
11:35:56 PM 0.00 0.00
11:35:57 PM 0.00 0.00
Average: 0.00 0.00
pswpin/s | 每秒系统换入的交换页面(swap page)数量 |
---|---|
pswpout/s | 每秒系统换出的交换页面(swap page)数量 |
tsar 是淘宝自己开发的一个采集工具,主要用来收集服务器的系统信息(如 cpu,io,mem,tcp
等),以及应用数据(如 squid haproxy nginx 等)。收集到的数据存储在磁盘上,可以随时查询历史
信息,输出方式灵活多样,另外支持将数据存储到 MySQL 中,也可以将数据发送到 nagios 报警服务
器。tsar 在展示数据时,可以指定模块,并且可以对多条信息的数据进行 merge 输出,带–live 参数可
以输出秒级的实时信息总体架构
需要源码安装:
1.wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate #下载压缩包到本地
2.yum install unzip #安装解压工具
3.unzip tsar.zip #解压
4.cd tsar-master/ #前往安装包中的tsar-master中
5.make #编译
6.make install #安装
安装完成后,会产生一个定时任务
[root@xiaoagiao ~]# cd /etc/cron.d
[root@xiaoagiao cron.d]# cat tsar
# cron tsar collect once per minute
MAILTO=""
* * * * * root /usr/bin/tsar --cron > /dev/null 2>&1
每分钟以 root 用户的角色调用 tsar 命令来执行数据采集。
日志文件轮转 : /etc/logrotate.d/tsar
在日志文件轮转配置中,每个月会把 tsar 的本地存储进行轮转,此外这里也设定了数据在
/var/log/tsar.data 下
[root@xiaoagiao cron.d]# cat /etc/logrotate.d/tsar
cat /etc/logrotate.d/tsar
/var/log/tsar.data
{
monthly
rotate 120
create
nocompress
nodateext
notifempty
prerotate
/usr/bin/chattr -a /var/log/tsar.data
endscript
postrotate
/usr/bin/chattr +a /var/log/tsar.data
endscript
}
[root@xiaoagiao ~]# tsar -i 1 -l
[root@xiaoagiao ~]# tsar -i 1 -l
Time ---cpu-- ---mem-- ---tcp-- -----traffic---- --sr0--- --sda--- --sdb--- ---load-
Time util util retran bytin bytout util util util load1
20/04/20-18:03:16 1.49 11.97 100.00 246.00 204.00 0.00 0.00 0.00 0.01
20/04/20-18:03:17 0.00 11.97 0.00 120.00 122.00 0.00 0.00 0.00 0.01
20/04/20-18:03:18 0.00 11.97 0.00 120.00 106.00 0.00 0.00 0.00 0.01
20/04/20-18:03:19 0.00 11.97 0.00 60.00 98.00 0.00 0.00 0.00 0.01
20/04/20-18:03:21 0.00 11.97 0.00 60.00 98.00 0.00 0.00 0.00 0.01
20/04/20-18:03:22 0.00 11.97 0.00 180.00 90.00 0.00 0.00 0.00 0.01
[root@xiaoagiao ~]# tsar --io --check
xiaoagiao tsar io:sda:rrqms=0.0 io:sda:wrqms=0.0 io:sda:%rrqm=0.0 io:sda:%wrqm=0.0 io:sda:rs=0.0 io:sda:ws=0.1 io:sda:rsecs=0.0 io:sda:wsecs=1.0 io:sda:rqsize=3.9
io:sda:rarqsz=0.0 io:sda:warqsz=3.9 io:sda:qusize=0.0 io:sda:await=1.1 io:sda:rawait=0.0 io:sda:wawait=1.1 io:sda:svctm=0.5 io:sda:util=0.0
io:sdb:rrqms=0.0 io:sdb:wrqms=0.0 io:sdb:%rrqm=0.0 io:sdb:%wrqm=0.0 io:sdb:rs=0.0 io:sdb:ws=0.0
……………………
[root@xiaoagiao ~]# tsar --swap --check
xiaoagiao tsar swap:swpin=0.0 swap:swpout=0.0 swap:total=2147479552.0 swap:util=0.0
一天之中每5分钟间隔cpu信息
[root@xiaoagiao ~]# tsar --cpu
Time -----------------------cpu----------------------
Time user sys wait hirq sirq util
19/04/20-18:10 0.01 0.08 0.01 0.00 0.00 0.09
19/04/20-18:15 0.02 0.08 0.00 0.00 0.00 0.10
19/04/20-18:20 0.01 0.07 0.00 0.00 0.00 0.08
19/04/20-18:25 0.01 0.08 0.15 0.00 0.00 0.09
19/04/20-18:30 0.01 0.07 0.03 0.00 0.00 0.08
19/04/20-18:35 0.02 0.09 0.04 0.00 0.00 0.12
19/04/20-18:40 0.01 0.21 0.22 0.00 0.00 0.22
19/04/20-18:45 0.01 0.08 0.00 0.00 0.00 0.09
19/04/20-18:50 0.02 0.09 0.00 0.00 0.00 0.10
19/04/20-18:55 0.01 0.08 0.00 0.00 0.00 0.09
19/04/20-19:00 0.03 0.08 0.00 0.00 0.00 0.11
19/04/20-19:05 0.03 0.09 0.00 0.00 0.00 0.13
19/04/20-19:10 0.02 0.07 0.00 0.00 0.00 0.09
19/04/20-19:15 0.01 0.09 0.00 0.00 0.00 0.10
19/04/20-19:20 0.01 0.08 0.06 0.00 0.00 0.09
19/04/20-19:25 0.02 0.09 0.00 0.00 0.00 0.11
19/04/20-19:30 0.05 0.12 0.00 0.00 0.00 0.17
19/04/20-19:35 0.05 0.12 0.00 0.00 0.00 0.17
………………………………
[root@xiaoagiao ~]# tsar --live --mem -i 2
Time -----------------------mem----------------------
Time free used buff cach total util
20/04/20-18:17:23 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:25 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:27 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:29 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:31 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:33 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:35 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
20/04/20-18:17:37 1.4G 217.7M 2.2M 147.7M 1.8G 11.97
………………
[root@xiaoagiao ~]# tsar --mem
Time -----------------------mem----------------------
Time free used buff cach total util
19/04/20-23:05 1.4G 222.6M 2.1M 113.7M 1.8G 12.23
19/04/20-23:10 1.4G 222.6M 2.1M 113.8M 1.8G 12.23
19/04/20-23:15 1.4G 222.6M 2.1M 113.7M 1.8G 12.23
19/04/20-23:20 1.4G 223.4M 2.1M 113.8M 1.8G 12.28
19/04/20-23:25 1.4G 222.6M 2.1M 113.8M 1.8G 12.24
19/04/20-23:30 1.4G 223.5M 2.1M 113.9M 1.8G 12.28
19/04/20-23:35 1.4G 228.2M 2.1M 113.9M 1.8G 12.54
19/04/20-23:40 1.4G 228.3M 2.1M 114.0M 1.8G 12.55
19/04/20-23:45 1.4G 228.4M 2.1M 113.9M 1.8G 12.55
19/04/20-23:50 1.4G 226.4M 2.1M 114.0M 1.8G 12.44
19/04/20-23:55 1.4G 225.4M 2.1M 114.1M 1.8G 12.39
20/04/20-00:00 1.4G 226.3M 2.1M 114.4M 1.8G 12.44
20/04/20-00:05 1.4G 225.8M 2.1M 114.4M 1.8G 12.41
20/04/20-09:40 1.4G 231.1M 2.1M 114.6M 1.8G 12.70
20/04/20-09:45 1.4G 231.5M 2.1M 114.5M 1.8G 12.72
20/04/20-18:00 1.4G 216.4M 2.2M 147.6M 1.8G 11.89
20/04/20-18:05 1.4G 215.9M 2.2M 147.7M 1.8G 11.87
20/04/20-18:10 1.4G 215.9M 2.2M 147.7M 1.8G 11.87
20/04/20-18:15 1.4G 216.0M 2.2M 147.7M 1.8G 11.87
MAX 1.5G 231.5M 2.2M 147.7M 1.8G 12.70
MEAN 1.4G 218.4M 2.1M 115.0M 1.8G 12.00
MIN 1.4G 210.2M 2.1M 110.8M 1.8G 11.60