首页 > 系统相关 >Linux:系统性能监控工具-tsar安装和使用

Linux:系统性能监控工具-tsar安装和使用

时间:2024-02-21 09:22:19浏览次数:28  
标签:监控 -- 采集 tsar 模块 Linux cpu

前言

做性能验证往往需要去监控系统的各项性能指标,Linux系统监控工具有很多,但对于命令行操作,安装便捷,监控项较全面等方面,个人比较推荐tsar

tsar

介绍

TSAR(Taobao System Activity Reporter))是淘宝自己开发的采集工具。

主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),以及应用数据(如squid haproxy nginx等)。收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,另外支持将数据存储到mysql中,也可以将数据发送到nagios报警服务器。Tsar在展示数据时,可以指定模块,并且可以对多条信息的数据进行merge输出,带–live参数可以输出秒级的实时信息。Tsar能够比较方便的增加模块,只需要按照tsar的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到Tsar中。

总体架构
Tsar是基于模块化设计的程序,程序有两部分组成:框架和模块。

框架程序源代码主要在src目录,而模块源代码主要在modules目录中。
框架提供对配置文件的解析,模块的加载,命令行参数的解析,应用模块的接口对模块原始数据的解析与输出。 模块提供接口给框架调用。
Tsar依赖与cron每分钟执行采集数据,因此它需要系统安装并启用crond,安装后,tsar每分钟会执行tsar --cron来定时采集信息,并且记录到原始日志文件。

安装tasr

有两种安装方式

1.clone代码

git clone git://github.com/alibaba/tsar.git
cd tsar
make
make install

2.下载源码

#依次执行以下命令即可
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

tsar配置介绍

安装完tsar后会生成如下的文件

Tsar配置文件路径:/etc/tsar/tsar.conf,tsar的采集模块和输出的具体配置;
定时任务配置:/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 设置输出类型,支持file,nagios,db
out_stdio_mod 设置用户终端默认显示的模块
output_db_mod设置哪些模块输出到数据库
output_db_addr 数据库的ip和端口
output_nagios_mod设置哪些模块输出到nagios
include 支持include配置,主要用来加载用户的自定义模块
cycle_time指定上报的间隔时间,由于tsar每一分钟采集一次,上报时会判断是否符合时间间隔,如设置300的话,则在0,5等整点分钟会上报nagios
threshold 设置某个要报警项的阀值,前面是模块和要监控的具体名称,后面的四个数据代表报警的范围,warn和critical的范围

定时任务配置

每分钟以root用户的角色调用tsar命令来执行数据采集

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

可针对的查看下面具体某项或某几项的情况

сpu
mem
swap
tcp
udp
traffic
io
pcsw
partition
tcpx
load
1、查看CPU情况
tsar --cpu

 

user表示 用户空间 cpu使用情况
sys表示  内核空间 cpu使用情况
wait表示IO对应的cpu使用情况
hirq,sirq分别是硬件中断,软件中断的使用情况
util是系统使用cpu的总计情况

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系统性能监控工具介绍之-tsar:Linux系统性能监控工具介绍之-tsar
linux系统性能监控工具—tsa:linux系统性能监控工具—tsa



标签:监控,--,采集,tsar,模块,Linux,cpu
From: https://www.cnblogs.com/chenxiaomeng/p/18024465

相关文章

  • 大年学习linux(第五节---目录结构)
    五、目录结构可以用ls/查看linux的目录结构bindataetclibmediaoptrootsbinsysusrbootdevhomelib64mntprocrunsrvtmpvar以下是对这些目录的解释:/bin:bin是Binaries(二进制文件)的缩写,这个目录存放着最经常使用的命令......
  • 大年学习linux(第六节---软件安装)
    六、软件安装rpmRPM软件包的管理工具补充说明rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了......
  • linux 中 awk的特殊内置变量
     001、ARGC:命令行参数数组ARGV中元素的个数(c:count;v:variable)[root@PC1test1]#lsa.txtb.txt[root@PC1test1]#awk'{printARGC}'a.txt##ARGC:表示命令行参数数组ARGV中元素的个数222[root@PC1test1]#awk'{printlength(ARGV)}'a.txt......
  • 《Linux内核完全注释》(2)
    3内核编程语言和环境首先介绍了as86和GNUas汇编程序的语法和使用方法,对GNUC中的内联汇编、语句表达式、寄存器变量和内联函数等C语言扩展内容进行介绍,同时描述了C和汇编函数之间的相互调用机制。3.1as86汇编器是一个可以产生16位代码的汇编器,与之配套的是ld86链接器。其是B......
  • Linux下使用docker部署vue项目
    通过nginx镜像部署关于前端vue项目部署:使用npm打包创建nginx容器dockerrun-d--nameadmin_portal-p9091:80nginx将dist目录下的所有文件拷贝到容器的/usr/share/nginx/html目录下,这个是html文件的默认读取路径dockercp./admin_portal:/usr/share/nginx/html/......
  • linux下部署MySQL服务
    linux下部署MySQL服务1、安装sudo-s调整为root下用户角色运行以下命令安装MySQL,输入Y继续sudoaptinstallmysql-server2、启动systemctlstartmysqld设置MySQL开机自启动(可选)systemctlenablemysqld3、检查运行状态systemctlstatusmysqld4、配置MySQL用户......
  • LInux下wc命令简单使用
    前言利用wc指令我们可以计算文件的Byte数、字数、或列数,如果不指定文件名称,或者所给予的文件名为"-",则wc指令会从标准输入设备读取数据。使用语法如下wc[-clw][--help][--version][文件...]参数如下-c或--bytes或--chars只显示Bytes数。-l或--lines显示行数。-w或--w......
  • 在 Linux 系统上安装 mysql 5.7
    准备工作下载MySQL:下载页面、下载地址创建MySQL用户组、用户、相关目录、日志文件#创建新用户组groupaddmysql#创建用户mysql,指定所属用户组为mysql,禁止其登录useradd-r-gmysql-s/sbin/nologin#创建安装目录(可以自定义,这里以“/usr/local/mysql”为例)mk......
  • Linux 路由操作
    查询路由:sudoiprouteshowsudonetstat-nr添加路由如我需要添加10.0.0.0走wlp0s网卡的命令则是iprouteadd10.0.0.0/8via<网关地址>dev设备名上面的只是临时的路由,需要配置到配置文件里Ubuntu18以上的配置文件在/etc/netplan下的yaml下的文件里:network:versio......
  • linux 中国 xargs 标准化输出参数
     001、[root@pc1tmp]#echo{1..30}|xargsprintf"%02d%03d\n"01002##xargs标准化输出参数0300405006070080901011012130141501617018190202102223024250262702829030 002、[root@pc1tmp]#echo{1........