tsar是淘宝自己开发的一个采集工具(类似于sar工具),主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),以及应用数据(如squid haproxy nginx等)。

收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,另外支持将数据存储到mysql中,也可以将数据发送到nagios报警服务器。

tsar在展示数据时,可以指定模块,并且可以对多条信息的数据进行merge输出,带-live参数可以输出秒级的实时信息。

tsar是基于模块化设计的程序,程序有两部分组成:框架和模块。
框架程序源代码主要在src目录,而模块源代码主要在modules目录中。
框架提供对配置文件的解析,模块的加载,命令行参数的解析,应用模块的接口对模块原始数据的解析与输出。 模块提供接口给框架调用。
tsar依赖与cron每分钟执行采集数据,因此它需要系统安装并启用crond,安装后,tsar每分钟会执行tsar –cron来定时采集信息,并且记录到原始日志文件。

语法格式:tsar [参数]

常用参数:

-check查看最后一次的采集数据
--check/-C查看最后一次tsar的提醒信息
--cron/-c使用crond模式来进行tsar监控
--interval/-i指明tsar的间隔时间,默认单位分钟,带上--live参数则单位是秒
--list/-L列出启用的模块
--live/-l查看实时数据
--file/-f指定输入文件
--ndays/-n指定过去的数据天数,默认1天
--date/-d指定日期,YYYYMMDD或者n代表n天前
--detail/-D能够指定查看主要字段还是模块的所有字段
--cpu列出cpu相关的监控计数
--tcpTCP 协议 IPV4的使用情况
--mem物理内存的使用情况

参考实例

cpu监控:

[root@linux-arae-cc ~]# tsar --cpu

监控虚存和load情况:

[root@linux-arae-cc ~]# tsar --swap --load

列出系统内存的使用情况:

[root@linux-arae-cc ~]# tsar --mem

监控系统IO情况:

[root@linux-arae-cc ~]# tsar --io

历史数据回溯:

[root@linux-arae-cc ~]# tsar -d 2 -i 1