邮箱:oxwangfeng@qq.com
分类: 架构设计与优化
2016-03-17 10:14:40
1.部署在ats服务器上的agent向collector发送监控数据,collector接受序列化数据,解析后,汇聚,发送到influxdb.
2.在influxdb展示的是域名、dc机房、imagestat、还有机房一天的聚合信息、一个月的、一年的聚合信息;
3.报警:所有的报警参数都存放在alarm_parameter表中;当collector接受到的数据超过alarm阈值,Collector将下面的信息序列化以后,发送给sharpeye;信息格式如下:
Ats日志分析:
从ats的命名管道中读取日志数据;
"NamedPipe": "/usr/local/trafficserver/var/log/trafficserver/ats.pipe"
日志格式的配置在logs_xml.config
日志里面的数据格式如下:
第十六列:response time
第三列:http code
第六列:request header len
第七列:request body len
第八列:response header len
第九列:response body len
第五列:
TCP_HIT 缓存命中
TCP_MEM_HIT 内存中命中
TCP_MISS 缓存中没有,回源获取后,发给客户端
TCP_REFRESH_HIT 缓存中陈旧,发送IMS到OS,返回304
TCP_REF_FAIL_HIT 缓存中陈旧,发送IMS到OS,OS没有返回
TCP_REFRESH_MISS 缓存中陈旧,发送IMS到OS,返回新对象
TCP_CLIENT_REFRESH Client发送no-cache头,回源获取新对象,删除以前的(穿透ATS)
TCP_IMS_HIT Client发送IMS请求,缓存中存在并且比IMS日期新|发送IMS请求到OS返回304,返回缓存的
TCP_IMS_MISS Client发送IMS请求,缓存中没有或陈旧,发送IMS请求到OS,获取新对象
TCP_SWAPFAIL 从Cache中获取失败
ERR_CLIENT_ABORT Client连接断掉
ERR_DNS_FAIL DNS查询失败
ERR_INVALID_REQ Client请求无效(未知方法会回源)
ERR_CONNECT_FAIL 不能连接到OS
ERR_READ_TIMEOUT 读OS超时
ERR_PROXY_DENIED Client请求被拒绝
ERR_UNKNOWN Client建立连接,但没有发送请求
Ha agent主要是收集系统信息,包括cpu、内存、负载、网络io、磁盘io等基础监控信息;
1.从交换机收集traffic in和traffic out的数据;
2.收集到所有机房的心跳信息
是一个开源的分布式时序数据库;
InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据,
Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等。
报警的类型包括两种,一种是cont,一种是range;
Cont:在一个时间窗口内,连续超过阈值match_times次,并且距离上次报警时间超过alarm_interval,则通知ump进行报警;
Range:在一个时间窗口内,总共超过阈值match_times次,并且距离上次报警时间超过alarm_interval,则通知ump进行报警;
Sharpeye提供了一个报警的统一平台,所有的应用都能够接入这个平台;这个软件能够有效的进行报警,并且最大限度的减少报警次数;减少了各个软件对报警的耦合度;