[发明专利]一种服务链路追踪虚拟机的方法在审
申请号: | 201910972160.5 | 申请日: | 2019-10-14 |
公开(公告)号: | CN110784341A | 公开(公告)日: | 2020-02-11 |
发明(设计)人: | 陈海钊;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/26;H04L29/08 |
代理公司: | 44595 广东勤诺律师事务所 | 代理人: | 尚俊 |
地址: | 523808 广东省东莞市松山湖高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 服务链路 应用程序 追踪 采集数据 串口通信 监控 切入 开发 统一 | ||
本发明涉及服务链路开发技术领域,特别涉及一种服务链路追踪虚拟机的方法。本发明的方法是对libvirt操作的前后进行切入,将应用程序对虚拟机的操作及应用程序与虚拟机之间的串口通信纳入服务链路的监控范围,统一采集数据。本发明方法解决了服务链路无法追踪虚拟机的问题;可以用于虚拟机的监控。
技术领域
本发明涉及服务链路开发技术领域,特别涉及一种服务链路追踪虚拟机的方法。
背景技术
微服务、分布式和异步消息通讯是云计算发展的技术特征。近几年来,云计算整合的资源种类、服务分化逐渐增多,一个请求往往需要多个服务、多个组件协作完成。请求所产生的消息经过多个节点,监控并追踪一个请求的详细情况,需要花费不少的人力和时间;并且对运维人员的技能有一定的要求。
将服务链路应用到云平台上,能知道请求经过的各个组件,适合快速定位问题,不仅有利于大规模请求下的根因定位,也方便了云平台请求的统计和监控。
在云平台中,虚拟机是主要的、基本的资源。将服务链路应用到云平台上,只能追踪到节点agent等应用程序,不能追踪到实际的目标对象——虚拟机。运维人员仍需要根据请求内容、节点agent日志、libvirt日志等进行定位,服务链路的统计也无法将虚拟机归纳在内。
发明内容
本发明解决的技术问题在于提供一种服务链路追踪虚拟机的方法,实现通过服务链路追踪虚拟机。
本发明解决上述技术问题的技术方案是:
所述的方法是对libvirt操作的前后进行切入,将应用程序对虚拟机的操作及应用程序与虚拟机之间的串口通信纳入服务链路的监控范围,统一采集数据。
所述的方法包括如下步骤:
S1、对节点agent调用libvirt操作的方法,在方法执行前进行切入,解析得到虚拟机标识、执行命令和执行参数;
S2、根据服务链路信息、虚拟机标识、执行命令和执行参数,创建span信息;
S3、对节点agent调用libvirt操作的方法,在方法执行后进行切入,获取操作的返回信息;
S4、判断操作是同步还是异步,若为异步操作,则定时查询操作结果;否则将返回信息作为执行结果;
S5、根据执行结果,对span信息进行补充,然后将span信息发送给服务链路系统。
所述的解析得到虚拟机标识、执行命令和执行参数,具体包括:
1)对调用libvirt操作的参数进行解析,得到虚拟机标识、执行命令和执行参数;
2)若虚拟机标识为空,则不进行后续步骤;
3)若执行命令为qemu-agent-command,则对执行参数进行进一步解析,得到属性execute和arguments;
4)将执行命令替换为属性execute的值,将执行参数替换为属性arguments的值;
5)若执行命令为guest-exec-status,则不进行后续步骤。
所述的服务链路信息从服务链路上下文中获取;若服务链路上下文为空,则创建一个新的服务链路上下文,再从新创建的服务链路上下文中获取服务链路信息。
所述的创建span信息包括:
1)从服务链路信息中获取traceId,设置为span信息的traceId;
2)生成唯一字符串,设置为span信息的spanId;
3)从服务链路信息中获取父spanId,设置为span信息的父spanId;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910972160.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:配置信息更新方法及装置
- 下一篇:一种资源扫描方法、装置、介质及终端设备