CN116628552B - 一种非侵入式应用程序运行状态监测方法、装置及设备 - Google Patents
一种非侵入式应用程序运行状态监测方法、装置及设备Info
- Publication number
- CN116628552B CN116628552B CN202310605139.8A CN202310605139A CN116628552B CN 116628552 B CN116628552 B CN 116628552B CN 202310605139 A CN202310605139 A CN 202310605139A CN 116628552 B CN116628552 B CN 116628552B
- Authority
- CN
- China
- Prior art keywords
- monitoring
- monitored
- application program
- application
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种非侵入式应用程序运行状态监测方法、装置及设备,所述方法包括:获取待监测应用程序;待监测应用程序为协同制造系统中的至少一种类型应用程序;对待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;生成目标类别的待监测应用程序的运行状态监测配置文件,运行状态监测配置文件包括:目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;根据监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示目标类别的待监测应用程序运行状态。本发明的方案无需对应用程序进行二次编码,可以监测和分析整个协同制造系统的运行状态和性能。
Description
技术领域
本发明涉及工业应用系统技术领域,特别是一种非侵入式应用程序运行状态监测方法、装置及设备。
背景技术
应用运行状态监测是工程实践中一个常见的需求,通过对应用程序的运行状态和性能数据进行记录,准确掌握应用的运行状态。伴随技术发展,应用运行状态监测的技术背景已经从单机应用向分布式架构、云原生技术以及多系统协作方面发展;而传统的日志分析、性能测试、运行时监测和抽样分析等监测手段在面对目前复杂的工业应用系统时会带来如需要对程序二次编码、灵活性低、成本高和监测结果不准确等问题,无法适应分布式架构和多系统协同制造的应用背景。
发明内容
本发明要解决的技术问题是提供一种非侵入式应用程序运行状态监测方法、装置及设备,无需对应用程序进行二次编码,可以监测和分析整个协同制造系统的运行状态和性能。
为解决上述技术问题,本发明的技术方案如下:
一种非侵入式应用程序运行状态监测方法,包括:
获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;
对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;
生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;
根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态。
可选的,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序,包括:
为二进制应用类别的待监测应用程序添加第一类识别标签;
为有状态应用类别的待监测应用程序添加第二类识别标签;
为CPU密集型的待监测应用程序添加第三类识别标签;
为IO密集型的待监测应用程序添加第四类识别标签。
可选的,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:
获取目标类别的待监测应用程序的状态监测模板;
根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件。
可选的,获取目标类别的待监测应用程序的状态监测模板,包括:
对标记有第一类识别标签的待监测应用程序配置通用状态监测模板,所述通用状态监测模板包含预设监测点;
对没有标记第一类识别标签的待监测应用程序配置自定义状态监测模板。
可选的,根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:
若所述状态监测模板为通用状态监测模板,则为所述通用状态监测模板配置监测规则,或使用所述通用状态监测模板包含的默认监测规则,生成运行状态监测配置文件;
若所述状态监测模板为自定义状态监测模板,读取待监测应用程序类型,确定监测点,根据监测点为所述自定义状态监测模板配置监测规则,生成运行状态监测配置文件;所述监测规则采用非侵入式代码描述监测点的监测指标提取方法。
可选的,根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,包括:
根据监测配置文件中的监测规则,配置系统内核中的程序监测点,注册监测事件;
当对应的监测点事件触发时,根据事先定义好的动作,更新内核中的非侵入式文件映射存储;
通过目标工具从映射存储中获取与监测点对应的监测指标;
根据所述监测指标,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态。
可选的,还包括:对所述监测规则和状态监测模板进行监测配置更新,当配置文件和配置自定义模块内文件哈希值不一致时,触发更新事件,重新加载配置并保存配置的哈希值。
本发明还提供一种非侵入式应用程序运行状态监测装置,包括:
获取模块,获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;
监测模块,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态。
本发明还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。
本发明还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态。无需对应用程序进行二次编码,可以监测和分析整个协同制造系统的运行状态和性能。
附图说明
图1是本发明实施例的非侵入式应用程序运行状态监测方法的流程示意图;
图2是本发明实施例的非侵入式应用程序运行状态监测方法的总体模型图;
图3是本发明实施例的非侵入式应用程序运行状态监测方法的总体架构图;
图4是本发明实施例的非侵入式应用程序运行状态监测方法的分类模块算法流程图;
图5是本发明实施例的非侵入式应用程序运行状态监测方法的配置文件生成流程图;
图6是本发明实施例的非侵入式应用程序运行状态监测方法的应用数据处理流程图;
图7是本发明实施例的非侵入式应用程序运行状态监测方法的配置更新模型图;
图8是本发明实施例的非侵入式应用程序运行状态监测方法的配置加载流程图;
图9是本发明实施例的非侵入式应用程序运行状态监测装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提出一种非侵入式应用程序运行状态监测方法,包括:
步骤11,获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;
步骤12,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;
步骤13,生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;
步骤14,根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态。
该实施例中,提出一种适用于协同制造领域的非侵入式非侵入式应用程序运行状态监测方法,不会对应用造成影响,无需对应用程序进行二次编码,能够适应异构服务运行,帮助监测和分析整个协同制造系统的运行状态和性能,更适用于实际工程场景。
本非侵入式应用程序运行状态监测方法基于操作系统内核事件,提供了系统行为及系统硬件的直接信息,同时也可以直接访问特定应用程序的内存区域,从运行进程中提取执行跟踪信息,也可直接访问为每个特定进程分配的资源,包括文件描述符、CPU和内存。本非侵入式应用程序运行状态监测方法对待监测应用程序的运行状态准确掌握,使得应用了本方法的各类应用程序的性能监测指标有着极大的灵活性,不再受制于原始应用程序的开发限制,基于应用程序的外在运行指标体现,从而灵活地进行指标聚合。
本方法的总体模型如图2所示,非侵入式应用运行监测系统分为应用类型分类模块、配置自定义模块、监测配置生成模块和监测数据处理模块,所述非侵入式应用运行监测系统基于操作系统内核事件,通过编写程序从操作系统内核中抓取包含监测指标的网络数据包,将获得的监测指标通过数据可视化展示平台或IT运维人工智能进行运行状态可视化展示与分析。
如图3所示,本方法采用分层处理思想,将整个监测系统架构分为数据平面、控制平面以及展示平面;数据平面是整个监测方法的基础层,它使用子系统技术将用户自定义的监测规则进行编码形成数据包过滤程序,加载至系统内核与底层操作系统交互,为上层提供必要的系统信息数据,同时通过内核层和用户层的数据交互媒介,将监测指标输出至数据获取工具守护进程集中,是整个监测系统的核心,它根据相应的配置信息将操作系统事件、应用程序运行日志、应用程序调试点、perf事件或二进制运行状态进行数据收集和处理。同时数据平面也是实现平台无关的非侵入式运行监测的关键,数据平面在底层和上层开发之间的插入了抽象层,屏蔽了平台相关性。
控制平面是负责识别应用类型,并根据需要,使用不同的模板配置和其他可用指标数据,并提供配置整合和可用性检测的层次。该层根据应用的类型来分配相关的配置项,降低了使用门槛。同时为使用者提供自定义监测规则集与导入模板的功能,在降低了门槛的同时,也保证了高度自定义性。
展示平面负责对监测数据的后期处理,比如可视化展示以及大数据挖掘,同时也可以提供足够多的数据,实现对应用服务未来负载的预测。
在应用过程中,用户通过管控端输入待监测应用程序,应用分类模块对待监测应用程序进行分类,根据程序类型,配置自定义模块对待监测应用程序配置不同的监测模板,选择监测点并定义监测规则;例如,当选择的监测点为函数调用次数时,定义监测规则为记录目标函数调用时间大于一预设时间段的调用次数,通过监测规则对符合规则的函数调用事件进行记录。
所述监测点分为两种类型:数值计数型和直方图型,其中数值计数型监测点包括函数调用次数、tcp syn握手次数和系统oom触发次数等,直方图型监测点包括执行时间和套接字在接受队列中停留多长时间等。其中,tcp syn握手次数表示:当tcp建立连接的时候、需要发送syn握手包,通过监测对应服务的syn握手数,可以及时发现恶意syn半连接攻击;套接字在接受队列中停留多长时间表示:通过统计套接字在加入接受队列到实际接受中间存在的延时,可以掌握目标结点或服务现在的网络压力状态;系统oom触发次数表示:当操作系统内存不足的时候,会触发oom_kill_process事件、杀死内存占用大户、通过监测此事件的触发次数、可以掌握目标系统或服务的内存使用异常状态。
监测配置生成模块对自定义监测规则进行解析,根据监测模板生成非侵入式运行状态监测配置文件;监测数据处理模块对所述运行状态监测配置文件进行编码,形成一段包含提取规则的数据包过滤程序,将所述数据包过滤程序汇编为字节码后加载至操作系统内核;按预设提取规则对数据包进行过滤后将提取到的监测指标通过监测数据处理模块输出,考虑到实际协同制造过程中应用数据规格不统一,运行数据展示接口不统一,监测数据处理模块同时负责对外提供统一的接口,将数据处理为一预设标准格式。通过指标导出器将监测指标从内核空间中导出,时间序列数据库定时采集所述指标导出器中的监测指标,并将监测指标输出至展示平面,根据监测指标进行应用程序运行状态展示与分析。
本发明一可选的实施例中,步骤12可以包括:
步骤121,为二进制应用类别的待监测应用程序添加第一类识别标签;
步骤122,为有状态应用类别的待监测应用程序添加第二类识别标签;
步骤123,为CPU密集型的待监测应用程序添加第三类识别标签;
步骤124,为IO密集型的待监测应用程序添加第四类识别标签。
本实施例中,如图4所示,由于待监测应用程序类别不同对应的监测策略也不同,因此需要对待监测应用程序进行分类;首先判断输入的待监测应用程序是否为二进制应用,如果是的话,则为应用程序添加第一类识别标签,即二进制应用识别标签;如果否的话则不添加。继续判断待监测应用程序是否为有状态应用,如果是的话则对应用程序添加第二类识别标签并将待监测应用程序更新至状态应用队列;如果否的话则继续判断待监测应用程序是否为IO密集型应用程序,如果是的话则为应用程序添加第四类识别标签并将待监测应用程序更新至IO密集队列;如果否的话则为应用程序添加第三类识别标签并将待监测应用程序更新至CPU密集队列。
本发明一可选的实施例中,步骤13可以包括:
步骤131,获取目标类别的待监测应用程序的状态监测模板;
步骤132,根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件。
其中,步骤131可以包括:
步骤1311,对标记有第一类识别标签的待监测应用程序配置通用状态监测模板,所述通用状态监测模板包含预设监测点;
步骤1312,对没有标记第一类识别标签的待监测应用程序配置自定义状态监测模板。
本实施例中,如图5所示,对二进制应用类型的待监测应用程序使用通用状态监测模板,对非二进制应用类型的待监测应用程序使用自定义状态监测模板;用户可通过自定义监测规则结合自定义状态监测模板生成监测配置文件。由于监测点分为数值计数型和直方图型两种类型,与之对应的通用状态监测模板和自定义状态监测模板分为计数器模板和直方图模板。
本发明一可选的实施例中,步骤132可以包括:
步骤1321,若所述状态监测模板为通用状态监测模板,则为所述通用状态监测模板配置监测规则,或使用所述通用状态监测模板包含的默认监测规则,生成运行状态监测配置文件;
步骤1322,若所述状态监测模板为自定义状态监测模板,读取待监测应用程序类型,确定监测点,根据监测点为所述自定义状态监测模板配置监测规则,生成运行状态监测配置文件;所述监测规则采用非侵入式代码描述监测点的监测指标提取方法。
本实施例中,如图5所示,当所述待监测应用程序为二进制应用时,选择通用状态监测模板,根据实际监测需要,当所述通用状态监测模板包含的默认监测规则满足监测需求时,使用默认监测规则对二进制应用进行监测;当所述默认监测规则不满足实际监测需求时,对所述通用状态监测模板配置自定义监测规则,通过配置的监测规则,对所述二进制应用进行监测。
当所述待监测应用程序不是二进制应用时,通过配置自定义模块选择监测模板,输入待监测应用程序的绝对路径,得到符号表;通过符号表确定目标监控函数并获取目标监控函数的符号表名称,根据目标监控函数和实际业务需求,确定监测点,根据监测点和目标监控函数的符号表名称定义监测规则,将监测规则和自定义状态监测模板合并,生成运行状态监测配置文件。
例如:输入待监测应用程序的可执行文件路径/data/test/hello,读取可执行文件符号表:
0000000000515000D main..inittask
0000000000481060T main.main
00000000004331a0 T runtime.main
0000000000458160T runtime.main.func1
00000000004334e0 T runtime.main.func2
000000000052bfa8 B runtime.main_init_done
00000000004b7148 R runtime.mainPC
0000000000559e6c B runtime.mainStarted
确定目标监控函数的函数符号为main.main,根据实际需要,确定监测点为函数调用次数,描述监测规则为:
SEC("uprobe//data/test/hello:main.main")//可运行应用程序的绝对路径+目标监控函数的函数符号main.main,组成监测点
char LICENSE[]SEC("license")="GPL";
这段代码定义了一个名为data_t的结构体,其中包含一个16字节的字符数组comm,用于存储当前进程的名称。它还定义了一个名为hello_calls_total的哈希映射,用于统计函数调用次数,其最大条目数为1024,键和值的类型均为u64。此外,代码还定义了一个监测点函数do_count,该函数获取当前进程的名称并将其存储在data结构体中的comm变量,然后使用increment_map函数将名为hello_calls_total的映射中与当前进程的名称相关联的值增加1,从而实现对函数调用次数的监测。
选择相应的监测模板为计数器模板:
这段代码是一个指标配置,用于选择计数器模板。它定义了一个名为{{map_name}}的数值计数器,其帮助说明为{{metrics_help}}。它还定义了一个名为{{label_name}}的输出数据标签,其大小为{{label_size}}。最后,它定义了一个名为{{decoders_name}}的解码器。模板中以{{}}括起来的配置,与上述监测规则中的配置相对应,应用模板的时候,会将对应部分进行替换修改,最终形成如下监测配置文件。
本发明一可选的实施例中,步骤14可以包括:
步骤141,根据监测配置文件中的监测规则,配置系统内核中的程序监测点,注册监测事件;
步骤142,当对应的监测点事件触发时,根据事先定义好的动作,更新内核中的非侵入式文件映射存储;
步骤143,通过目标工具从映射存储中获取与监测点对应的监测指标;
步骤144,根据所述监测指标,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态。
如图6所示,用户空间加载监测规则,通过监测规则,在内核中特定的程序监测点注册监测事件,当对应的监测点事件触发时,根据事先定义好的动作,更新内核中的映射存储,通过指标导出器exporter从映射存储中获取对应的监测指标,通过时间序列数据库定时采集所述指标导出器中的监测指标,并将监测指标输出至展示平面,根据监测指标进行应用程序运行状态展示与分析。
本实施例中,展示平面可以为可视化展示平台,将监测指标进行可视化展示,能够准确掌握对应设备的运行状态,同时可以配置预警规则,或将存储的数据送入预测系统,提前掌握系统的运行状态。也可以为IT运维人工智能,通过人工智能和机器学习来分析系统采集的监测指标,识别重要事件并分析运行状态,诊断根本原因并进行报告。
本发明一可选的实施例中,还包括:对所述监测规则和状态监测模板进行监测配置更新,当配置文件和配置自定义模块内文件哈希值不一致时,触发更新事件,重新加载配置并保存配置的哈希值。
本实施例中,配置自定义模块可对状态监测模板与监测规则进行更新,如图7所示,定时函数每间隔一预设时间查询配置文件是否出现更改,当检测到出现更改时触发回调函数,重新加载配置。
加载方法如图8所示,在首次加载时保存配置的sm3哈希值;如果库中已有配置,则通过比对配置的哈希值判断是否出现更新,如果出现更新则加载配置并更新配置的sm3哈希值,如果哈希值一致则继续比对下一个配置,直至遍历完成。通过实时比对哈希值实现配置的动态热加载,免去重启服务的操作。
本发明的上述方法,能够在多方参与、应用类型与数据接口不统一的新型协同制造场景下,通过非侵入式的应用运行数据收集技术实现对不同应用运行状态数据的收集。这使得应用程序的信息可以被准确掌握,从而使这些应用程序的性能监测指标具有极大的灵活性。相比原始应用程序的开发限制,本方法基于应用程序的外在运行指标体现,可以更灵活地进行指标聚合,从而更准确地评估性能。
本发明采用的分层思想,能够将协同制造中各个系统之间的差异性进行最大限度的屏蔽,接合时序负载预测技术,实现对应用运行状态的动态预测,从而实现资源的动态分配,降低能耗。
如图9所示,本发明的实施例还提供一种非侵入式应用程序运行状态监测装置90,包括:
获取模块91,获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;
监测模块92,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态。
可选的,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序,包括:
为二进制应用类别的待监测应用程序添加第一类识别标签;
为有状态应用类别的待监测应用程序添加第二类识别标签;
为CPU密集型的待监测应用程序添加第三类识别标签;
为IO密集型的待监测应用程序添加第四类识别标签。
可选的,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:
获取目标类别的待监测应用程序的状态监测模板;
根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件。
可选的,获取目标类别的待监测应用程序的状态监测模板,包括:
对标记有第一类识别标签的待监测应用程序配置通用状态监测模板,所述通用状态监测模板包含预设监测点;
对没有标记第一类识别标签的待监测应用程序配置自定义状态监测模板。
可选的,根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:
若所述状态监测模板为通用状态监测模板,则为所述通用状态监测模板配置监测规则,或使用所述通用状态监测模板包含的默认监测规则,生成运行状态监测配置文件;
若所述状态监测模板为自定义状态监测模板,读取待监测应用程序类型,确定监测点,根据监测点为所述自定义状态监测模板配置监测规则,生成运行状态监测配置文件;所述监测规则采用非侵入式代码描述监测点的监测指标提取方法。
可选的,根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,包括:
根据监测配置文件中的监测规则,配置系统内核中的程序监测点,注册监测事件;
当对应的监测点事件触发时,根据事先定义好的动作,更新内核中的非侵入式文件映射存储;
通过目标工具从映射存储中获取与监测点对应的监测指标;
根据所述监测指标,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态。
可选的,还包括:对所述监测规则和状态监测模板进行监测配置更新,当配置文件和配置自定义模块内文件哈希值不一致时,触发更新事件,重新加载配置并保存配置的哈希值。
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明的实施例一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种非侵入式应用程序运行状态监测方法,其特征在于,应用于协同制造系统,包括:
获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;
对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;
生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;其中,所述监测点包括数值计数型监测点和直方图型监测点;
根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态;
其中,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序,包括:
为二进制应用类别的待监测应用程序添加第一类识别标签;
为有状态应用类别的待监测应用程序添加第二类识别标签;
为CPU密集型的待监测应用程序添加第三类识别标签;
为IO密集型的待监测应用程序添加第四类识别标签;
其中,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:
获取目标类别的待监测应用程序的状态监测模板;
根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件;
其中,根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,包括:
根据监测配置文件中的监测规则,配置系统内核中的程序监测点,注册监测事件;
当对应的监测点事件触发时,根据事先定义好的动作,更新内核中的非侵入式文件映射存储;
通过目标工具从映射存储中获取与监测点对应的监测指标;
根据所述监测指标,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态;
其中,输出并展示所述目标类别的待监测应用程序运行状态,包括:通过指标导出器从内核映射存储中获取监测指标;由时间序列数据库定时采集所述指标导出器中的监测指标;将监测指标输出至展示平面进行可视化展示与分析。
2.根据权利要求1所述的非侵入式应用程序运行状态监测方法,其特征在于,获取目标类别的待监测应用程序的状态监测模板,包括:
对标记有第一类识别标签的待监测应用程序配置通用状态监测模板,所述通用状态监测模板包含预设监测点;
对没有标记第一类识别标签的待监测应用程序配置自定义状态监测模板。
3.根据权利要求1所述的非侵入式应用程序运行状态监测方法,其特征在于,根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:
若所述状态监测模板为通用状态监测模板,则为所述通用状态监测模板配置监测规则,或使用所述通用状态监测模板包含的默认监测规则,生成运行状态监测配置文件;
若所述状态监测模板为自定义状态监测模板,读取待监测应用程序类型,确定监测点,根据监测点为所述自定义状态监测模板配置监测规则,生成运行状态监测配置文件;所述监测规则采用非侵入式代码描述监测点的监测指标提取方法。
4.根据权利要求3所述的非侵入式应用程序运行状态监测方法,其特征在于,还包括:对所述监测规则和状态监测模板进行监测配置更新,当配置文件和配置自定义模块内文件哈希值不一致时,触发更新事件,重新加载配置并保存配置的哈希值。
5.一种非侵入式应用程序运行状态监测装置,其特征在于,包括:
获取模块,用于获取待监测应用程序;所述待监测应用程序为协同制造系统中的至少一种类型应用程序;
监测模块,用于对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序;生成目标类别的待监测应用程序的运行状态监测配置文件,所述运行状态监测配置文件包括:所述目标类别的待监测应用程序的至少一个监测点和与监测点对应的监测规则;其中,所述监测点包括数值计数型监测点和直方图型监测点;根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,输出并展示所述目标类别的待监测应用程序运行状态;其中,对所述待监测应用程序进行分类,得到添加了类别标签的至少一个待监测应用程序,包括:为二进制应用类别的待监测应用程序添加第一类识别标签;为有状态应用类别的待监测应用程序添加第二类识别标签;为CPU密集型的待监测应用程序添加第三类识别标签;为IO密集型的待监测应用程序添加第四类识别标签;其中,生成目标类别的待监测应用程序的运行状态监测配置文件,包括:获取目标类别的待监测应用程序的状态监测模板;根据所述状态监测模板,生成目标类别的待监测应用程序的运行状态监测配置文件;其中,根据所述监测配置文件,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态,包括:根据监测配置文件中的监测规则,配置系统内核中的程序监测点,注册监测事件;当对应的监测点事件触发时,根据事先定义好的动作,更新内核中的非侵入式文件映射存储;通过目标工具从映射存储中获取与监测点对应的监测指标;根据所述监测指标,对目标类别的待监测应用程序进行运行状态监控,得到目标类别的待监测应用程序运行状态;其中,输出并展示所述目标类别的待监测应用程序运行状态,包括:通过指标导出器从内核映射存储中获取监测指标;由时间序列数据库定时采集所述指标导出器中的监测指标;将监测指标输出至展示平面进行可视化展示与分析。
6.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310605139.8A CN116628552B (zh) | 2023-05-22 | 2023-05-22 | 一种非侵入式应用程序运行状态监测方法、装置及设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310605139.8A CN116628552B (zh) | 2023-05-22 | 2023-05-22 | 一种非侵入式应用程序运行状态监测方法、装置及设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116628552A CN116628552A (zh) | 2023-08-22 |
| CN116628552B true CN116628552B (zh) | 2025-12-16 |
Family
ID=87636288
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310605139.8A Active CN116628552B (zh) | 2023-05-22 | 2023-05-22 | 一种非侵入式应用程序运行状态监测方法、装置及设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116628552B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112153329A (zh) * | 2020-08-17 | 2020-12-29 | 浙江大华技术股份有限公司 | 事件监测的配置方法、系统、计算机设备和存储介质 |
| CN115827392A (zh) * | 2023-02-09 | 2023-03-21 | 中国证券登记结算有限责任公司 | 一种分布式系统的监控方法、装置和系统 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11741238B2 (en) * | 2017-11-27 | 2023-08-29 | Lacework, Inc. | Dynamically generating monitoring tools for software applications |
| CN112181785B (zh) * | 2020-10-21 | 2023-02-24 | 鹏城实验室 | 一种自动添加监控设备的方法、终端及存储介质 |
| CN113076233B (zh) * | 2021-03-30 | 2024-02-27 | 中国建设银行股份有限公司 | 一种io性能检测方法、装置、设备及存储介质 |
| CN115357302A (zh) * | 2022-08-22 | 2022-11-18 | 平安壹钱包电子商务有限公司 | 一种异常监控方法、装置、存储介质及电子设备 |
| CN115934199A (zh) * | 2022-12-16 | 2023-04-07 | 北京京东乾石科技有限公司 | 服务性能监控工具、方法、设备及介质 |
-
2023
- 2023-05-22 CN CN202310605139.8A patent/CN116628552B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112153329A (zh) * | 2020-08-17 | 2020-12-29 | 浙江大华技术股份有限公司 | 事件监测的配置方法、系统、计算机设备和存储介质 |
| CN115827392A (zh) * | 2023-02-09 | 2023-03-21 | 中国证券登记结算有限责任公司 | 一种分布式系统的监控方法、装置和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116628552A (zh) | 2023-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Lo et al. | SMArTIC: Towards building an accurate, robust and scalable specification miner | |
| CN115033876B (zh) | 日志处理方法、日志处理装置、计算机设备及存储介质 | |
| CN106649063B (zh) | 用于监测程序运行时耗时数据的方法及系统 | |
| US9183108B2 (en) | Logical grouping of profile data | |
| CN106815125A (zh) | 一种日志审计方法及平台 | |
| Kohyarnejadfard et al. | Anomaly detection in microservice environments using distributed tracing data analysis and NLP | |
| CN110727592A (zh) | 应用程序测试方法、介质、装置和计算设备 | |
| CN115357418A (zh) | 微服务故障检测方法、装置、存储介质及计算机设备 | |
| CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
| CN109684052A (zh) | 事务分析方法、装置、设备及存储介质 | |
| US11449488B2 (en) | System and method for processing logs | |
| Cai et al. | A real-time trace-level root-cause diagnosis system in alibaba datacenters | |
| CN105468995A (zh) | 以Oracle为核心的基于数据挖掘入侵检测系统 | |
| Li | Event mining: algorithms and applications | |
| CN113641523B (zh) | 一种日志处理方法及装置 | |
| CN116628552B (zh) | 一种非侵入式应用程序运行状态监测方法、装置及设备 | |
| CN112232960B (zh) | 交易应用系统监控方法及装置 | |
| CN112052158B (zh) | 美术资源运行信息采集方法和装置 | |
| CN119051996A (zh) | 异常流量检测模型的训练方法及装置、监测方法、设备 | |
| WO2025009381A1 (ja) | 異常検出装置、異常検出システム及び異常検出方法 | |
| de Silva et al. | Anomaly detection in microservice systems using autoencoders | |
| Sohana et al. | Cloudheatmap: Heatmap-based monitoring for large-scale cloud systems | |
| CN117234429B (zh) | 一种存储芯片的写入擦除速度分析方法及装置 | |
| Liang | Data characterization and anomaly detection for HPC datacenters using machine learning | |
| EP3671467A1 (en) | Gui application testing using bots |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |