系统管理 · 2022年02月20日 0

tsar命令 – 收集服务器系统信息

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@anycode ~]# tsar --cpu ``` 监控虚存和load情况: ``` [root@anycode ~]# tsar --swap --load ``` 列出系统内存的使用情况: ``` [root@anycode ~]# tsar --mem ``` 监控系统IO情况: ``` [root@anycode ~]# tsar --io ``` 历史数据回溯: ``` [root@anycode ~]# tsar -d 2 -i 1 ```