
系统监控清晰透明:构建包含各应用模块上下游调用依赖关系(应用包括:业务应用、中间件、数据库等)、应用模块主机网络之间相互部署依赖关系的多维度关系图谱监控大屏,实现系统从黑盒状态到透明状态的转变。
故障定位快速智能:基于动态基线对关系图谱中各模块、节点进行异常检测,分析各系统模块的问题情况,实现故障分钟级实时发现。
运维分析立体多维:通过直观可视化的方式展示应用、主机、数据库等异常,方便运维人员多维度、立体式对故障影响面进行评估。
端到端调用链监控平台架构图
系统可视化拓扑大屏1. 分布式调用链跟踪
调用链跟踪示例2. 链路数据输出要求
定义单次业务办理所对应的业务编码 每个业务都应有业务编码,用于识别该笔业务具体是做什么的。 定义单次业务办理的用户编码 定义办理业务的用户,如手机号码、用户编码、或其他业务的办理对象编码。 定义单次业务办理的办理员工编码 办理业务的员工编码,用于业务发展统计分析。 定义单次业务办理的办理渠道编码 办理业务的渠道编码,用于业务发展统计分析。 定义单次业务办理中单次系统交互的开始时间戳 业务办理的时间戳信息,用于单位时间内的业务统计分析,以及实时计算时时间窗口的判断。 定义串联单次业务办理的唯一流水 每笔业务需定义唯一流水,使用这个流水号来串联一次业务办理的多次交互动作。 定义串联单次业务办理中单次系统交互的唯一流水 每笔业务中一次交互动作的唯一流水,用于串联这次交互动作在多个不同应用之间的流转调用。 定义每个应用的应用节点编码 每个应用实例的唯一编码,用于识别该应用实例,当系统发生异常时,应用节点用于判断系统异常的发生位置。 定义每个应用的应用节点ip和port 每个应用实例的所属主机ip和当前应用实例的端口,用于关联主机异常信息做异常影响分析。 定义每个应用节点所属应用集群的应用类型 应用集群的类型可用于构建拓扑图时划分层级结构,绘制清晰的系统架构。 定义每个进程所属应用集群的名称 应用集群名称用于在构建拓扑图时展示当前应用的名称。 定义每次系统交互中每个环节的服务类型 系统交互中的一个环节可以是一次函数调用、可以是一次接口调用,还可以是一次数据库访问。该字段应定义一个环节的服务的类型。 定义每次系统交互中每个环节的名称 系统交互中的环节名称可以是接口名、函数名、服务名等,用于构建业务链时定义该动作。 定义每次系统交互中每个环节的输入参数 接口、函数、服务的入参信息。 定义每次系统交互中每个环节的输出 接口、函数、服务的返回信息。 定义每次系统交互中每个环节的耗时 接口、函数、服务、数据库访问的耗时。 定义每次系统交互中每个环节是否失败及失败类型 用于判断该环节是否失败,以及划分失败的类型,如系统层原因的失败,或业务规则的失败等。 定义每次系统交互中每个环节的失败异常信息 用于记录失败时的异常信息。 定义每次系统交互中每个环节的上级环节应用名称(跨应用调用时) 记录调用该环节代码的上级环节应用名称。 定义每次系统交互中每个环节的上级环节的应用节点编码(跨应用调用时) 记录调用该环节代码的上级环节应用节点编码。 定义每次系统交互中每个环节的上级环节的ip和port(跨应用调用时) 记录调用该环节代码的上级环节应用节点ip和port。 定义每次系统交互中每个环节向下调用的目标应用名称(跨应用调用时) 记录该环节向下游发起调用时的目标应用名称。 定义每次系统交互中每个环节向下调用的目标地址(跨应用调用时) 记录该环节向下游发起调用时的目标应用地址。 定义每次系统交互中每个环节向下调用的目标数据库名称(数据库类调用时) 记录该环节向下游发起调用时的目标数据库名称。 定义每次系统交互中每个环节向下调用的目标数据库地址(数据库类调用时) 记录该环节向下游发起调用时的目标数据库地址。 定义系统交互中入口环节的url地址(前台交互) 记录系统交互入口环节的url地址。
STEP1-明确可用的调用链环节数据:首先梳理、定义链路环节中和上下游依赖关系相关的信息关键字,通过流式处理筛选出满足关键字预选规则的链路环节日志,认为此日志为一个可用的调用链环节数据,将其提取出来。 STEP2-挖掘可调用链上下游依赖关系:从第一步得到的调用链环节数据中挖掘出此次调用链环节属于哪个调用链,归属哪个业务调用,该调用链环节目前在哪个应用模块节点(应用模块节点包括:业务应用、redis、memcache、数据库等)上、上级应用节点的信息、下级应用节点信息、执行动作信息(接口或函数,或sql语句),做去重后生成为一个该环节的上下游依赖关系键。上下游依赖关系键包含了该链路环节在整个调用流程的上下游关系。 STEP3-分析其立体式主机网络部署关系:继续分析调用链环节数据,挖掘出发生此次调用链环节的应用节点、该应用节点在调用发生当时部署在哪台主机、哪个网络IP的立体式部署关系键,此关系键命名为应用主机网络的立体式部署关系键。 STEP4-生成上下游依赖运维知识图谱:以每半天为统计周期,通过分析关联上下游依赖关系键,去重,以每个业务编码为根节点,自动生成一个完整的基于业务的调用关系链路,得出上下游依赖运维知识图谱,通过分析关联应用主机网络的立体式部署关系键,生成出纵向的立体式的运维知识图谱,构建出哪些应用模块部署在哪些物理中心的哪些主机上,相互之间的网络调用IP关系,以及每台主机上部署了多少个应用实例等信息。 模型更新频度:每半天做一次动态更新。
4. 构建检测指标体系


这些指标数据集成在端到端可视化监控大屏中,也被各系统健康度模型所使用。系统出现告警后,运维人员往往需要各类细项指标帮助其进行分析,帮助快速做一些问题诊断,灵活高效的数据指标生成体系能帮助运维人员快速采集、展现他们关注的指标,运维人员可通过这些指标快速了解当前系统的运行负载情况,以及各业务、应用集群、网络、数据库等组件的运行状态。

本文作者:李秋霖
本文来源:IT那活儿(上海新炬王翦团队)

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




