`

linux性能篇之部署可回溯的工具sysstat、atop、oswatch、nmon

 
阅读更多

在企业应用中,除了经常会用到企业级的性能监控和告警工具(如nagios、zabbix),还会在服务器设备出现性能问题时,可以通过部署一些可以进行性能回溯和追踪的性能分析工具,便于在主机hang死或挂机时,定位主机各项指标是否过载,也可以定位到具体是哪些程序引发了性能瓶颈。

运维人员一般接触到性能分析工具非常多,win平台下的有perfmon、java下的jprofile、系统下的sysstat工具包、nmon、top、htop、atop、iftop、iotop…… ,如果我们想列,这个名单还可以更长。不过大部分工具都是即时查看的,如果想要对历史数据进行存储,就需要配合脚本进行数据处理。不过显然很多运维前辈们肯定也想到了此问题,这里我选择了几个可以进行性能回溯的工具---sysstat、atop、oswatch、nmon。

sysstat在安装完后,会在/etc/init.d下存在一个服务进程sysstat(其目前也已经支持systemd方式的init管理,配置文件为/usr/lib/systemd/system/sysstat.service),该服务会结合crontab 默认每十分钟取一次数据进行保存。atop工具同htop工具一样,是top的一个"升级版",atop工具安装完后也会在/etc/init.d目录下生成一个atop的服务,同样是结合crontab进行数据的存取。

 

一、sysstat

sysstat在/etc/init.d的服务名为boot.sysstat,其默认启动时,会将/etc/sysstat/sysstat.cron软链接到/etc/cron.d/sysstat 。

sysstat配置相关:

 

 

  1. 361way:/etc/sysstat # ll
  2. total 16
  3. -rw-r--r--1 root root 424Jan292014 sysstat
  4. -rw-r--r--1 root root 263Jan292014 sysstat.cron
  5. -rw-r--r--1 root root 6228Jan292014 sysstat.ioconf
  6. 361way:/etc/sysstat # cat sysstat.cron
  7. # crontab for sysstat
  8. # Activity reports every 10 minutes everyday
  9. */10**** root [-x /usr/lib64/sa/sa1 ]&& exec /usr/lib64/sa/sa1 -S ALL 11
  10. # Update reports every 6 hours
  11. 555,11,17,23*** root [-x /usr/lib64/sa/sa2 ]&& exec /usr/lib64/sa/sa2 -A

 

默认情况下数据保存60天,当前日期10天之前的数据文件会进行压缩保存:

 

  1. 361way:/etc/sysstat # more sysstat
  2. # sysstat-10.0.5 configuration file.
  3. # How long to keep log files (in days).
  4. # If value is greater than 28, then log files are kept in
  5. # multiple directories, one for each month.
  6. HISTORY=60
  7. # Compress (using gzip or bzip2) sa and sar files older than (in days):
  8. COMPRESSAFTER=10
  9. # Parameters for the system activity data collector (see sadc manual page)
  10. # which are used for the generation of log files.
  11. SADC_OPTIONS=""

 

默认数据文件存储在/var/log/sa目录

 

  1. 361way:/var/log/sa # ll
  2. total 4
  3. drwxr-xr-x 2 root root 4096Sep421:16201409
  4. lrwxrwxrwx 1 root root 11Sep423:30 sa04 ->201409/sa04

 

使用时,可以使用sar -f  datafile读取之前收集的数据。sysstat的更多信息,可以参看博文:http://www.361way.com/use-sysstat/1521.html

 

 

二、atop

 

atop工具,类似于将top的结果定期的取值,并存放到一个数据文件中,事后可以通过分析该文件,还原问题时间点的各进程的资源使用信息,atop的详细用法可以参看我的博客:Linux atop监控工具部署

 

三、OSWatch

 

OSWatch工具是由 oracle 搞出来的一个性能监控工具,不过其需要依赖sysstat这样的工具包里的工具,其调用的命令有iostat、ps、top、vmstat、tracert 等,通过简单的脚本,以定期间隔将数据保留在相应的目录文件中,也可以指定参数,保证其保留最近多长时间的文件。为了便于汇图,在该工具包中还提供了一个 jar文件,通过该jar文件可以方便的将收集到的数据以图示的形式展示出来。具体可以参看我的博文:OSWatch安装与使用

 

四、nmon

nmon是ibm 搞出的一个性能分析工具,默认可以实时查看,也可以通过crontab配合实现以一定的时间间隔将每天的数据保留在相应的文件内,一般会选择以csv 的格式存放,因为官方提供了一个工具,通过excel 的宏功能,可以轻松的实现数据的绘图,从其收集的数据来看,大多是通过获取/proc/下的文件,经过简单的处理后,存在一个文件中。具体可以参看我的博文:AIX/linux下的性能监控工具—nmon

 

五、总结

 

1、sysstat 服务获得的数据反映的是系统的整体性能情况,sysstat的数据文件通过sar命令读取的结果较人性化,易理解;

2、而atop工具,可以细化到每个进程的性能数据,atop的分析结果比较接近动态,类似于直接执行 top一样,可以按 cpu、内存情况进行排序,又可以正则匹配 。而 atopsar 更类似于sar 工具输出的结果 。

3、OSWatch工具是在sysstat、ps、top等常用工具的基础上,又以shell 脚本的方式进行了二次开发和封装,当然输出结果比较人性化 ,安装 tar包解压后即可使用,可以将可执行程序和结果存放在任一位置 。也支持通过调用gzip命令对输出内容进行压缩。

4、nmon工具输出的结果感觉比较乱(非实时模式),通过查看其输出文件处理比较不方便,不过取出数据后,结合excel 出图这个比较人性化,对于技能要求比较低,任何人取下来数据,点下excel 里的宏按钮即可生成漂亮的走势图。

 

所以在遇到对系统问题进行定位和分析时,可以结合起来用。从现网使用的经验来看,以上工具占用系统都不多 。一般公司比较重要的节点上,除部署zabbix、nagios这类的工具外,还可以再部署oswatch、atop两个工具,便于出现问题后结合分析。可以利用前者查看趋势图情况、利用后者进行文本数据对比。

 

文献出自:http://www.361way.com/breakdown-snapshot/3722.html

分享到:
评论

相关推荐

    nmon工具监控Linux系统资源

    nmon工具监控Linux系统资源 很好用哦 带说明文档的

    网络监控工具_sysstat

    linux性能测试网络监控工具-sysstat,含安装包及安装命令、监控命令等。

    几个linux服务器性能测试工具,服务器压力测试

    2、Linux性能测试工具Lmbench:Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解...

    sysstat-Linux操作系统的系统性能工具-C/C++开发

    sysstat-用于Linux操作系统的系统性能工具sysstat-用于Linux操作系统的系统性能工具(C)1999-2021 Sebastien GODARD(sysstat(at)橙色(点)fr)简介sysstat程序包包含许多公用程序,许多公用程序商业Unix,以...

    动态性能表sysstat

    oracle数据库学习之动态性能表sysstat

    sysstat:用于Linux的性能监视工具

    sysstat-Linux操作系统的系统性能工具 (C)1999-2020塞巴斯蒂安·戈达德(sysstat(at)橙色(dot)fr)介绍sysstat软件包包含许多商用Unix通用的各种实用程序,用于监视系统性能和使用情况: iostat报告块设备和...

    sysstat工具包

    sysstat 是 Linux 系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 sysstat 工具包中包含两类工具: • 即时查看工具:iostat、mpstat、sar • ...

    sysstat:Linux 性能监控工具-开源

    sysstat 实用程序是一组用于 Linux 的性能监视工具。 其中包括 sar、sadf、mpstat、iostat、nfsiostat-sysstat、cifsiostat、pidstat 和 sa 工具。

    Sysstat监控工具的动态库(so)实现

    传统的Sysstat监控工具是以命令行的方式执行的,输出的结果只能显示在标准输出;但通常我们的程序需要以api的方式监控系统的性能,所以传统的Sysstat是做不到的。该资源对sysstat-11.5.5的源码进行改造,以动态库的...

    Linux工具sysstat

    该服务包括监控系统性能及效率的一组工具。这些工具对于收集系统的性能数据很有帮助:核心工具包: iostat : cpu使用率及硬盘吞吐效率工具 mpstat:提供单个或者多个处理器的数据 sar 负责收集,报告并存储系统活跃...

    sysstat.rpm

    Linux 下的性能分析,少不了要使用 sysstat 工具包中的命令。同时 sysstat 服务会自动每个10分钟收集一次系统状态信息,并将它们存储到 /var/log/sa目录下。每天一个文件,文件名分别是sa01, sa02,... sa30.. 自动...

    Linux性能監控

    Linux性能監控 工具使用 1、关于 Sysstat; Sysstat 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于...

    sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据。

    sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、...

    sar和skar分析linux性能教程.doc

    Sysstat是linux系统免费提供用于收集主机性能的一个软件包,不是默认安装的,需要自己安装。 sysstat的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 sysstat 工具包中...

    sysstat-11.5.6.tar.gz

    sysstat-11.5.6.tar.gz,sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据。

    linux sysstat

    linux 查看系统资源工具 memstat iostat

    sysstat-10.1.5-4.el7.x86_64.rpm

    Sysstat 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据

    sysstat-graph:在浏览器中呈现SYSSTAT Linux性能监控数据

    Sysstat图 在浏览器中呈现SYSSTAT Linux性能监视数据。 使用PHP 5.3+将后端数据解析/处理为JSON(可通过浏览器使用)。 项目主页: : SYSSTAT: :

    sysstat-10.0.2

    linux下安装oracle时必备的文件sysstat-10.0.2.tar.gz 。

    sysstat-11.7.3.tar,gz

    linux系统下的系统性能监测工具,包括网络,IO, 内存的监测,实测好用,包括pidstat, iostat和sar等工具

Global site tag (gtag.js) - Google Analytics