一种基于日志与探针解析自动化运维方法技术

技术编号:38825625 阅读:13 留言:0更新日期:2023-09-15 20:04
本发明专利技术公开了一种基于日志与探针解析自动化运维方法,属于软件开发运维的技术领域,该方法包括在第三方Jar包被加载之前对其拦截,插入监听字节码。JavaAgent将代码维度的执行详情写入到ES中;FileBeat实时采集系统和第三方应用自身的日志信息,实时经过LogStash将数据预处理后实时存储到ES中。本发明专利技术实时全链路展示服务器画像,客户端画像,日志画像,端到端完整的应用链路,服务流图谱,实现一站式全维度监控和应用运维解决方法。维度监控和应用运维解决方法。维度监控和应用运维解决方法。

【技术实现步骤摘要】
一种基于日志与探针解析自动化运维方法


[0001]本专利技术涉及一种基于日志与探针解析自动化运维方法,属于软件开发运维的


技术介绍

[0002]随着移动互联网、云计算、大数据、物联网等技术的迅猛发展,各种业务应用不断出现,IT应用复杂度呈现爆炸式增长,数据获取的高实时化、业务需求的快速迭代、以及产品和服务的即刻落地,这些高要求使开发和运维团队所承受的责任更加沉重,研发和运维工程师既要保证服务和产品的可靠性、稳定性,优化服务、快速定位故障、提升用户体验等,同时还要为业务决策提供数据支撑,引领业务创新。然而业务系统上线后,经常会存在以下几个问题:1.某模块的响应速度很慢,但是不知道为什么这么慢,具体慢在哪里;2.运维只有监控服务器的资源指标,单从服务器资源看不出为什么慢;3.系统总是时常会异常,但不知道具体深入原因;4.分布式服务系统中,出现性能问题,需要分析N台服务器系统日志,组件日志多而杂,无从下手分析。

技术实现思路

[0003]为了解决上述存在的问题,本专利技术公开了一种基于日志与探针解析自动化运维方法,其具体技术方案如下:一种基于日志与探针解析自动化运维方法,包括以下步骤:步骤S1,通过Pinpoint分布式系统性能监控工具,监控第三方程序Java Heap与GC,Class&Object&Method&Field 元信息;步骤S2,第三方Jar包在class被加载之前,通过JavaAgent对其拦截,插入监听字节码,步骤S3,JavaAgent通过bytebuddy框架解析监听字节码信息,将第三方jar中函数被调用的记录数据存储到Elasticsearch(Elasticsearch简称ES)数据库中;步骤S4,FileBeat引擎实时采集第三方Jar包自己产生的app.log日志文件;步骤S5,FileBeat引擎实时采集操作系统本身的日志;步骤S6,将步骤S4

