#incl"> 在CentOS 6.3 64bit上安装tsar并监控Apache Traffic Server - 11GX
首页 > 在CentOS 6.3 64bit上安装tsar并监控Apache Traffic Server

在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

更多相关:

  • 需要用到概率论的容斥定理以及计算1 ^ 4 + 2 ^ 4 + ……+ n ^ 4的计算公式1^4+2^4+……+n^4=n(n+1)(2n+1)(3n^2+3n-1)/30   #pragma comment(linker,"/STACK:1024000000,1024000000") #include #incl...