Linux:系统性能监控工具-tsar安装和使用
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
在上家公司做性能压力测试时就用过tsar但总结文档留在了内部正好借着最近工作内容又用上了tsar总结起来
目录
前言
做性能验证往往需要去监控系统的各项性能指标Linux系统监控工具有很多但对于命令行操作安装便捷监控项较全面等方面个人比较推荐tsar
tsar
介绍
TSARTaobao System Activity Reporter)是淘宝自己开发的采集工具。
主要用来收集服务器的系统信息(如cpuiomemtcp等)以及应用数据(如squid haproxy nginx等)。收集到的数据存储在磁盘上可以随时查询历史信息输出方式灵活多样另外支持将数据存储到mysql中也可以将数据发送到nagios报警服务器。Tsar在展示数据时可以指定模块并且可以对多条信息的数据进行merge输出带–live参数可以输出秒级的实时信息。Tsar能够比较方便的增加模块只需要按照tsar的要求编写数据的采集函数和展现函数就可以把自定义的模块加入到Tsar中。
总体架构
Tsar是基于模块化设计的程序程序有两部分组成框架和模块。
- 框架程序源代码主要在src目录而模块源代码主要在modules目录中。
- 框架提供对配置文件的解析模块的加载命令行参数的解析应用模块的接口对模块原始数据的解析与输出。 模块提供接口给框架调用。
- Tsar依赖与cron每分钟执行采集数据因此它需要系统安装并启用crond安装后tsar每分钟会执行tsar --cron来定时采集信息并且记录到原始日志文件。
安装tasr
有两种安装方式
- clone代码
git clone git://github.com/alibaba/tsar.git
cd tsar
make
make install
- 下载源码-我是采用的这个方法
#依次执行以下命令即可
1.wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate
2.unzip tsar.zip
3.cd tsar-master
4.make
5.make install
执行命令
wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate
解压unzip tsar.zip
执行命令
cd tsar-master
make
执行命令make install
tsar配置介绍
安装完tsar后会生成如下的文件
Tsar配置文件路径/etc/tsar/tsar.conftsar的采集模块和输出的具体配置
定时任务配置:/etc/cron.d/tsar负责每分钟调用tsar执行采集任务
日志文件轮转配置:/etc/logrotate.d/tsar每个月会把tsar的本地存储进行轮转
模块路径/usr/local/tsar/modules各个模块的动态库so文件
配置文件
负责tsar的采集模块和输出的具体配置在这里配置启用哪些模块输出等内容。
cd /etc/tsar/tsar.conf
常用参数说明
可结合下文参数来对应查看/etc/tsar/tsar.conf文件
- debug_level 指定tsar的运行级别主要用来调试使用
- mod_xxx on/off 开启指定模块
- out_interface 设置输出类型支持filenagiosdb
- out_stdio_mod 设置用户终端默认显示的模块
- output_db_mod设置哪些模块输出到数据库
- output_db_addr 数据库的ip和端口
- output_nagios_mod设置哪些模块输出到nagios
- include 支持include配置主要用来加载用户的自定义模块
- cycle_time指定上报的间隔时间由于tsar每一分钟采集一次上报时会判断是否符合时间间隔如设置300的话则在05等整点分钟会上报nagios
- threshold 设置某个要报警项的阀值,前面是模块和要监控的具体名称后面的四个数据代表报警的范围warn和critical的范围
定时任务配置
每分钟以root用户的角色调用tsar命令来执行数据采集。
cat /etc/cron.d/tsar
日志文件
每个月会把tsar的本地存储进行轮转此外这里也设定了数据在/var/log/tsar.data下
cd /etc/logrotate.d/tsar
tsar使用
在Tsar的使用中如下是可以参考的帮助信息但实际使用可可能不会涉及如此多可以直接参考下一个实际使用
Usage: tsar [options]
Options:
-check 查看最后一次的采集数据
--check/-C 查看最后一次tsar的提醒信息如tsar --check / tsar --check --cpu --io
--watch/-w 显示最后多少分钟的记录. 如:tsar --watch 30 / tsar --watch 30 --cpu --io
--cron/-c 使用crond模式来进行tsar监控
--interval/-i 指明tsar的间隔时间默认单位分钟,默认显示间隔5分钟带上--live参数则单位是秒默认是5秒。
--list/-L 列出启用的模块
--live/-l 启用实时模式类似iostat等可以配合-i参数和模块参数使用。
--file/-f 指定输入文件
--ndays/-n 控制显示多长时间的历史数据默认1天
--date/-d 指定日期,YYYYMMDD或者n代表n天前
--merge/-m 对有多个数据的展示进行汇总如机器上跑了3个squid可以用 tsar –squid -m的放式进行展示汇总。
--detail/-D 能够指定查看主要字段还是模块的所有字段
--spec/-s 指定字段,tsar –cpu -s sys,util
--item/-I 显示指定项目数据, 如:tsar --io -I sda
-–help/-h 显示提示信息和模块信息
Modules Enabled:
--cpu 列出cpu相关的监控计数
--mem 物理内存的使用情况
--swap 虚拟内存的使用情况
--tcp TCP协议IPV4的使用情况
--udp UDP协议IPV4的使用情况
--traffic 网络传出的使用情况
--io Linux IO的情况
--pcsw 进程和上下文切换
--partition 磁盘使用情况
--tcpx TCP连接相关的数据参数
--load 系统负载情况
tsar实际使用参考
查看可用的监控模块列表
tsar -L
可在配置文件中调整/etc/tsar/tsar.conf
查看CPU情况
tsar --cpu
user表示用户空间cpu使用情况
sys表示内核空间cpu使用情况
wait表示IO对应的cpu使用情况
hirq,sirq分别是硬件中断软件中断的使用情况
util是系统使用cpu的总计情况
依次类推
可针对的查看下面具体某项或某几项的情况
cpu
mem
swap
tcp
udp
traffic
io
pcsw
partition
tcpx
load
tsar常用命令
显示1天内的历史汇总(summury)信息以默认5分钟为间隔
tsar
查看所有监控项实时数据
tsar -l
查看所有监控项历史或实时数据以每次1秒钟作为采集显示
tsar -d 1 --cpu --load --mem -i 1
#-d 1 查看一天前的数据去掉-d 1则表示查询截止目前24小时内的数据
#-i 1 表示以每次1分钟作为采集显示
查看所有监控项历史或实时数据以每次1秒钟作为采集显示
tsar -i 1 -l
#-l 实时数据不加-l就是所有历史数据了
查出指定监控项实时数据以每次1秒钟作为采集显示
tsar --cpu --load --mem -i 1 -l
查出指定监控项实时数据以每次5秒钟作为采集显示
tsar --cpu --load --mem -l 5
追溯历史日期的数据
tsar --load --cpu -d "20230111" -f /var/log/tsar.data
或
tsar --load --cpu -d "20230111"
#-d 指定历史日期
#-f 指定tsar的数据文件
参考
GitHub项目地址alibaba/tsar
tsar安装和使用tsar安装和使用
Linux系统性能监控工具介绍之-tsarLinux系统性能监控工具介绍之-tsar
linux系统性能监控工具—tsalinux系统性能监控工具—tsa