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相关的监控计数 |
--tcp | TCP 协议 IPV4的使用情况 |
--mem | 物理内存的使用情况 |
参考实例
cpu监控:
[root@linuxcool ~]# tsar --cpu
监控虚存和load情况:
[root@linuxcool ~]# tsar --swap --load
列出系统内存的使用情况:
[root@linuxcool ~]# tsar --mem
监控系统IO情况:
[root@linuxcool ~]# tsar --io
历史数据回溯:
[root@linuxcool ~]# tsar -d 2 -i 1