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


    Tsar 简介

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

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

    一、Tsar 架构介绍     

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

    1.1 按功能划分

    221332363.png

    1.2 采集流程

    221449552.png

    1.3 展现流程

    221606406.png

    二、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/l tsar --mem  -l -i 1
    指定实时数据   --live/-l tsar -l --cpu
    指定间隔时间 --interval/-i tsar -i 1 --cpu
    指定模块 --modname tsar --cpu
    指定字段 --spec/-s tsar --cpu -s sys,wait
    指定日期 --date/-d tsar --cpu -s sys,wait -d n
    查看最后一次采集 --check/-C tsar --cehck --cpu -s sys
    指定查看字段还是模块 --detail/-d tsar -d cpu
    帮助功能 --help/-h tsar -h

    如图所示:

    221915199.png

    5.3 实时信息查看

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

    222048962.png

     

    5.4 历史信息查看

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

    222138935.png

    5.5 查看多item模块

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

    224413457.png

     

    5.6 查看最近一次数据信息

    --check,输出最近一分钟数据,用于监控

    222421355.png

  • 相关阅读:
    【Python】python3.6中实现同一行动态输出
    【Python】将python3.6软件的py文件打包成exe程序
    【Java】分布式RPC通信框架Apache Thrift 使用总结
    【Java】加载驱动方法
    【Java】Comparable和Comparator接口的区别
    【Java】接口(interface)VS抽象类
    【Ubuntu】PHP环境安装-phpstudy for linux版
    【Ubuntu】xrdp完美实现Windows远程访问Ubuntu 16.04
    【系统设计】会议室预定系统房间预定系统设计
    jmeter场景设计:业务占比
  • 原文地址:https://www.cnblogs.com/yongxingg/p/3659718.html
Copyright © 2020-2023  润新知