淘宝开源其系统监控工具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



本文转自 kuangling 51CTO博客,原文链接:http://blog.51cto.com/kling/1341330

相关文章
|
运维 安全 Cloud Native
Apsara Stack 技术百科 | 混合云全景智能化观测平台Sunfire
在企业数字化转型的浪潮中,核心业务的上云和迁云无疑是转型过程的重中之重,企业对于数字安全性及等保合规层面的需求也日益强烈,混合云成为诸多大型政府企业客户上云迁云的首选方案。随着企业云上业务的复杂化,云上云下技术栈的多样化,以及云上运维组织规模的扩大化,云上业务的稳定性和连续性面临着巨大的挑战。
4273 0
Apsara Stack 技术百科 | 混合云全景智能化观测平台Sunfire
|
前端开发
Grafana 分享带可变参数的链接
Grafana 分享带可变参数的链接
1099 0
Grafana 分享带可变参数的链接
|
安全 Linux 网络安全
Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」
Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」
|
4月前
|
消息中间件 负载均衡 Linux
RabbitMQ部署指南
本文介绍RabbitMQ在CentOS7中基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通集群与镜像模式搭建,并详细演示仲裁队列使用及集群扩容方法,助力实现高可用消息队列服务。
 RabbitMQ部署指南
|
9月前
|
人工智能 Cloud Native Java
2025 年 Java 应届生斩获高薪需掌握的技术实操指南与实战要点解析
本指南为2025年Java应届生打造,涵盖JVM调优、响应式编程、云原生、微服务、实时计算与AI部署等前沿技术,结合电商、数据处理等真实场景,提供可落地的技术实操方案,助力掌握高薪开发技能。
443 2
|
11月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1955 30
|
存储 jenkins 测试技术
Apipost自动化测试:零代码!3步搞定!
传统手动测试耗时低效且易遗漏,全球Top 10科技公司中90%已转向自动化测试。Apipost无需代码,三步实现全流程自动化测试,支持小白快速上手。功能涵盖接口测试、性能压测与数据驱动,并提供动态数据提取、CICD集成等优势,助力高效测试全场景覆盖。通过拖拽编排、一键CLI生成,无缝对接Jenkins、GitHub Actions,提升测试效率与准确性。
1012 11
|
算法 API Apache
Flink CDC:新一代实时数据集成框架
本文源自阿里云实时计算团队 Apache Flink Committer 任庆盛在 Apache Asia CommunityOverCode 2024 的分享,涵盖 Flink CDC 的概念、版本历程、内部实现及社区未来规划。Flink CDC 是一种基于数据库日志的 CDC 技术实现的数据集成框架,能高效完成全量和增量数据的实时同步。自 2020 年以来,Flink CDC 经过多次迭代,已成为功能强大的实时数据集成工具,支持多种数据库和数据湖仓系统。未来将进一步扩展生态并提升稳定性。
5146 3
Flink CDC:新一代实时数据集成框架
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
Kubernetes API 调度
在k8S中,Scheduler作用及实现原理是什么?
在k8S中,Scheduler作用及实现原理是什么?