`
zhengdl126
  • 浏览: 2530630 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

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

 
阅读更多

Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx、swift等),收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。

Tsar能够比较方便的增加模块,只需要按照tsar的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到tsar中。

Tsar安装 

Tsar目前托管在github上,下载编译安装步骤:

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

安装后:

 

  1. 定时任务配置:/etc/cron.d/tsar,负责每分钟调用tsar执行采集任务;
  2. 日志文件轮转配置:/etc/logrotate.d/tsar,每个月会把tsar的本地存储进行轮转;
  3. Tsar配置文件路径:/etc/tsar/tsar.conf,tsar的采集模块和输出的具体配置;
  4. 模块路径:/usr/local/tsar/modules,各个模块的动态库so文件;

 

Tsar配置

Tsar刚安装完,还没有历史数据,想要check是否正常,执行tsar -l,查看是否有实时信息输出:

Tsar的配置主要都在/etc/tsar/tsar.conf中,常用的有:

 

  • 增加一个模块,添加 mod_<yourmodname> on 到配置文件中
  • 打开或者关闭一个模块,修改mod_<yourmodname> on/off
  • output_stdio_mod 能够配置执行tsar时的输出模块
  • output_file_path 采集到的数据默认保存到的文件(如果修改的话需要对应修改轮转的配置/etc/logrotate.d/tsar
  • output_interface 指定tsar的数据输出目的,默认file保存本地,nagios/db输出到监控中心/数据库中,这两个功能还需要结合其它配置,具体见后面

Tsar使用 

 

 

  • 查看历史数据,tsar
  • -l/--list 查看可用的模块列表
  • -l/--live 查看实时数据,tsar -l --cpu
  • -i/--interval 指定间隔,历史,tsar -i 1 --cpu
  • --modname 指定模块,tsar --cpu
  • -s/--spec 指定字段,tsar --cpu -s sys,util
  • -d/--date 指定日期,YYYYMMDD或者n代表n天前
  • -C/--check 查看最后一次的采集数据
  • -d/--detail 能够指定查看主要字段还是模块的所有字段
  • -h/--help 帮助功能

 

高级功能 

 

  • 输出到nagios

 

配置: 首先配置output_interface file,nagios,增加nagios输出

然后配置nagios服务器和端口,以及发送的间隔时间

####The IP address or the host running the NSCA daemon
server_addr nagios.server.com
####The port on which the daemon is running - default is 5667
server_port 8086
####The cycle of send alert to nagios
cycle_time 300

由于是nagios的被动监控模式,需要指定nsca的位置和配置文件位置

####nsca client program
send_nsca_cmd /usr/bin/send_nsca
send_nsca_conf /home/a/conf/amon/send_nsca.conf

接下来指定哪些模块和字段需要进行监控,一共四个阀值对应nagios中的不同报警级别

####tsar mod alert config file
####threshold [hostname.]servicename.key;w-min;w-max;c-min;cmax;
threshold cpu.util;50;60;70;80;

 

  • 输出到Mysql

 

配置: 首先配置output_interface file,db,增加db输出

然后配置哪些模块数据需要输出

output_db_mod mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udpmod_io

然后配置sql语句发送的目的地址和端口

output_db_addr console2:56677

目的地址在该端口监听tcp数据,并且把数据入库即可,可以参照 tsar2db

模块开发

Tsar的一个比较好的功能是能够增加自己的采集,这时候需要编写模块代码,编译成so文件即可。

首先安装tsardevel,刚才安装时,如果执行make tsardevel,就会把模块开发的基本文件安装到系统 然后执行tsardevel ,就能在当前模块生成一个模块目录:

[kongjian@v132172.sqa.cm4 tsar]$ tsardevel test
build:make
install:make install
uninstall:make uninstall
[kongjian@v132172.sqa.cm4 tsar]$ ls test
Makefile &nbsp;mod_test.c &nbsp;mod_test.conf

按照要求修改mod_test.c中的read_test_stats,set_test_record 完成后make;make install就完成新模块的配置文件和so的设置,执行tsar --test就能查看效果。

另外也可以通过配置文件对自定义模块传递参数,方法是修改配置文件中的mod_test on myparameter 然后在mod_test.c中的read_test_stats函数中,通过parameter参数就可以获得刚才配置文件中的内容。

 

 

======================================  IO异常

 

 

 

 

$ sudo /usr/bin/tsar
Time           ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --sdb--- --dm-0-- --dm-1-- --dm-2-- --dm-3--  ---load-
Time             util     util   retran    bytin  bytout     util     util     util     util     util     util     load1  
06/08/14-09:50  21.71    15.89     0.64   204.6K  245.7K    14.64    10.22     6.80     0.00     1.05    15.80      1.02  
06/08/14-09:55  17.62    15.50     0.55   128.9K  175.4K    11.23     6.74     5.24     0.00     1.23    10.23      1.29  
06/08/14-10:00  21.34    15.69     0.76   141.0K  195.6K    14.79     6.42     8.88     0.00     2.91    11.95      1.14  
06/08/14-10:05  19.24    15.94     0.75   195.6K  331.8K    11.75     7.83     5.89     0.00     1.07    11.30      1.40  
06/08/14-10:10  15.94    16.19     0.46   285.5K  185.9K    10.45     6.43     5.64     0.00     1.24     8.96      1.06  
06/08/14-10:15  17.10    15.94     0.79   131.8K  180.9K    10.95     6.71     6.10     0.00     1.75     9.12      0.69  
06/08/14-10:20  17.68    16.12     0.81   208.2K  304.3K    11.42     5.77     5.64     0.00     1.94     8.90      1.08  
06/08/14-10:25  18.29    15.90     0.88   134.3K  204.4K    10.93     6.49     5.25     0.00     1.23     9.30      0.58  
06/08/14-10:30  19.32    16.17     2.10   161.8K  355.8K    11.69     7.20     5.89     0.00     2.27     9.44      1.09  
06/08/14-10:35  23.91    16.22     0.57   221.9K  201.8K    12.75     8.74     5.45     0.00     1.07    12.83      1.94  
06/08/14-10:40  23.26    16.02     0.92   270.4K  273.5K    12.53    11.68     6.11     0.00     4.87    11.81      1.12  
06/08/14-10:45  22.48    15.59     0.32   322.4K  293.0K    12.12    10.42     5.66     0.00     5.34     9.97      1.64  
06/08/14-10:50  19.40    15.79     0.58   178.6K  213.3K    10.70     6.80     5.81     0.00     2.26     8.70      1.40  
06/08/14-10:55  18.34    15.69     0.56   157.1K  208.8K    10.47     5.80     5.35     0.00     1.73     8.10      1.00  
06/08/14-11:00  18.52    15.51     0.64   253.2K  282.7K    11.15     5.43     6.31     0.00     1.27     7.48      1.01  
06/08/14-11:05  15.49    15.58     0.37   143.8K  165.6K    12.68     4.70     8.20     0.00     1.18     6.98      0.85  
06/08/14-11:10  15.92    15.34     0.52   155.3K  183.6K    13.06     5.40     8.46     0.00     1.46     7.59      1.19  
06/08/14-11:15  16.52    15.44     0.59   171.7K  241.1K    11.81     5.39     7.53     0.00     0.75     8.18      1.17  
06/08/14-11:20  15.46    15.45     0.36   180.2K  181.2K    11.10     5.28     6.96     0.00     1.11     7.46      0.97  
Time           ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --sdb--- --dm-0-- --dm-1-- --dm-2-- --dm-3--  ---load-

 

Time           ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --sdb--- --dm-0-- --dm-1-- --dm-2-- --dm-3--  ---load-
Time             util     util   retran    bytin  bytout     util     util     util     util     util     util     load1  
07/08/14-08:00  13.39    15.47     3.78    94.2K  205.8K     4.69     4.37     0.81     0.00     1.27     5.30      0.59  
07/08/14-08:05  10.60    15.76     0.26   128.1K   87.3K     4.73     4.01     1.16     0.00     0.90     5.64      0.79  
07/08/14-08:10  11.84    15.37     0.19   125.3K  108.7K     5.11     3.79     0.88     0.00     1.05     5.55      0.53  
07/08/14-08:15  16.02    15.51     0.33   151.9K  148.2K     6.86     4.69     1.41     0.00     1.05     7.98      0.79  
07/08/14-08:20  13.92    15.21     0.31   124.9K  144.2K    10.74     3.76     5.63     0.00     0.65     7.22      0.67  
07/08/14-08:25  14.29    15.32     0.35   128.3K  145.9K     9.59     3.89     3.97     0.00     0.72     7.34      0.68  
07/08/14-08:30  15.47    15.07     0.31   132.4K  135.2K     6.27     3.91     0.77     0.00     0.58     6.96      0.80  
07/08/14-08:35  16.88    15.28     0.30   134.0K  124.9K     5.45     4.11     1.24     0.00     0.90     6.12      0.54  
07/08/14-08:40  15.73    15.29     0.32   128.5K  143.4K     5.30     4.42     1.24     0.00     0.93     6.32      0.31  
07/08/14-08:45  14.47    15.05     0.63   127.6K  157.7K     5.38     4.94     1.00     0.00     1.10     6.64      0.49  
07/08/14-08:50  16.56    15.08     0.96   170.9K  228.8K     6.69     5.56     1.09     0.00     1.13     8.12      0.73  
07/08/14-08:55  14.76    15.15     0.71   ------  ------     4.75     3.85     1.18     0.00     0.92     5.61      0.90  
07/08/14-09:00  14.49    15.21     0.67   129.8K  189.7K     5.52     5.17     1.04     0.00     1.39     6.85      0.99  
07/08/14-09:05  14.68    15.03     1.20   134.7K  258.0K     5.82     4.17     1.12     0.00     0.78     6.60      0.52  
07/08/14-09:10  15.71    14.98     0.47   133.5K  164.8K     5.70     5.07     0.82     0.00     1.09     6.91      0.84  
07/08/14-09:15  17.96    15.17     0.68   144.0K  248.3K     6.00     4.60     1.36     0.00     1.41     6.43      1.02  
07/08/14-09:20  18.41    15.23     0.68   175.7K  254.5K     6.01     4.80     1.20     0.00     0.88     7.14      0.93  
07/08/14-09:25  17.52    14.85     0.73   176.0K  228.6K     5.87     4.64     1.35     0.00     0.68     6.82      0.80  
07/08/14-09:30  19.90    15.15     2.43   187.6K  524.3K     6.06     5.97     2.89     0.00     1.47     6.51      0.65  
Time           ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --sdb--- --dm-0-- --dm-1-- --dm-2-- --dm-3--  ---load-
Time             util     util   retran    bytin  bytout     util     util     util     util     util     util     load1  
07/08/14-09:35  19.02    17.70     0.70   154.2K  374.0K    48.13    23.42     2.02     0.00     1.96    60.00      1.69  
07/08/14-09:40  18.00    17.63     0.77   171.2K  215.4K    37.97    12.04     1.50     0.00     2.01    41.84      0.80  

MAX             46.28    23.90    14.14     1.3M    1.1M    98.59    68.19    30.00     0.00    25.68    98.93      4.99  
MEAN            15.19    15.71     0.66   180.8K  189.5K    13.30     7.21     4.00     0.00     1.57    13.19      0.96  
MIN              7.37    14.22     0.15    64.2K   63.1K     4.48     2.63     0.58     0.00     0.48     4.66      0.24  

 

 

分享到:
评论

相关推荐

    淘宝开源监控工具

    【淘宝开源监控工具——tsar详解】 在IT运维领域,实时、全面地监控系统状态是保障服务稳定运行的关键。淘宝开源的tsar(Time Shared Average Report)就是这样一款强大的监控工具,它能帮助管理员获取系统及应用...

    系统监控开源软件

    - **简介**:Opserver是一款由StackExchange开源的监控系统,主要用于内部监控。 - **最新版本**:Opserver,此版本发布于三年前。 - **功能**: - 服务器监控; - 数据库监控; - 容器监控。 #### Java监控解决...

    系统信息采集和监控工具 Tsar.zip

    Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息! 它类似于sar,能监控和收集...

    tsar-master.zip

    - **性能优化:** 监控系统资源使用情况,能及时发现性能瓶颈,进行系统调优。 - **故障预警:** 当系统资源使用异常时,tsar结合shell脚本可以发送预警通知,提前预防可能的系统故障。 - **日志分析:** 收集的...

    Tsar监视工具 v1.0.zip

    此外,Tsar还可以与其他系统管理工具(如Nagios、Zabbix)结合使用,构建全面的监控解决方案。 总的来说,Tsar v1.0是一款强大的网络监视工具,无论是用于日常运维还是学术研究,都具有很高的价值。通过深入学习和...

    淘宝Tsar数据采集工具详细说明文档(原作者文档+本人加入整理

    淘宝Tsar数据采集工具是一款由淘宝开发的服务器系统和应用信息收集工具。它能够收集包括服务器的系统信息(例如CPU、内存)和应用程序数据(如nginx、swift等)。Tsar所收集的数据会被存储在服务器的磁盘上,便于...

    ubuntu 安装tsar

    总之,TSAR是Linux系统管理员的有力工具,通过监控系统性能,可以帮助诊断问题、优化资源使用,确保服务的稳定运行。在Ubuntu上安装TSAR并配置合适的监控项,可以有效地提升运维效率。对于tsar2db扩展的使用,应根据...

    tsar:阿里巴巴 TSAR 项目的克隆

    介绍Tsar(淘宝系统活动报告器)是一个监控工具,可以用来收集和汇总系统信息,例如CPU、负载、IO,以及应用程序信息,例如nginx、HAProxy、Squid等,结果可以存储在本地磁盘或发送到 Nagios。 Tsar 可以通过编写...

    存储tsar数据到MySQLtsar2db.zip

    tsar2db用来收集一个cdn节点内tsar的采集数据,存到mysql数据库,提供给其它应用查询 数据保留最近3个月的,各表字段含义和tsar采集定义相同 从mysql的tsar库中可以看到整个cdn节点tsar采集到的数据 配置tsar向tsar...

    阿里开源项目合集

    **Tsar** 是淘宝内部使用的服务器监控工具,用于收集服务器的系统信息和应用数据,特点包括: - **实时监控**:能够实时查看服务器状态和应用数据; - **历史数据查询**:支持历史数据的查询,有助于问题定位和性能...

    Tsar介绍.pptx

    Tsar(Time Shared Resource)是一款开源的系统监控工具,源自阿里集团,主要功能是收集、统计和展示系统及应用的各种性能数据。它最初在2009年发布,经过不断迭代和优化,现在具备了丰富的功能和高度的可扩展性。 ...

    Python库 | tsar-0.5.2-py3-none-any.whl

    在Python的开发环境中,`tsar`是一个非常实用的工具,尤其对于系统监控和性能分析的场景。`tsar-0.5.2-py3-none-any.whl`文件是该库的一个特定版本(0.5.2)的预编译包,适用于Python 3解释器。这个文件格式是`.whl`...

    Tsar监视工具-其他

    Tsar(淘宝系统活动报告器)是一个监视工具,可用于收集和汇总系统信息,例如CPU,负载,IO和应用程序信息(例如nginx,HAProxy,Squid等)。结果可以存储在本地磁盘或发送到Nagios。可以通过编写模块轻松扩展Tsar,...

    tsar-2.1.0.tar

    Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息。

    Tsar监视工具 v1.0

    Tsar(淘宝系统活动报告器)是一个监视工具,可用于收集和汇总系统信息,例如CPU,负载,IO和应用程序信息(例如nginx,HAProxy,Squid等)。结果可以存储在本地磁盘或发送到Nagios。可以通过编写模块轻松扩展Tsar,...

    沙皇:淘宝系统活动记者

    Tsar(淘宝系统活动报告器)是一种监视工具,可用于收集和汇总系统信息,例如CPU,负载,IO和应用程序信息(例如nginx,HAProxy,Squid等)。结果可以存储在本地磁盘或发送到Nagios。 可以通过编写模块轻松扩展Tsar...

    淘宝网Nginx应用、定制与开发实战.pdf[书签版]

    主 动健康检查、输入体过滤器、职能进程机制、Tengine中的命令行参数增加和Nginx监控增强(如使用实时监控工具Tsar)也是该部分讨论的重点。 Web应用开发章节讨论了ngx_lua和ngx_drizzle模块,以及它们的应用案例。...

    cpp-支持trafficserver62x

    本文将详细介绍如何为traffic server 6.2.x版本适配tsar,一个用于网络性能监控的开源工具。 tsar(Traffic Server Report)是一款强大的网络性能监控工具,它以C++编写,提供了一套全面的统计和报告功能,能够帮助...

Global site tag (gtag.js) - Google Analytics