您的位置:首页 > 运维架构

淘宝开源其系统监控工具Tsar 推荐

2013-12-16 22:29 896 查看
Tsar 简介 Tsar(Taobao System Activity Reporter)是淘宝开发的一个非常好用的系统监控工具,在淘宝内部大量使用,它不仅可以监控CPU、IO、内存、TCP等系统状态,也可以监控Apache,Nginx/Tengine,Squid等服务器状态。值得一提的是,Tsar 支持将数据存储到 MySQL 中,也可以将数据发送到 Nagios 报警服务器。 Tsar可将收集到的数据存储在磁盘上,另外可以支持将数据存储到MySQL中,也可将数据发送到Nagios报警服务器。在展示数据层面,可以指定模块,并且支持对多条信息的数据进行Merge输出,如果带--live参数,还可以输出秒级的实时信息。一、Tsar 架构介绍

从架构上来看,Tsar基于模块化设计,源代码上来看主要包含两部分:框架和模块。框架源代码主要存放在src目录,模块源代码主要在modules目录中。框架提供对配置文件的解析、模块的加载、命令行参数的解析、应用模块的接口对模块原始数据的解析与输出。

1.1 按功能划分




1.2 采集流程




1.3 展现流程


二、Tsar 特点:

1. 技术开源2. 模块化3. 自带很多系统性能监控模块4. 自带很多常用软件的监控模块5. 可自写插件收集监控其他信息6. 支持本机查看7. 支持输出到远程数据库8. 配合nagios的被动监控,页面显示

三、Tsar 部署

Tsar 提供了两种安装方法,

3.1 github安装

$ git clone git://github.com/kongjian/tsar.git$ cd tsar$ make# make install

3.2 下载zip文件安装

$ wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate$ unzip tsar.zip$ cd tsar$ make# make install
参考地址:https://github.com/alibaba/tsar

四、Tsar 目录结构

4.1 定时任务,负责每分钟调用tsar执行采集任务;

/etc/cron.d/tsar

4.2 日志文件轮转配置,每个月会把tsar的本地存储进行轮转;

/etc/logrotate.d/tsar

4.3 Tsar配置文件路径,tsar的采集模块和输出的具体配置;

/etc/tsar/tsar.conf

4.4 模块路径,各个模块的动态库so文件;

/usr/local/tsar/modules

4.5 二进制程序,tsar执行程序

/usr/bin/tsar

五、Tsar使用

5.1 基本模块

系统:cpu/mem/load/tcp/traffic/io/disk等;

应用:nginx/trafficserver/lvs/haproxy等

参考链接:https://github.com/alibaba/tsar/tree/master/modules

5.2 指定属性查看数据
字段参数示例
指定模块--list/ltsar --mem -l -i 1
指定实时数据 --live/-ltsar -l --cpu
指定间隔时间--interval/-itsar -i 1 --cpu
指定模块--modnametsar --cpu
指定字段--spec/-stsar --cpu -s sys,wait
指定日期--date/-dtsar --cpu -s sys,wait -d n
查看最后一次采集--check/-Ctsar --cehck --cpu -s sys
指定查看字段还是模块--detail/-dtsar -d cpu
帮助功能--help/-htsar -h
如图所示:



5.3 实时信息查看

Live 模式,实时查看数据,可指定模块,可指定间隔时间

5.4 历史信息查看

指定模块,间隔分钟,查看N天数据

5.5 查看多item模块

比如多块磁盘信息(因为本人是虚拟机,所以只能看到一块磁盘信息)


5.6 查看最近一次数据信息--check,输出最近一分钟数据,用于监控

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息