在CentOS 6.3 64bit上安装tsar并监控Apache Traffic Server

Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据,收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。
Tsar能够比较方便的增加模块,只需要按照tsar的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到tsar中。
一般是将Tsar和ATS部署到同一台物理主机上,以便于收集统计信息。

1.从官网下载最新版tsar源码
cd /usr/local/src
git clone git://github.com/kongjian/tsar.git
cd tsar

2.启用Tsar的ats监控模块
在conf/tsar.conf文件中的对应位置添加上如下on内容
mod_ts_cache on
mod_ts_client on
mod_ts_codes on
mod_ts_conn on
mod_ts_err on
mod_ts_os on
mod_ts_storage on
说明如下:
mod_ts_cache on   #ts Cache信息
mod_ts_client on  #ts前端信息
mod_ts_codes on   #ts http_code
mod_ts_conn on    #ts连接信息
mod_ts_err on     #ts err信息
mod_ts_os on      #ts回源信息

mod_ts_storage on #ts存储信息



安装之后配置文件会被复制到/etc/tsar/tsar.conf,排错的时候需要看这个配置文件对了没有。

3.调整ats特定模块中的源码,设置正确的ats的socket文件路径
在modules目录下的ats相关的模块c源码中都有ats的一个socket文件的指定,这个socket文件非常重要,如果位置对应不上,Tsar监控ats部分是不会出数据的。
例如mod_ts_client.c默认配置的socket文件的位置是”/var/run/trafficserver/mgmtapisocket”
默认安装的ats的socket文件在”/usr/local/var/trafficserver/mgmtapisocket”
把配置文件跟模块的socket文件修改好再编译安装就可以直接使用了。

在ats所在的服务器上面,搜索mgmtapisocket所在的路径

updatedb

locate mgmtapisocket
查到为

/usr/local/var/trafficserver/mgmtapisocket


然后用sed替换那些模块的默认路径
cd modules/

sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_cache.c

sed -i "s#proxy.process.cache.ssd.read.success#proxy.process.cache.interim.read.success#g" mod_ts_cache.c //解决ssdhit没有数据显示的问题

sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_client.c
sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_codes.c
sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_conn.c
sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_err.c
sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_os.c
sed -i "s#/var/run/trafficserver/mgmtapisocket#/usr/local/var/trafficserver/mgmtapisocket#g" mod_ts_storage.c
cd ..
可以将上面操作写成一个脚本
如果还是不出数据,查看配置文件records.config,确保

CONFIG proxy.config.http.enable_http_stats INT 1



注意要点,主要就两点:
1)./etc/tsar/tsar.conf中启用ATS相关的所有模块on;
2).ATS每个模块的源码文件的socket文件配置与ATS实际安装的socket文件路径一致。

4.在tsar顶层目录下面继续编译和安装
make 
make install

5.使用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 帮助功能
一般固定格式 为  tsar –-模块名  -i  1  -l 

tsar 命令帮助信息
tsar --ts                   显示ATS客户端相关的统计信息
tsar --ts_cache     显示ATS缓存对象统计信息
tsar --ts_conn       显示ATS网络连接统计信息
tsar --ts_os           显示ATS回源源站统计信息
tsar --ts_storage 显示ATS磁盘存储统计信息
#指定时间间隔方式
tsar --ts -i 1
#实时输出方式
tsar --ts -l 1
tsar -l -i 1
#或者组合方式

tsar --ts --ts_conn --ts_cache


需要注意,从理论上说,刚安装上tsar,就可以监测同一物理主机上的ATS了,但是立即查看数据时,它可能会显示


或者没有数据的情况


这都是正常现象,过一会儿就好了。

使用下面的命令确认tsar当前支持的模块列表

tsar -L



6.ats监测项说明

tsar

默认显示一天的监控记录,包括所有的项,最后一项是系统负载。



tsar --ts

qps 处理请求数/s
cons 新建连接/s
Bps 流量/s
rt 响应时间(ms)
rpc 连接复用率(平均每个连接服务多少个请求数)

tsar --ts_cache

hit 请求命中率
ramhit 内存命中率
band 字节命中率
ssdhit 分级存储,ssd命中率

tsar --ts_conn

client 前端连接数,#对文件句柄要求较高
server 回源连接数
cache 读取Cache的连接数
open 总计打开的连接
c_act 活跃的client连接数
t_cli 正在传输的client连接数,最占用内存的,一个连接占用16k
t_srv 正在传输的回源连接数

tsar --ts_os

qps 回源请求数/s
cons 回源新建连接/s
mbps 回源流量
rpc 回源连接复用

tsar --ts_storage


ram 内存使用大小
disk 磁盘使用大小
objs object数量

size 平均object大小

tsar --ts_err -i 1 -l


分析ats的各种错误并汇总。

tsar --ts_codes -i 1 -l

查看各种响应码的次数汇总


对ats的各种响应码做次数汇总。

7.生成rpm包

线上使用时如果提供rpm包安装将会很方便,其实在源码中的rpm子目录下面已经提供了好了tsar.spec.in和生成rpm包的脚本,我们只需要执行下面的命令就可以

如何打rpm包?

进入源码目录中的rpm子目录下面,直接执行
sh tsar-build.sh /root tsar 2.1.3 20160731
打好的rpm包将会放到该目录下面,复制出来直接安装就可以啦,参见下面的截图



8.高级功能

下面是线上环境经常使用的命令

待续


9.重要事项说明

目前tsar源码中不知何故,已经删除了ATS相关的模块,如果我们需要继续使用tsar来监控ATS的话,请下载比较早期的版本,确保源码中modules子目录下面有module_ts_xxx.c相关的文件。


参考文献
[1].https://blog.zymlinux.net/index.php/archives/251
[2].http://itoedr.blog.163.com/blog/static/12028429720132463325268/
[3].https://github.com/alibaba/tsar
[4].https://github.com/yanghao-zh/trafficserver-admin-books-zh_CN/blob/master/doc/ats_tsar.md
[5].http://www.shencan.net/index.php/2013/04/18/%E6%B7%98%E5%AE%9Dtsar-%E5%BC%80%E6%BA%90%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7%E9%87%87%E9%9B%86%E5%B7%A5%E5%85%B7/

[6].http://www.csdn.net/article/2013-04-15/2814879-taobao-opensource-monitoring-tool-tsar

[7].https://blog.zymlinux.net/index.php/archives/1050

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值