[发明专利]一种全链路追踪监控方法在审
申请号: | 201810803491.1 | 申请日: | 2018-07-18 |
公开(公告)号: | CN109104302A | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 杨君;李恒;刘义雷;邓道成 | 申请(专利权)人: | 杭州鑫合汇互联网金融服务有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 链路追踪 日志 格式化 关联 存储日志 调用关系 定位故障 实时报警 实时计算 业务来源 异常堆栈 异常节点 监控 报警 展示 | ||
本发明公开了一种全链路追踪监控方法,其特征在于,包括以下步骤,步骤S1:埋点和生成格式化日志;步骤S2:收集和存储日志;步骤S3:关联上下游信息,实时计算报警。本发明用于展示异常节点上下文调用关系,定位故障业务来源,实时报警,关联异常堆栈日志,找到异常根源。
技术领域
本发明涉及日志异常监测技术领域,尤其涉及一种全链路追踪监控方法。
背景技术
目前公司系统正往服务化方向发展,涉及到的业务子系统众多,系统之间存在互相调用的情况。那么接口之间就存在着各种上下游调用关系,当某个节点抛出了一个异常,我们很难定位上下游的调用关系,较难排查异常是由哪个节点调用产生的。同时,各个接口的调用情况我们无法做一个直观,全面的查看,对于各个服务接口的“健康度”较难做一个整体诊断。在此背景下我们希望能够建立一套全面有效的链路监控系统,为系统服务化做基础支撑。
发明内容
本发明的目的在于提供一种全链路追踪监控方法,展示异常节点上下文调用关系,定位故障业务来源,实时报警,关联异常堆栈日志,找到异常根源。
为实现上述目的,本发明提供如下技术方案:
一种全链路追踪监控方法,其特征在于,包括以下步骤,
步骤S1:埋点和生成格式化日志;
步骤S2:收集和存储日志;
步骤S3:关联上下游信息,实时计算报警。
进一步的,所述步骤S1的具体内容如下:通过提供独立组件的方式,与业务代码进行分离,在系统底层进行记录请求参数信息和请求结果数据,所述请求参数信息包括全局唯一跟踪标识TraceID和链路层级标识SpanID,所述请求结果数据包括响应状态、响应大小和响应时间,并将请求参数信息与请求结果数据通过json格式共同写入到文本日志。
进一步的,所述请求参数信息中唯一跟踪标识TraceID为日志的唯一标识,在应用请求入口生成,并跟随下游请求附加到header中进行透传;链路层级标识SpanID代为上下游关系的层级ID,表示日志对应的子系统在链路中所处的层级。
进一步的,所述请求结果数据中响应状态为http状态码,响应大小为请求下级子系统返回的消息体的内存大小,响应时间为调用下级子系统所使用的时间。
进一步的,所述步骤S3的具体内容如下:对日志中的请求结果数据进行分析判断是否异常,具体的,将响应状态、响应大小和响应时间分别与预先设定的数值区间进行比较,若在对应数值区间内,则判断为正常,否则判断为异常;然后将存在任意异常的日志提取出来,发出报警,再根据请求参数信息关联上下游,调用对应链路的所有日志,并将结果反馈给开发人员。
进一步的,所述步骤S2的具体内容如下:通过filebeat服务实时监听日志并推送到Kafka消息系统中,然后使用Storm框架将请求数据结果保存到Elasticsearch索引和Mongodb数据库中。
与现有技术相比,本发明的有益效果是:本发明展示异常节点上下文调用关系,定位故障业务来源并进行实时报警;本发明还了解每个请求内部的交互过程,分析内部瓶颈点,如统计响应时间、出错率等;实时报警,关联异常堆栈日志,找到异常根源。
附图说明
图1为本发明的总流程图。
图2为本发明的日志埋点工作流程图。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州鑫合汇互联网金融服务有限公司,未经杭州鑫合汇互联网金融服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810803491.1/2.html,转载请声明来源钻瓜专利网。