步骤S5中FileBeat采集到的日志信息,实时同步到LogStash组件中;步骤S7,LogStash组件将数据进行过滤预处理并实时存储到Elasticsearch中;步骤S8,Prometheus监控第三方服务部署的所有服务器节点资源信息,服务器节点资源信息包括CPU, 内存,硬盘存储;步骤S9, Grafana通过连接ES数据存储,通过ES的查询并融合Prometheus监控数据实时全链路展示服务画像,客户端画像,日志画像,端到端完整的应用链路,服务流图谱。
[0004]进一步的,所述步骤S3中JavaAgent通过bytebuddy框架解析监听字节码信息的具体过程为:当第三方jar启动后,JavaAgent会记录该jar包被哪些接口调用的记录,同时也会记录是否调用状态,调用状态包括正常,异常,报错记录到ES数据库中。
[0005]进一步的,所述步骤S5中操作系统本身的日志包括Centos系统中日志,具体为:核心启动日志:/var/log/dmesg,系统日志:/var/log/messages,最近登录服务器IP日志:/var/log/lastlog。
[0006]进一步的,所述步骤S8中ES的查询语法执行过程为:ES中存储的数据,通过ES的SQL语句,按照监控第三方jar的启动的进程号作为唯一身份,查询多张表中的数据,展示全链路画像。
[0007]进一步的,所述服务画像包括服务拓扑图,服务拓扑图对整个系统中应用的调用关系进行了可视化的展示,Grafana实时监控Elasticsearch中数据在大屏中实时展示,可根据需要登录浏览器查看,查看时数据是实时展示,通过Prometheus实现对所有部署第三方节点服务器的监控,通过Grafana进行数据展示,单击某个服务节点,可显示该节点的详细信息,该节点的详细信息包括当前节点状态CPU使用情况, 内存使用情况,硬盘使用情况、网络吐出量及该节点接口的请求数量。
[0008]进一步的,所述客户端画像包括实时活跃线程图,实时活跃线程图监控应用内活跃线程的执行情况,对应用的线程执行性能有直观的了解;监控应用内活跃线程的方法为:javaAgent,Pinpoint,GrafanaJVM,以上每个方法对应的不同的场景,兼容不同语言开发的程序。
[0009]进一步的,所述日志画像包括请求响应散点图,请求响应散点图以时间维度进行请求计数和响应时间的展示,系统统计的数据秒级别实时同步到ES数据库中,Grafana对ES中的数据进行5分钟时间粒度在界面的轮询展示,通过拖动图表选择对应的请求查看执行的详细情况。
[0010]进一步的,所述端到端完整的应用链路包括调用栈查看,调用栈查看对分布式环境中每个请求提供了代码维度的可见性,在页面中查看请求针对到代码维度的执行详情,帮助查找请求的瓶颈和故障原因。
[0011]进一步的,所述服务流图谱包括应用状态、机器状态检查,应用状态、机器状态检查通过Prometheus实时监控进程名和检测服务器节点的信息,可查看相关应用程序的详细信息;进程名和检测服务器节点的信息包括程序是否异常,节点CPU;相关应用程序的详细信息CPU使用情况,内存状态、垃圾收集状态,TPS和JVM信息参数。
[0012]进一步的,所述调用栈查看具体过程为:(1)当Grafana界面提供告警,点击告警信息,(2)可查看告警信息所在服务器,(3)在对应服务器上点击正在进行的告警提示,(4)查看到该进行的 JVM堆栈信息及Linux服务器系统日志,(5)等3分钟范围差内的日志信息,(6)点击查看详细,展示完整日志信息。
[0013]本专利技术的工作原理是:本专利技术通过开源Pinpoint分布式系统性能监控工具,监控第三方服务实时活跃线程图,请求响应散点图,调用栈查看等功能,同时完善Pinpoint不能监控的点,增加JavaAgent探针技术,在第三方Jar包. class 被加载之前对其拦截,插入监听字节码。JavaAgent通过bytebuddy框架解析字节码信息,将代码维度的执行详情写入到ElasticSearch数据库(简称ES); FileBeat实时采集系统级别的message日志信息和第三方应用自身的app.log日志信息,实时同步到LogStash组件中。 LogStash将数据预处理后实时存储到ES中。该方法同时使用Prometheus监控第三方服务部署的服务器节点,最终通过Grafana连接ES数据存储,使用ES的查询多维度查询融合Prometheus监控数据实时全链路展示服务器画像,客户端画像,日志画像,端到端完整的应用链路,服务流图谱。
[0014]本专利技术的有益效果是:1.本专利技术具体为系统运维领域根据数据分析,可以勾画出准确的服务画像,客户端画像,日志画像,端到端完整的应用链路,服务流图谱。
[0015]2. 客户可以快速知道系统是否发生问题,简单问题可以按照系统的提示进行操作,快速保证的第三方系统的正常运行,减少因系统问题导致到损失。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于日志与探针解析自动化运维方法,其特征在于,包括以下步骤:步骤S1,通过Pinpoint分布式系统性能监控工具,监控第三方程序Java Heap与GC,Class & Object & Method & Field 元信息;步骤S2,第三方Jar包在class被加载之前,通过JavaAgent对其拦截,插入监听字节码,清楚知道程序运行的流程;步骤S3,JavaAgent通过bytebuddy框架解析监听字节码信息,将第三方jar中函数被调用的记录数据存储到Elasticsearch数据库中;步骤S4,FileBeat引擎实时采集第三方Jar包自己产生的app.log日志文件;步骤S5,FileBeat引擎实时采集操作系统本身的日志;步骤S6,将步骤S4

步骤S5中FileBeat采集到的日志信息,实时同步到LogStash组件中;步骤S7,LogStash组件将数据进行过滤预处理并实时存储到Elasticsearch中;步骤S8,Prometheus监控第三方服务部署的所有服务器节点资源信息,服务器节点资源信息包括CPU, 内存,硬盘存储;步骤S9, Grafana通过连接Elasticsearch数据存储,通过Elasticsearch的查询并融合Prometheus监控数据实时全链路展示服务画像,客户端画像,日志画像,端到端完整的应用链路,服务流图谱。2.根据权利要求1所述的基于日志与探针解析自动化运维方法,其特征在于,所述步骤S3中JavaAgent通过bytebuddy框架解析监听字节码信息的具体过程为:当第三方jar启动后,JavaAgent会记录该jar包被哪些接口调用的记录,同时也会记录是否调用状态,调用状态包括正常,异常,报错记录到Elasticsearch数据库中。3.根据权利要求1所述的基于日志与探针解析自动化运维方法,其特征在于,所述步骤S5中操作系统本身的日志包括Centos系统中日志,具体为:核心启动日志:/var/log/dmesg,系统日志:/var/log/messages,最近登录服务器IP日志:/var/log/lastlog。4.根据权利要求1所述的基于日志与探针解析自动化运维方法,其特征在于,所述步骤S9中Elasticsearch的查询语法执行过程为:Elasticsearch中存储的数据,通过Elasticsearch的SQL语句,按照监控第三方jar的启动的进程号作为唯一身份,查询多张表中的数据,展示全链路画像。5. 根...

【专利技术属性】
技术研发人员:徐振权
申请(专利权)人:南京国睿信维软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1