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@linuxvip ~]# tsar --cpu
监控虚存和 load 情况:
[root@linuxvip ~]# tsar --swap --load
列出系统内存的使用情况:
[root@linuxvip ~]# tsar --mem
监控系统 IO 情况:
[root@linuxvip ~]# tsar --io
历史数据回溯:
[root@linuxvip ~]# tsar -d 2 -i 1
正文完
发表至: 💽系统管理
2020-05-10