BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 贾国清 关注 0 他的粉丝 发布于 2013年4月13日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

淘宝在开发社区的贡献可谓功不可没,近日又将其系统监控工具Tsar代码上传至GitHub。据@淘叔度介绍,Tsar在淘宝内部已经被大量使用,它不仅可以监控CPU、IO、内存、TCP等系统状态,也可监控Apache、Nginx/Tengine、Squid等服务器状态。

Tsar(Taobao System Activity Reporter)可将收集到的数据存储在磁盘上,另外可以支持将数据存储到MySQL中,也可将数据发送到Nagios报警服务器。在展示数据层面,可以指定模块,并且支持对多条信息的数据进行Merge输出,如果带--live参数,还可以输出秒级的实时信息。

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

Tsar的运行流程图如下: 

主要执行流程:

  • 解析输入
  • 读取配置文件信息
  • 加载相应模块
  • Tsar的三种模式(print、live和cron)执行
  • 释放资源

本次开源消息公布后,受到了社区开发者的欢迎:

TriChaos:喜欢没有浮华的字符界面,像和没有废话的人对话。

_Yuen:代码少逻辑清晰模块化又好,不得不说是一个好工具的典范。

淘木名:事后线上问题分析必备利器。

淘叔度:目前只支持C语言开发的插件。不过写个模块非常简单。

得益于淘宝开源

淘宝开源平台于2010年6月上线,至今,该平台已经发布了若干开源项目,其中不乏来自于淘宝之外的项目在此落户。目前注册会员数13002人,收录项目已达到2875个。目前,该平台关注度最高的5个项目分别是tfstairwebxOceanBaseathrun

扩展阅读

 

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

淘宝 by Java 陈

淘宝真给国人长志气

Re: 淘宝 by lijun deng

在redhat5.6 64位上上传了tsar-2.1.0.tar.gz,进行了解压,按照安装手册:code.taobao.org/p/tsar/wiki/deploy/,修改了/etc/tsa...
#debug_level(INFO DEBUG WARN ERROR FATAL)
debug_level FATAL
#[module] on/off to enable mod
mod_cpu on
mod_mem on
mod_swap on
mod_tcp on
mod_udp on
mod_traffic on
mod_io on
mod_pcsw on
mod_partition on
mod_tcpx on
mod_load on

#output type:file,nagios,db
#output_interface file,nagios

#[output_file] original data to store
output_file_path /var/log/tsar.data

#[output_stdio] these mod will be show as using tsar
output_stdio_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_pcsw,mod_io

#[output_nagios] the alert will be report to nagios server
#output_nagios_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_pcsw,mod_io

#[output_db]
#output_db_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_pcsw,mod_io
#output_db_addr console2:56677

#support include other mod conf
#include /etc/tsar/conf.d/*.conf
执行tsar -l
报如下错误:
Segmentation fault (core dumped)
在/etc/tsar目录下产生了core文件
不知道如何解决。

Re: 淘宝 by 李 克

请更新一下配置文件,另外尽量是用github的新版本:github.com/alibaba/tsar/archive/master.zip
如果方便可以把core发给我一下nklike@126.com,感谢你的反馈
#debug_level(INFO DEBUG WARN ERROR FATAL)
debug_level FATAL
#[module] on/off to enable mod
mod_cpu on
mod_mem on
mod_swap on
mod_tcp on
mod_udp on
mod_traffic on
mod_io on
mod_pcsw on
mod_partition on
mod_tcpx on
mod_load on

#output type:file,nagios,db
#output_interface file

#[output_file] original data to store
output_file_path /var/log/tsar.data

#[output_stdio] these mod will be show as using tsar
output_stdio_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_pcsw,mod_io

#[output_nagios] the alert will be report to nagios server
#output_nagios_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_pcsw,mod_io

#[output_db]
#output_db_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_pcsw,mod_io
#output_db_addr console2:56677

#support include other mod conf
#include /etc/tsar/conf.d/*.conf

Re: 淘宝 by lijun deng

非常感谢你的回复。按照你提供的下载地址,我解压tsar-master.zip。执行了make 和make install 修改了/etc/tsar/tsar.conf文件屏注释了不需要的项。执行tsar -l 就ok了。另外,core文件发送给了你的邮箱。

Re: 淘宝 by lijun deng

执行tsar -l后显示界面不是很美观,尤其是多个硬盘(外接存储的时候)。能否一行显示?!有什么地方可以调整显示参数么。
[root@hnxdcx3 ~]# tsar -l
Time ---cpu-- ---mem-- ---tcp-- -----traffic---- cciss/c0 --sda--- --sdb--- --sdc--- --sdd--- --sde--- --sdf--- --sdg--- --sdh--- --sdi--- --sdj--- --sdk--- --sdl--- --sdm--- --sdn--- --sdo--- ---load-
Time util util retran pktin pktout util util util util util util util util util util util util util util util util load1
15/04/13-15:07:43 4.14 8.94 0.00 26.7K 13.4K 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.99
15/04/13-15:07:48 3.29 8.93 0.00 21.5K 10.8K 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.23
15/04/13-15:07:54 2.15 8.93 0.00 22.0K 11.0K 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.29

Re: 淘宝 by 李 克

tsar --merge能够把同一个模块里面不同的对象合并显示
另外你可以指定具体的模块查看信息,如tsar --io -l -i 1 -s util

Re: 淘宝 by 李 克

试试-s可以指定查看某个字段,-I可以指定具体的某个磁盘或者分区

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

7 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT