sar 命令很强大,它可以监控系统所有资源状态,比如平均负载、网卡流量、磁盘状态、内存使用等等。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。如果你系统没有安装这个命令,请使用 yum install -y sysstat
命令安装。初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(时时监控就不会了,因为不用去查询那个库文件)。它的数据库文件在 “/var/log/sa/” 目录下,默认保存一个月。因为这个命令太过复杂,所以阿铭只介绍几个。
1)查看网卡流量 sar -n DEV
[[email protected] ~]# sar -n DEV Linux 2.6.32-358.el6.i686 (localhost.localdomain) 2013年05月25日 _i686_ (1 CPU) 00时00分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 00时10分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00时10分01秒 eth0 31.94 0.09 3.89 0.02 0.00 0.00 0.00 00时20分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00时20分01秒 eth0 32.40 0.04 3.96 0.01 0.00 0.00 0.00 00时30分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00时30分01秒 eth0 31.18 0.06 3.76 0.02 0.00 0.00 0.00
阿铭并没有把全部信息贴出来,因为太多了。 IFACE这列表示设备名称,rxpck/s 表示每秒进入收取的包的数量,txpck/s 表示每秒发送出去的包的数量,rxbyt/s 表示每秒收取的数据量(单位Byte),txbyt/s表示每秒发送的数据量。后面几列不需要关注。如果有一天你所管理的服务器丢包非常严重,那么你就应该看一看这个网卡流量是否异常了,如果rxpck/s 那一列的数值大于4000,或者rxbyt/s那列大于5,000,000则很有可能是被攻击了,正常的服务器网卡流量不会高于这么多,除非是你自己在拷贝数据。上面的命令是查看网卡流量历史的,如何时时查看网卡流量呢?
[[email protected] ~]# sar -n DEV 1 5 Linux 2.6.32-358.el6.i686 (localhost.localdomain) 2013年05月25日 _i686_ (1 CPU) 16时46分55秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 16时46分56秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时46分56秒 eth0 36.36 0.00 4.16 0.00 0.00 0.00 0.00 16时46分56秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 16时46分57秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时46分57秒 eth0 69.39 1.02 10.66 0.39 0.00 0.00 0.00 16时46分57秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 16时46分58秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时46分58秒 eth0 42.00 1.00 7.56 0.38 0.00 0.00 0.00 16时46分58秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 16时46分59秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时46分59秒 eth0 51.52 1.01 7.73 0.39 0.00 0.00 0.00 16时46分59秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 16时47分00秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时47分00秒 eth0 60.00 1.00 5.51 0.38 0.00 0.00 0.00 平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: eth0 51.81 0.81 7.11 0.31 0.00 0.00 0.00
另外也可以查看某一天的网卡流量历史,使用-f选项,后面跟文件名,如果你的系统格式Redhat或者CentOS那么sar的库文件一定是在/var/log/sa/目录下的。:
[[email protected] ~]# sar -n DEV -f /var/log/sa/sa24 Linux 2.6.32-358.el6.i686 (localhost.localdomain) 2013年05月24日 _i686_ (1 CPU) 10时49分36秒 LINUX RESTART 10时50分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 11时00分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时00分01秒 eth0 58.96 0.02 7.87 0.01 0.00 0.00 0.00 11时10分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时10分01秒 eth0 61.36 0.34 8.29 0.05 0.00 0.00 0.00 11时20分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时20分01秒 eth0 57.17 0.22 7.65 0.03 0.00 0.00 0.00 11时30分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时30分01秒 eth0 54.99 0.05 7.03 0.01 0.00 0.00 0.00 11时40分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2)查看历史负载 sar -q
[[email protected] ~]# sar -q Linux 2.6.32-358.el6.i686 (localhost.localdomain) 2013年05月25日 _i686_ (1 CPU) 00时00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 00时10分01秒 0 142 0.00 0.00 0.00 00时20分01秒 0 143 0.00 0.00 0.00 00时30分01秒 0 143 0.00 0.01 0.00 00时40分01秒 0 143 0.05 0.01 0.00 00时50分01秒 0 143 0.00 0.00 0.00 01时00分01秒 0 143 0.00 0.00 0.00 01时10分01秒 0 143 0.08 0.03 0.00
这个命令有助于我们查看服务器在过去的某个时间的负载状况。
时间: 2024-10-22 01:31:01