淘宝内部大量使用的开源系统监控工具:Tsar

时间:2022-03-21 00:54:15

Tsar是淘宝开发的一个非常好用的系统监控工具,在淘宝内部大量使用,它不仅可以监控CPU、IO、内存、TCP等系统状态,也可以监控Apache,Nginx/Tengine,Squid等服务器状态。值得一提的是,Tsar 支持将数据存储到 MySQL 中,也可以将数据发送到 Nagios 报警服务器。

㈠ 部署

① tsar由于定时采集数据,需要crond服务正常。不依赖额外的库

② 获得tsar源代码:(svn checkout http://code.taobao.org/svn/tsar/trunk/ tsar)

③ 编译安装tsar

  • 进入tsar的根文件夹
  • 运行 ./configure,注意tsar并不支持prefix
  • 运行 make 进行编译
  • 运行 make install 进行安装

㈡ 常用例子

比如、以1秒钟为间隔,实时打印tsar的概述数据

 
 
  1. [root@localhost tsar-2.1.0]# tsar -i 1 -l
  2. Time ---cpu-- ---mem-- ---tcp-- -----traffic---- --hda--- ---load-
  3. Time util util retran pktin pktout util load1
  4. 14/04-13:05 98.0 14.9 0.0 2.0 0.0 32.8 0.4
  5. 14/04-13:05 85.1 14.6 0.0 2.0 0.0 15.6 0.4
  6. 14/04-13:05 0.0 14.6 0.0 10.0 2.0 0.0 0.4
  7. 14/04-13:05 4.0 14.6 0.0 2.0 0.0 1.6 0.4
  8. 14/04-13:05 5.0 14.6 0.0 2.0 0.0 0.4 0.3
  9. 14/04-13:05 7.0 14.6 0.0 0.0 0.0 0.8 0.3
  10. 14/04-13:05 2.0 14.6 0.0 0.0 0.0 0.0 0.3
  11. 14/04-13:05 1.0 14.6 0.0 0.0 2.0 0.0 0.3

再比如:

  • tsar 显示1天内的历史汇总(summury)信息,以默认5分钟为间隔
  • tsar --cpu -i 1 显示一天内cpu的历史信息,以1分钟为间隔
  • tsar --live --mem -i 2 以2秒钟为间隔,实时打印mem的数据。
  • tsar --cpu --mem -i 1 显示一天内的cpu和内存历史数据,以1分钟为间隔

更多用法,请查看http://code.taobao.org/p/tsar/wiki/index/