欢迎访问我的博客,你的支持,是我最大的动力!

linux增强运维工具vmstat/glances/dstat/multitail的安装及使用

Linux 小马奔腾 11176℃ 评论
目录:
[显示]

Linux运维工作经常要和各种命令行工具打交道,可以不客气的说,熟练且高效的掌握各类命令的使用,是运维人员的必备技能。工欲善其事,必先利其器,这里介绍一下top/vmstat/tail这三个基础命令的高级实现方式,分别是glances/dstat/mulitail,这三个工具在基础命令的基础上,进行了极大的增强,可以非常方便的直观的展现数据,方便分析系统性能的排错。

vmstat 参数解读

yum install procps-ng

vmstat -SM 1
-S 指定显示单位 M代表Mb,默认为Kb;1代表每秒打印一次

字段解读
####procs进程####
r:当前运行队列中线程的数目,代表线程处于可运行状态,但CPU还未能执行
这个值可以作为判断CPU是否繁忙的一个指标;当这个值超过了CPU数目,就会出现CPU瓶颈了
b:等待IO的进程数量
如果该值一直都很大,说明IO比较繁忙,处理较慢
####memory内存####
swpd:虚拟内存已使用的大小
如果swpd的值不为0,但是si,so的值长期为0,这种情况不会影响系统性能
free:空闲的物理内存的大小
buff:用作缓冲的内存大小
cache:用作缓存的内存大小
如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小
####swap交换空间####
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗
有时我们看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的
si:每秒从交换区写到内存的大小
so:每秒写入交换区的内存大小
####io(单位:块/秒)####
bi:每秒读取的块数
bo:每秒写入的块数
随机磁盘读写的时候,这2个值越大,能看到CPU在IO等待的值也会越大
####system(系统)####
这2个值越大,会看到由内核消耗的CPU时间会越大
in:每秒中断数,包括时钟中断
cs:每秒上下文切换数
####cpu(百分比)####
us:用户进程执行时间(user time)
sy:系统进程执行时间(system time)
id:空闲时间(包括IO等待时间)
wa:等待IO时间
wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈

ntpdate-Linux系统时间较准

ntpdate可以较准系统时间。ntpdate通过与标准授时服务器通信,获取准确时间,并自动更新到系统,可以保证系统时间的高度准确。

安装
yum install ntpdate
ntpdate-4.2.6p5-25.el7.centos.2.x86_64

该命令涉及一个软件包,没有过多的依赖,安装和卸载不会对现有系统造成任何影响。

使用
ntpdate cn.pool.ntp.org
28 Feb 13:38:40 ntpdate[3104]: step time server 85.199.214.101 offset -1.340681 sec

仅需上面这个简单的命令,就可以较准系统时间。也可以添加定时任务,每天较准一次:

0 2 * * * ntpdate cn.pool.ntp.org >/dev/null 2>&1

glances-系统性能监控top/htop的替代者

glances是使用python开发的一套系统性能实时监控软件,比传统的top和htop更加好用,更加美观。当然,glances对资源消耗要比top高,不过因为我们并不会一直开着glance,所以可以完全忽略这一点。glances依赖psutil获取各项参数。glances运行界面如下图,可以看到,界面还是非常美观的,顶端依次显示CPU、MEM内存、SWAP交换空间、LOAD负载的性能,并且标注了颜色,绿色是正常、浅红是报警、红色则说明资源使用太高,需要分析原因了。左侧一列显示网络、磁盘IO、文件系统使用和温度,右侧和top类似,显示进程情况,亮点是单位会自动换算,看着一目了然。

安装
#下载并安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
安装pip/setuptools/wheel三个软件
Successfully installed pip-9.0.1 setuptools-38.5.1 wheel-0.30.0
#安装glances 2.11.1版本
yum install gcc
安装:
gcc[4.8.5-16.el7_4.1]
依赖:
cpp[4.8.5-16.el7_4.1]
glibc-devel[2.17-196.el7_4.2]
glibc-headers[2.17-196.el7_4.2]
kernel-headers[3.10.0-693.17.1.el7]
libmpc[1.0.1-3.el7]
mpfr[3.1.1-4.el7]
升级:
glibc[2.17-196.el7_4.2]
glibc-common[2.17-196.el7_4.2]
libgcc[4.8.5-16.el7_4.1]
libgomp[4.8.5-16.el7_4.1]
yum install python-devel
编译过程中,需要使用Python.h
pip install glances
依赖psutil
Successfully installed glances-2.11.1 psutil-5.4.3
使用

glances  交互式模式的快捷键如下图所示:

dstat-vmstat的代替者

dstat是vmstat的极佳替代工具,可以非常方便且友好的展现系统各方面的性能状态。

安装
yum install dstat
dstat-0.7.2-12.el7.noarch
使用

dstat不带参数执行时相当于dstat -a 或者 dstat -cdngy,除了这些项目外,可以使用的参数还有:

-c cpu状态
-d disk磁盘状态
-g page页面状态
-i interrupt中断
-l load负载
-m memory内存
-n network网络
-p process进程
-r io I/O状态
-s swap交换分区
-t time输入时间
-T epoch时间计数
-y system系统
--aio  --fs  --ipc  --raw  --socket  --tcp  --udp  --unix  --vm

此外,在system下,int和cst表示的意思分别为:int是设备中断,cst是上下文切换

multitail-tail的多开版本

multitail是tail的多开版本,可以同时对多个文件的变化情况进行同时实时展现,类似于tail -f命令

安装
yum install ncurses-devel wget
需要ncurses依赖
wget https://www.vanheusden.com/multitail/multitail-6.4.2.tgz
tar zxvf multitail-6.4.2.tgz
cd multitail-6.4.2
make install
...安装过程...
mkdir -p /usr/bin
cp multitail /usr/bin
mkdir -p /usr/share/man/man1
cp multitail.1 /usr/share/man/man1/multitail.1
mkdir -p /usr/share/doc/multitail-6.4.2
cp *.txt INSTALL manual*.html /usr/share/doc/multitail-6.4.2
#
### COPIED multitail.conf.new, YOU NEED TO REPLACE THE multitail.conf
### YOURSELF WITH THE NEW FILE
#
mkdir -p /etc/multitail/
cp multitail.conf /etc/multitail.conf.new
cp conversion-scripts/* /etc/multitail/
使用

multitail /var/log/messages /var/log/maillog          #横排

multitail -s 2 /var/log/messages /var/log/maillog   #竖排

multitail /var/log/messages /var/log/maillog /var/log/messages /var/log/maillog -sw 50,50   #4分屏

-sw 用来设置有多少列,每列的大小   -sw 50,50
-sn 配合-sw/-s使用,设置每列的窗口数  -sn 3,3

 

 

 

 

转载请注明:轻风博客 » linux增强运维工具vmstat/glances/dstat/multitail的安装及使用

喜欢 (1)or分享 (0)