CN109844781B - 用于从日志文件识别处理流并使流可视化的系统和方法 - Google Patents

用于从日志文件识别处理流并使流可视化的系统和方法 Download PDF

Info

Publication number
CN109844781B
CN109844781B CN201780065741.XA CN201780065741A CN109844781B CN 109844781 B CN109844781 B CN 109844781B CN 201780065741 A CN201780065741 A CN 201780065741A CN 109844781 B CN109844781 B CN 109844781B
Authority
CN
China
Prior art keywords
log
shape
stage
data
stage structure
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
Application number
CN201780065741.XA
Other languages
English (en)
Other versions
CN109844781A (zh
Inventor
S·达斯
J·Y·勇
D·库玛瑞桑
V·阿尔温卡
H·阿卡利
H·K·加拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN109844781A publication Critical patent/CN109844781A/zh
Application granted granted Critical
Publication of CN109844781B publication Critical patent/CN109844781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及从日志源(例如,日志文件)识别处理流,以及生成识别出的处理流的可视表示(例如,流图、Sankey图等)。此外,本公开涉及使用一个或多个散列算法基于树结构的形状来聚类树结构。本公开还涉及呈现查询构建器的用户界面,用于高效地从日志分析系统查询满足用户定义的范围的树结构。

Description

用于从日志文件识别处理流并使流可视化的系统和方法
对相关申请的交叉引用
本申请要求于2017年5月31日提交的美国非临时申请15/610,200的优先权和于2016年10月24日提交的美国临时申请62/412,035的权益,这些申请的公开内容出于所有目的通过引用全文并入本文。
技术领域
本公开涉及从日志源(例如,日志文件)识别处理流,以及生成识别出的处理流的可视表示(例如,流图、桑基(Sankey)图等)。
背景技术
大多数业务(business)应用被结构化为高级业务流,包括用户设备与一个或多个服务器之间的一个或多个交互阶段(stage)。例如,业务流可以包括用于处理从用户设备接收的登录凭证的登录阶段,登录阶段前进到用于处理在网站的输入字段处接收的信息的验证阶段,然后验证阶段前进到用于完成事务(transaction)的最终结账(checkout)阶段。业务流的各个阶段之间的数据流一般由软件模块处置。这些软件模块可以在位于不同网络中的不同服务器上执行。另外,软件模块被配置为执行与业务流的对应阶段相关的各种操作。关于操作的信息可以记录在包括针对每个事务的日志记录的日志文件中。可以分析日志记录以识别业务流中的故障。
现有解决方案以平面方式呈现数据,其中所有度量被平等对待,使得用户需要关于系统的大量知识以利用数据。另外,现有技术需要大量的专业知识来从数据中进行推断、单独查看,并且这些推论可能甚至是不准确的。
发明内容
本公开的某些方面和特征涉及用于识别处理流(例如,包括一个或多个阶段的工作流)并显示识别出的处理流的可视表示的系统和方法。在一个实施例中,可以提供界面,该界面呈现处理流的可视表示(例如,流图、Sankey图和其它合适的图)。该界面可以被配置为接收与流关键字(flow key)的选择对应的用户输入,用于将两个或更多个日志记录分组在不同的日志文件中。例如,流关键字可以是识别处理流中的特定事务的唯一标识符。另外,界面可以使用所选择的流关键字来促进各种日志文件中日志记录的分组。可以在处理流期间生成一个或多个日志文件。界面可以在既定的开始时间和既定的结束时间之间的一个或多个时间间隔上显示分组的日志记录的可视表示。界面使得用户能够选择时间间隔并呈现针对所选择的时间间隔的处理流的可视表示。在一些情况下,可以获得在来自特定时间间隔期间的处理流中所涉及的一个或多个日志文件的所有日志记录。例如,如果第一日志文件中记录的第一日志的流关键字(例如,事务ID、用户ID和会话ID等)的值与第二日志文件中记录的第二日志的流关键字的值相同,那么第一日志记录可以连接到第二日志记录。另外,一旦使用流关键字的各种日志文件之间的连接完成,就按时间对连接进行排序以生成处理流。
在另一个实施例中,可以在用户定义的时间段内通过工作流自动跟踪日志消息(与日志记录可互换使用)。识别与(例如,由用户定义的)给定时间段以及可选地一个或多个其它约束对应的日志消息。界面可以被配置为接收与要分析的消息集合的选择对应的输入,包括由于一些特性(例如,源、消息类型等)而不同的基于特性的消息子集,其中不同特性的消息倾向于即使特性本身不是基于时间的,也会在不同的时间发生。另外,界面可以被配置为接收与一个或多个变量的选择对应的输入以用作流关键字(例如,事务ID或(用户ID、会话ID))以跨越不同特性将消息彼此连接,流关键字在具有第一特性的第一消息子集和具有第二特性的第二消息子集(例如,登录数据子集到结账数据子集)中出现。用户选择时间间隔的长度(可选地,向用户建议的长度),或者自动为用户选择时间间隔。然后,界面呈现所选择的数据集的可视化,其中相同子集中的数据被聚合,并且不同子集中的数据在相对时间线上顺序地示出,并且消息在不同子集之间连接并且以聚合形式示出,表示多少消息在特定的不同子集之间连接。对于每次迭代,基于与标识符相关联的顺序日志消息的类型来识别序列。评估序列以识别每次迭代的潜在轨迹。定义包括每个潜在轨迹的工作流。例如,轨迹可以包括不同子集之间的一个或多个连接。识别表示沿着每个轨迹推进的日志消息的数量(或百分比)的量。促进工作流和量的呈现。
在另一个实施例中,可以提供计算机实现的方法。该方法可以包括经由界面接收与日志消息集合的选择对应的第一输入;以及基于接收到的第一输入来访问该日志消息集合。日志消息集合可以包括日志消息集合的多个子集。日志消息集合的每个子集可以与既定的特性相对应。该方法还可以包括接收与分支参数的选择对应的第二输入,该分支参数被配置为促进表示日志消息集合的流图中的一条或多条路径的分支。可以确定流图的第一桶(bucket)。例如,第一桶可以包括日志消息集合中的所有日志消息。可以确定流图的一个或多个第二桶。例如,每个第二桶可以表示日志消息集合的子集。可以被包括在第二桶中的每个日志消息可以与和所选择的参数相关联的既定特性相对应。此外,该方法可以包括定义流图的一条或多条路径。一条或多条路径中的每一条路径可以将第一桶链接到一个或多个第二桶中的第二桶。该方法可以包括生成图形用户界面(GUI),该GUI包括流图的一条或多条路径的可视表示;以及显示包括该可视表示的GUI。例如,可视表示可以包括在视觉上和空间上将第一桶连接到一个或多个第二桶中的第二桶的路径。
在另一个实施例中,每个工作流可以被表示为树结构(或任何合适的有向无环图),其中每个节点与日志-消息类型相对应。节点可以是但不必是分支节点。每棵树的形状可以被表征。可以确定与不同变量(例如,时间段)对应的形状是否匹配或相似,并且其指示可以在用户界面上的呈现中被识别。形状聚类(clustering)可以包括评定针对给定树结构(例如,多个数据集中的数据集)存在的节点连接(例如基于第一特性的子集到基于第二特性的子集,例如登录数据子集到结账数据子集)中的每一个,并基于其相似度对基于特性的子集的多个不同的基于时间的间隔进行聚类。例如,针对特定时间间隔的处理流可以由包括节点A连接到节点B和节点C中的每一个的树结构表示。该树结构的形状可以由节点A到节点B以及单独的节点A到节点C的连接来表示。日志分析系统可以针对其它时间间隔来评定树结构,以确定是否有任何其它树结构匹配与节点A连接到节点B和节点C中的每一个的相同的形状。共享相同形状的树结构(跨不同的时间间隔)被聚类在一起,成为单个集群(cluster)。另外,界面可以促进识别集群,以及为用户呈现为每个不同的呈现集群命名的选项。界面还可以呈现用于在时间间隔之间手动过渡或在时间间隔之间自动播放视频的选项。有利地,形状聚类使得用户能够识别经历了类似事件(诸如故障)的其它间隔。
在另一个实施例中,用户界面可以包括查询构建器,该查询构建器使得用户能够生成识别满足用户定义范围的形状的查询。例如,查询构建器可以使得用户能够选择处理流的形状(例如,特定的树结构)。响应于选择形状,用户界面可以显示树结构的可视化(例如,包括多个阶段和阶段之间的连接的流图)。在用户界面上呈现的连接可以指示从一个阶段流到另一个阶段的日志消息的计数。另外,用户界面可以使得用户能够通过将连接的边界扩展为更宽和/或将连接的边界减小为更细来定义日志消息的计数的范围。在一些情况下,用户界面可以呈现两种不同的形状,其中形状由用户调整,并且用户可以为查询定义相似度因子。例如,用户可以修改处理流的所选择的形状以具有更宽或更细的连接,并且用户可以输入形状之间的阈值相似度的百分比值。然后可以执行查询以查找其强度在阈值相似度的百分比内的所有形状。当用户在用户界面上修改形状时,后端查询被同时更新为与由用户做出的修改对应。例如,如果用户将连接的边界重新定义为1到10的范围,那么后端查询可以被自动更新以反映用户定义的范围。
在另一个实施例中,许多客户具有没有事务标识符的日志源。对于这个实施例,用户可以通过构造查询来选择日志源中的日志消息的一个或多个基本特性。在这种情况下,不存在单独的流关键字通过不同的时间连接消息,但是在相同的基于时间的间隔中发生的所有消息可以一起被分析,而不显示随时间的流。代替地,基于除基本特性之外的特性的变化来示出流。基本特性的值的不同桶在GUI上在视觉上和空间上连接到其它特性的其它值的不同桶。GUI还提供用于添加甚至更多其它特性以分支基本特性和其它特性的选项,以查看基于时间的间隔的数据值的分布。界面还提供在时间间隔之间手动过渡或在时间间隔之间自动播放视频的选项。例如,用户可以构造查询,该查询在特定时间间隔期间过滤来自特定日志源的所有日志消息以及日志消息的“机器名称”。通过构造查询,用户可以查看特性随时间的改变。另外,用户可以向查询添加过滤器,以查看所选择的特性的子特性(例如,严重性、模块)。查询结果在自适应流图中被可视化,该流图示出了表示连接到每个特性的计数的条带。另外,一旦处理流已经在界面上呈现,流模型就可以被保存(例如,流的底层查询/结构可以被保存),并且可以在稍后的日子(对于任何其它时间段或时间间隔)通过单击来自动重建。
上述实施例可以用2016年9月16日提交的美国临时专利申请62/396,000的公开内容的一个或多个方面来实现,该专利申请的公开内容出于所有目的通过引用全文并入本文。
附图说明
本说明书引用以下附图,其中在不同的附图中使用相同的标号旨在图示相同或类似的组件。
图1A图示了根据本发明一些实施例的用于配置、收集和分析日志数据的示例系统。
图1B示出了使用示例系统来配置、收集和分析日志数据的方案的流程图。
图2图示了示例报告用户界面。
图3A图示了日志分析系统的内部结构的更详细的图示。
图3B图示了用于收集日志数据而不需要通过客户端侧的代理进行收集的侧加载机制。
图3C图示了图3B的另一个实施例。
图4是基于处理流的形状的聚类处理流的示例表示。
图5是图示用于基于处理流的形状来聚类处理流的示例处理的流程图。
图6是示出用于在日志分析上下文中显示分支树的示例处理的流程图。
图7是根据本公开某些实施例的示例用户界面。
图8是根据本公开某些实施例的示例用户界面。
图9是根据本公开某些实施例的示例用户界面。
图10描绘了用于实现实施例中的一个的分布式系统的简化图。
图11是系统环境的一个或多个组件的简化框图。
图12图示了示例性计算机系统,其中可以实现本公开的各种实施例。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以便提供对本发明实施例的透彻理解。但是,将显而易见的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在是限制性的。
许多类型的计算系统和应用生成与该计算系统或应用的操作有关或由此产生的大量数据。然后,这些大量数据频繁地被存储到收集的位置,诸如日志文件/记录,如果需要分析系统或应用的行为或操作,那么可以在稍后的时间段查看这些位置。
虽然以下描述可以通过关于“日志”数据的说明来描述实施例,但是还可以考虑其它类型数据的处理。因此,实施例在其应用方面不仅限于日志数据。此外,以下描述也可以互换地指代被处理为“记录”或“消息”的数据,而不旨在将本发明的范围限于数据的任何特定格式。
图1A图示了根据本发明一些实施例的用于配置、收集和分析日志数据的示例系统100。系统100包括日志分析系统101,在一些实施例中,日志分析系统101被实施为基于云和/或基于SaaS(软件即服务)的体系架构。这意味着日志分析系统101能够将日志分析功能作为被托管平台上的服务来提供服务,使得需要该服务的每个客户不需要在客户自己的网络上独立安装和配置服务组件。日志分析系统101能够向多个单独的客户提供日志分析服务,并且可以被扩展以服务于任何数量的客户。
每个客户网络104可以包括任何数量的主机109。主机109是客户网络104内的计算平台,该计算平台生成作为一个或多个日志文件的日志数据。在主机109内产生的原始日志数据可以源自任何日志产生源。例如,原始日志数据可以源自数据库管理系统(DBMS)、数据库应用(DB App)、中间件、操作系统、硬件组件或任何其它产生日志的应用、组件或系统。在每个客户网络中提供一个或多个网关108以与日志分析系统101进行通信。
系统100可以包括在一个或多个用户站103处的一个或多个用户,该一个或多个用户使用系统100来操作日志分析系统101并与之进行交互。用户站103包括可以用于对系统100中的日志分析系统101进行操作或与之对接的任何类型的计算站。这种用户站的示例包括例如工作站、个人计算机、移动设备或远程计算终端。用户站包括显示设备,诸如显示监视器,用于向用户站处的用户显示用户界面。用户站还包括一个或多个输入设备,以供用户提供对系统100的活动的操作控制,诸如鼠标或键盘,以操纵图形用户界面中的指向对象以生成用户输入。在一些实施例中,用户站103可以(但不是必须)位于客户网络104内。
日志分析系统101包括用户站101处的用户可访问的功能,其中日志分析系统101被实现为引擎、机制和/或模块的集合(无论是硬件、软件还是硬件和软件的混合)以执行日志数据的配置、收集和分析。用户界面(UI)机制生成UI以显示分类和分析结果,并允许用户与日志分析系统进行交互。
图1B示出了使用系统100来配置、收集和分析日志数据的方案的流程图。图1B的这个讨论将参考图1A中针对系统100所示的组件。
在120处,在系统内配置日志监视。例如,这可以通过用户/客户配置用户/客户期望的日志监视/数据搜集的类型而发生。在系统101内,包括UI控件的配置机制129可由用户操作,以选择和配置日志收集配置111和用于日志收集配置的目标表示113。
日志收集配置111包括识别要收集哪些数据(例如,哪些日志文件)、要收集的数据的位置(例如,目录位置)、如何访问数据(例如,日志的格式和/或要获取的日志中的具体字段)和/或何时收集数据(例如,在定期的基础上)的信息集合(例如,日志规则、日志源信息和日志类型信息)。日志收集配置111可以包括由服务提供者包括的开箱即用(out-of-the-box)规则。日志收集配置111还可以包括客户定义/客户定制的规则。
目标表示113识别“目标”,“目标”是包含和/或产生日志的客户环境内的各个组件。这些目标与客户环境中的具体组件/主机相关联。示例目标可以是与一个或多个日志和/或一个或多个主机相关联的具体数据库应用。
122处的下一个动作是根据用户配置来捕获日志数据。日志数据可以源自任何日志产生源位置,诸如数据库管理系统、数据库应用、中间件、硬件日志、操作系统日志、应用日志、应用服务器日志、数据库服务器日志以及任何其它类型的监视系统或应用的行为的日志。
在一些实例中,日志规则111与目标表示之间的关联被发送到客户网络104以进行处理。日志分析系统的代理存在于每个主机109上,以从主机109上的适当日志中收集数据。
在一些实施例中,可以对捕获的数据执行数据遮蔽(masking)。遮蔽是在收集时执行的,它在客户数据离开客户网络之前保护客户数据。例如,所收集的日志数据中的各种类型的信息(诸如用户名和其它个人信息)可能足够敏感以致在被发送到服务器之前被遮蔽。针对这些数据识别模式,这些数据可以在针对服务器被收集之前被移除和/或改变为代理数据。这允许数据仍然用于分析目的,同时隐藏敏感数据。一些实施例永久地移除敏感数据(例如,将所有此类数据改变为“***”符号),或者改变为被映射使得可以恢复原始数据的数据。
在124处,将收集的日志数据从客户网络104递送到日志分析系统101。客户网络104中的多个主机109将收集的数据提供给较少数量的一个或多个网关108,然后网关108将日志数据发送到日志分析系统101处的边缘服务106。边缘服务106接收通过一个或多个客户网络收集的数据,执行任何摄取(intake)处理(例如,应用语法规则以将每个消息变换为缺少集群间消息可变性的分量的规范化的消息或概略消息,并将每个经变换的消息指派给使用经变换的息的散列识别出的初始集群),并且可以将数据放入入站数据存储库中以供日志处理管道107的进一步处理。
在126处,日志处理管道107对所收集的日志数据执行一系列数据处理和分析操作。在各种示例中,处理和分析操作可以包括在存储数据之前执行的动作和/或通过对从数据存储库检索到的数据执行动作而执行的动作。例如,可以在摄入(ingest)时间(例如,在从源接收到(一个或多个)日志消息后)将一个或多个日志消息指派给初始集群,并且随后可以响应于查询而检索(一个或多个)日志消息,以修改或补充初始聚类并基于该聚类生成统计信息和/或呈现。
在128处,然后将经处理的数据存储到数据存储设备110中。计算机可读存储设备110包括硬件和软件的任何组合,其允许随时访问位于计算机可读存储设备110处的数据。例如,计算机可读存储设备110可以被实现为由操作系统可操作地管理的计算机存储器。计算机可读存储设备110中的数据还可以被实现为数据库对象、云对象和/或文件系统中的文件。在一些实施例中,经处理的数据存储在文本/加索引的数据存储库110a(例如,作为SOLR集群)和原始/历史数据存储库110b(例如,作为HDFS集群)两者内。
SOLR集群与ApacheTM开源企业搜索平台相对应。SOLR集群可以使用搜索库来执行全文加索引以及存储在HDFS集群中的数据的搜索。SOLR集群可以提供与各种语言兼容的API,以将搜索功能与其它程序和应用对接。加索引可以近乎实时地执行。集群可以在服务器集合上运行,以促进容错和可用性。加索引和搜索任务可以分布在服务器集合上。
HDFS集群与Hadoop分布式文件系统集群相对应。HDFS集群可以包括许多(例如,数千个)服务器以托管存储装置(例如,直接附连的存储装置)并执行任务,诸如由用户应用定义的任务。HDFS集群可以包括主/从体系架构,其具有用于管理集群的命名空间的单个主服务器。可以将文件划分为块以存储在HDFS集群的多个DataNode(数据节点)上。主服务器可以执行文件操作(例如,打开、关闭等)并确定哪些块将存储在哪些数据节点上。主服务器可以与数据节点进行通信用于响应于接收到对应的文件操作而读取或写入数据的请求。
在130处,可以使用报告机制/UI 115对经处理的数据执行报告。如图2中所示,报告UI 200可以包括日志搜索设施202、一个或多个仪表板204、和/或用于分析/查看经处理的日志数据的任何合适的应用206。下面更详细地描述这种报告组件的示例。
在132处,可以对经处理的数据执行事故(incident)管理。可以在日志分析系统内配置一个或多个警报条件,使得在检测到警报条件后,事故管理机制117向指定的用户集合提供事故/警报的通知。
在134处,校正动作引擎119可以执行在客户网络104内采取的任何必要动作。例如,可以接收数据库系统停机的日志条目。当识别出这种日志条目时,可能的自动校正动作是尝试重新启动数据库系统。客户可以创建校正动作脚本来解决这种情况。可以执行触发器以运行执行校正动作的脚本(例如,触发器使得指令被发送到客户网络上的代理以运行脚本)。在替代实施例中,将用于该情况的适当脚本从服务器下推到客户网络以便被执行。此外,在136处,可以最后基于经处理的数据来适当地采取任何其它附加功能和/或动作。
图3A提供了主机环境340处的日志分析系统的内部结构和客户环境342内与日志分析系统进行交互的组件的更详细的图示。这个体系架构300被配置为提供能够处置大量日志数据摄入的日志监视的流。
在单个客户主机/服务器344内的客户环境342中,LA(日志分析)代理333取得日志监视配置数据332(例如,嗅探器(sniffer)配置或目标侧配置素材),并调用日志文件336嗅探器(本文也称为“日志收集器”,以从一个或多个日志文件338搜集日志数据。
守护进程(daemon)管理器334可以被用来与日志文件嗅探器336对接。日志文件嗅探器336从主机机器344上的一个或多个日志文件338中读取。守护进程管理器334取得日志内容并将其打包,以便可以将其传递回LA代理333。要注意的是,系统可以包括任何数量的不同种类的嗅探器,并且日志嗅探器336仅仅是可以在系统中使用的单个类型的嗅探器的示例。因此,可以在本发明的各种实施例中采用其它类型的嗅探器,例如,监视注册表、数据库、窗口事件日志等的嗅探器。此外,在一些实施例中,日志嗅探器被配置为处置集体文件/压缩文件,例如,Zip文件。
LA代理333将搜集的日志数据发送到网关代理330。网关代理330打包从多个客户主机/服务器收集的日志数据,基本上充当聚合器以聚合来自多个主机的日志内容。然后,打包的内容从网关代理330发送到边缘服务306。边缘服务306从来自任何数量的不同客户环境342的多个网关代理330接收大量数据。
给定可以在边缘服务306处接收的潜在大量数据,可以立即处理数据以将每个日志消息指派给初始集群并存储到入站数据存储设备304(“平台入站聚类存储库”)中。在一些实例中,可以在摄入时间执行初始或初步处理,这可以包括与数据存储对应的时间(例如,之前、之后很短时间或之后立即,或与之并发)。初始或初步处理可以包括(例如)检测数据的哪些部分是不可变分量,并基于在消息中检测到的不可变分量来确定每个日志消息的初始集群。例如,可以将散列技术应用于每个不可变分量的值以生成初始集群的标识符。然后可以将日志消息与初始集群的标识符相关联地存储,或者可以存储其它集群数据以指示日志消息与初始集群相关联。可以在后续处理期间(诸如在后续资源可用性的时间期间发生的处理期间和/或响应于接收对与相关联的日志消息对应或可能对应的数据的查询)进一步细化、增强和/或使用集群指派。
因此,在一些实例中,管理和维护队列,其中队列元素与集群指派要对其进行细化、增强和/或使用的一个或多个日志消息相对应。(例如)在队列元素的初始存储之后和/或响应于接收对与一个或多个相关联的日志消息对应或可能对应的数据的查询,可以将元素添加到队列。该队列可以用于日志处理管道308。
提供数据结构以管理入站数据存储库内将处理的项。在一些实施例中,消息传送平台302(例如,使用Kafka产品实现)可以用于跟踪队列内的待处理项。在日志处理管道308内,队列消费者310识别将处理的队列中的下一项,然后从平台入站存储库中检索该项。队列消费者310包括能够处理系统内离开队列的工作的任何实体,诸如进程、线程、节点或任务。
检索到的日志数据经历“解析”阶段312,其中日志条目被解析并分解成具体的字段或分量。针对日志配置的“日志类型”指定如何将日志条目分解为期望的字段。
在“聚类”阶段313,进一步分析日志数据以将各个日志消息指派给集群。具体而言,可以评估在摄取处理期间(例如,在304处)向其指派日志消息的多个初始集群,以确定是否将一些初始集群合并在一起。评估可以包括识别每个集群的一个或多个代表性样品并进行成对定量比较评估。经由成对比较评估被评估的集群对可以包括具有相同或相似数量的分量(或单词)的日志消息的集群。在一些实例中,每对集群包括与多个分量相关联的集群,该多个分量相同或彼此相差小于阈值数量(例如,阈值数量是预定义的、是默认数量或由用户识别),使用评估来评定每对集群。比较评估可以迭代地执行和/或以结构化方式执行(例如,使得在评定具有不同数量的分量的对(pair)之前评估具有相同数量的分量的对)。
成对定量比较评估可以包括例如使用代表消息生成相似度度量,并确定该度量是否超过阈值度量(例如,阈值度量是预定义的、由用户识别出的默认数量)。相似度度量可以基于(例如)代表性消息是否包括相同(或相似)数量的分量、可变(或不可变)分量的数量、一个或多个不可变分量中的每一个的内容、一个或多个可变分量的特性(例如,格式、字符类型或长度)等。相似度度量可以基于生成集群间消息之间的相关系数,或者通过使用更大的消息集合来执行聚类技术达到集群的代表性消息被指派给相同集群或共享分量的程度(例如,如果技术包括使用分量分析,诸如主分量分析或独立分量分析)。
在“规范化(normalize)”阶段314中,识别出的字段被规范化。例如,“时间”字段可以在不同日志中以任何数量的不同方式表示。这个时间字段可以被规范化为单个可识别的格式(例如,UTC格式)。作为另一个示例,单词“error”可以在不同系统上以不同方式表示(例如,全部大写“ERROR”、全部小写“error”、第一个字母大写“Error”或缩写“err”)。这种情况可以要求将不同的单词形式/类型规范化为单一格式(例如,所有小写的非缩写术语“error”)。
“变换(transform)”阶段316可以用于从日志数据合成新内容。作为示例,可以将“标签”添加到日志数据中,以提供关于日志条目的其它信息。作为另一个示例,标签可以识别向其指派了日志消息的集群。
“条件评定”阶段318用于评定日志数据上的指定条件。可以执行这个阶段以识别日志数据内的模式,并创建/识别日志内的警报条件。可以在这个阶段执行任何类型的通知,包括例如发送给管理员/客户的电子邮件/文本消息/呼叫或者到另一个系统或机制的警报。作为一个示例,条件可以定义与集群指派的改变对应的事件,诸如检测到被指派给给定集群的日志消息的量(例如,数量或百分比)已经超过阈值(例如,阈值是固定且预定义的,或者由用户、客户端或规则定义),诸如低于下阈值或高于上阈值。作为另一个示例,条件可以定义与被指派给给定阈值的日志消息的量正在改变的程度对应的事件,诸如通过识别时间序列的斜率的阈值或者在两个时间区间(bin)之间被指派给集群的日志消息的计数或百分比的差异的阈值。作为又一个示例,条件可以定义与多个集群指派对应的事件,诸如指示多个集群中的每个集群的时间序列具有相似形状的事件(例如,通过确定曲线拟合系数是否在阈值量内足够相似、通过确定时间序列中的一个或多个峰值的时间是否在既定的阈值时间内、确定集群的时间序列之间的相关系数是否超过阈值,和/或确定每个个体集群的时间序列的可变性与时间序列之和的可变性之间的差是否超过阈值)。
然后,日志写入器320将经处理的日志数据写入一个或多个数据存储库324。在一些实施例中,经处理的数据被存储在文本/加索引的数据存储装置(例如,作为SOLR集群)和原始和/或历史数据存储库(例如,作为HDFS集群)两者内。日志写入器还可以将日志数据发送到另一个处理阶段322和/或下游处理引擎。
如图3B中所示,一些实施例提供了侧加载机制350,用以收集日志数据而不需要通过客户端侧的代理333进行收集。在这种方案中,用户登录到服务器以选择本地系统上的一个或多个文件。系统将在服务器处加载该文件,并将嗅探该文件(例如,通过让用户提供日志类型、尝试可能的日志类型、滚动不同的日志类型,或通过对日志类型进行有根据的“猜测”)。然后,如前所述,将嗅探结果传递给边缘服务并进行处理。在图3C的实施例中,仅存在侧加载机制350来搜集日志文件-其中在客户端服务器344上未安装和/或不需要代理/嗅探器实体。
根据本公开的各方面,许多业务应用具有事务流(例如,事务的一个或多个阶段的流)。可以使用流关键字(例如,事务ID)或日志文件中呈现的任何其它字段来识别流。流关键字可以用于连接不同的记录并识别特定事务中所涉及的步骤。这个特征促进确定哪些事务ID与特定时间间隔中的流中的失败操作相对应。
图4示出了基于处理流的形状(例如,树结构)的聚类处理流的示例。作为示例,图4图示了处理流410、415和420。处理流410、415和420中的每一个可以包括一个或多个节点以及节点之间的一个或多个连接。例如,节点可以表示处理流的阶段(如上所述),并且两个节点之间的连接可以表示两个阶段之间的数据流的强度(例如,表示从一个阶段流到另一个阶段的日志消息的数量的强度)。另外,处理流410、415和420中的每一个可以存储在单独的数据结构中。
在一些实现中,具有相同形状的处理流可以聚类在一起。例如,如图4中所示,处理流410和415具有相同的形状,而处理流420具有与处理流410和415的形状不同的形状。在这个示例中,处理流410和415可以一起被聚类到组400中,而处理流420可以被包括在单独的组405中。另外,可以标记处理流的特定形状以便表示聚类的处理流。可以通过聚类逻辑来执行聚类。
另外,处理流可以由形状表示,并且特定形状可以由用户标记。可以通过形状来搜索各种处理流,并且可以查看关于识别出的形状的附加统计信息。在第一处理流具有与第二处理流相同的形状的情况下,第一处理流和第二处理流中的每一个可以被聚类在一起并且被指派相同的形状标识符(ID)。在一些实现中,可以使用散列算法为每个处理流生成散列值。散列算法可以被配置为针对相同或相似形状的处理流生成相同的散列值。数据结构存储在每个处理流的存储器中,并且数据结构表示处理流。在图6所示的示例中,处理流410和415中的每一个的散列值是“12345”,而处理流420的散列值是“678”。散列值可以是散列算法的输出,该散列算法取存储在与处理流对应的数据结构中的数据作为输入。以这种方式,如果两个不同的处理流具有相同的形状,那么它们可以具有存储在其对应数据结构中的相同信息,因此,当应用于处理流时,散列算法可以输出相同的散列值。
在一些实现中,节点之间的连接(例如,连接到节点430的连接425)可以表示连接的强度。另外,连接的强度可以表示在处理流中从一个阶段流到另一个阶段的日志消息的数量。在一些情况下,两个处理流的形状可以是相同的(例如,阶段A连接到阶段B,阶段B拆分并连接到阶段C和D中的每一个),但阶段之间的连接可以具有不同的强度。在这些情况下,处理流的聚类可以附加地基于连接的强度。例如,在这些情况下,散列算法可以被配置为接收处理流的形状和阶段之间的连接的强度作为输入。作为非限制性示例,如果处理流包括阶段A,阶段A以强度“5”连接到阶段B,并且如果阶段B以强度“10”连接到阶段C,那么散列算法将采用处理流的形状(例如,A连接到B以及B连接到C)和每个连接的强度(例如,第一连接具有强度“5”并且第二连接具有强度“10”)作为输入。作为散列算法的输出而生成的散列值可以基于形状和连接的强度两者。
在一些实现中,处理流的连接的强度可以被桶分化(bucketized)。例如,如果两个处理流具有相同的形状,若每个处理流的连接的强度在预定范围内(例如,1到10),那么两个处理流可以被聚类在一起。类似地,如果两个处理流具有相同的形状,但是一个处理流具有在既定范围内的强度,而另一个处理流具有在既定范围之外的强度,那么两个处理流将不会被聚类在一起(例如,在这种情况下,两个处理流中的每一个将被指派不同的散列值)。将认识到的是,处理流的聚类可以基于各种因素,包括但不限于集群的形状、阶段之间的连接的强度、在特定阶段经历的经过的处理时间、是否存在故障阶段,以及其它合适的因素。另外,将认识到的是,可以对不同的集群进行加权并组合成新的集群。
在一些实现中,用户可以在不考虑处理流的形状的情况下查询包括故障阶段(例如,或者可替代地,在没有故障阶段的情况下)的任何或所有处理流的数据存储库。在一些情况下,对于没有故障阶段的处理流,用户可以查询经历了高负载的处理流和经历了低负载的处理流。作为查询结果而识别出的处理流可以具有相同的形状,但是,处理流可以具有形状内的连接的不同强度。例如,第一处理流(例如,表示清晨时间间隔)可以具有与第二处理流(例如,表示高峰时间间隔)相同的形状。但是,第一处理流可能经历了低负载,而第二处理流可能经历了高负载。
在一些实现中,散列算法是可配置的,以便接收一个或多个数据点作为输入。散列算法可以被配置为接收的输入的示例可以包括处理流的形状、两个阶段之间的连接的强度(例如、数据流的计数)、与处理流中的所有日志消息相比较的连接强度的百分比,以及其它合适的输入。
将认识到的是,可以基于处理流的形状来聚类处理流,而不管处理流是否涉及事务流关键字。在处理流包括事务流关键字的情况下,处理流的形状(例如,树形状)基于阶段之间的日志消息的流。但是,在处理流不包括事务流关键字的情况下,处理流的形状是用户定义的,因为形状基于用户有兴趣向下钻取的特性。
将认识到的是,可以将处理流馈送到学习算法中,以预测处理流是否将经历故障阶段。例如,系统可以引入之前未标记的新的日志消息。可以将新的日志消息馈送到基于机器学习技术生成的计算模型中,以便预测新的日志消息是否将沿着处理流在某处经历故障。在这个示例中,当接收到新的(尚未标记的)日志消息时,学习模型可以预测哪个现有形状(例如,树)将与新的日志消息匹配。作为非限制性示例,学习模型可以在新日志消息形成具有与包括故障阶段的其它形状相似的形状的处理流的情况下在故障发生之前预测故障。
还将认识到的是,可以提供使得用户能够生成可编辑查询的用户界面。例如,如果用户选择具有特定形状的处理流,那么可以生成(但尚未发送)定义形状(例如,阶段A到阶段B,强度为10)的自然语言查询。在将查询发送到数据存储库并执行之前,用户界面可以使得用户能够修改或编辑查询。例如,用户界面可以使得用户能够改变查询,使得强度是1到10之间的范围而非静态值10。该范围可以用于识别阶段A连接到阶段B的所有其它形状,其中强度为1到10之间的任何数字。在这些示例中,当用户选择形状并修改形状用于查询与修改后的形状相似的形状的目的时,生成的后端查询以自然语言格式(例如,人类可读的格式)被暴露给用户。示例查询可以包括对形状的请求,其中数据从代理设备流到数据接收器,其中条件是所有高容量被视为一个形状而低容量被视为另一个形状。在一些实现中,用户界面可以提供查询构建器,该查询构建器使得用户能够将形状的名称(例如,形状ID)识别为起点。另外,用户界面可以使得用户能够将形状的片段拉出或拉入(例如,用户可以将连接扩展为更大或者将连接的尺寸减小到更小)以定义查询应当覆盖的值的范围。在一些情况下,用户界面可以呈现两种不同的形状,其中形状由用户调整,并且用户可以针对查询定义相似度因子。例如,用户可以将处理流的所选择的形状修改为更大或更小(例如,相对于表示在两个阶段之间流动的日志消息的数量的连接的尺寸),并且可以在用户界面处从用户设备接收与形状之间的阈值相似度的百分比对应的输入。然后可以执行查询以查找强度在阈值相似度百分比内的所有形状。当用户在用户界面上修改形状时,后端查询同时被更新为与由用户做出的修改相对应。
有利地,用户界面可以使得用户能够识别处理流的形状,并且作为响应,可以在用户界面上呈现形状的可视化。另外,用户界面可以通过拖出或拖入边界线然后点击“搜索”来接收与对连接(例如,表示在两个阶段之间流动的日志消息的计数)的边界线的调整对应的输入。然后可以针对在用户定义的边界线内的所有形状执行搜索。
图5是图示用于基于处理流的形状(例如,树结构)来聚类处理流的示例处理的流程图。处理500可以至少部分地由日志分析系统(例如,日志分析系统101)执行。另外,可以执行处理500,以基于与处理流相关联的树结构来聚类处理流。处理500开始于方框505,其中识别第一多阶段结构。在一些情况下,可以针对多个数据集中的每个数据集识别第一多阶段结构。多个数据集中的每个数据集表示在既定时间段期间记录的日志消息集合。另外,日志消息集合中的每个日志消息包括在对应数据集的时间段内的时间戳。
在一些实现中,基于与数据集对应的日志消息集合来生成第一多阶段结构。例如,可以基于在特定时间间隔期间记录的所有日志消息来生成第一多阶段结构。第一多阶段结构可以表示在特定时间间隔期间的事务流(以及在不同机器处记录的所有日志消息)。此外,第一多阶段结构可以是树结构(例如,具有一个或多个分支的处理流、具有一个或多条路径的工作流等),其包括节点集合和节点连接集合。例如,第一多阶段结构可以包括第一节点和第二节点,第一节点表示在时间间隔期间的处理流的第一阶段,第二节点表示在时间间隔期间的处理流的第二阶段。第二阶段可以表示用晚于由第一阶段表示的日志消息的时间戳记录的日志消息。作为非限制性示例,第一阶段可以表示事务流的登录步骤,而第二阶段可以表示事务流的结账步骤。另外,多个阶段中的阶段可以表示与相对于被指派给一个或多个相邻阶段的对应日志消息的时间被指派给该阶段的日志消息相关联的相对时间序列。在一些实现中,两个节点之间的连接可以表示在两个节点之间链接的日志消息的计数。例如,节点连接集合中的每个连接将与日志消息集合的第一子集相关联的第一节点与该日志消息集合的第二子集相关联的第二节点连接。在一些情况下,用户界面将连接呈现为具有既定宽度的流线。例如,流线的宽度可以指示在两个节点之间流动的日志消息的计数。图6中图示了示例用户界面。
在方框510处,可以确定第一多阶段结构的第一形状。可以通过将表示多阶段结构的形状的数据存储在数据结构中来执行确定多阶段结构的形状。表示形状的数据可以包括例如节点和对应连接的指示,诸如节点A连接到节点B,强度为5;节点B连接到节点C,强度为1;并且节点B还连接到节点D,强度为10。取决于实施例,数据结构可以存储或可以不存储连接的强度(例如,在两个节点之间流动的日志消息的计数)。可以对为多个数据集中的每个数据集识别出的各种多阶段结构的形状进行聚类,以便对与相似形状(例如,相似处理流)对应的数据集进行分组。
在方框515处,可以对多个数据集中的数据集进行聚类。在一些实现中,数据集的聚类可以至少部分地基于各种多阶段结构的形状。例如,与相同形状对应的多阶段结构(例如,包括由连接到节点B的节点A以及连接到节点C和节点D中的每一个的节点B定义的树结构的多阶段结构被聚类在一起)。可以通过对与多阶段结构对应的数据结构执行散列算法并将得到的相同散列值分组到一个集群中来实现对数据集的聚类。在一些情况下,对各自共享相同形状的两个不同多阶段结构执行散列算法可以产生相同的散列值。在这些情况下,两个不同的多阶段结构的数据结构可以彼此相同或相似,因为两个不同的多阶段结构共享相同的树结构(例如,形状)。
将认识到的是,可以基于除了基于多阶段结构的形状的聚类之外、作为其补充或代替其的因素来对多个数据集中的数据集执行聚类。例如,可以基于处理时间(例如,处理完成所经过的时间)对数据集进行聚类。
在方框520处,可以在用户设备上呈现图形用户界面(GUI)。在一些实现中,GUI可以包括所聚类的形状的可视化(例如,如图7中所示)。仅作为非限制性示例,所聚类的形状的可视化可以包括饼图,其中每个片段与不同的形状对应,并且片段的尺寸与该形状的百分比(例如,特定形状除以所有形状的数量)相对应。集群成员资格可以与形状所属的片段的标识相对应。将认识到的是,GUI可以提供使得用户能够定义每个形状ID的名称的输入元素。形状ID与形状的标识符相对应。例如,包括节点A到节点B以及节点B到节点C和节点D中的每一个的所有形状可以与同一个形状ID相对应。即,形状ID可能在具体时间间隔期间不识别具体形状,而是形状ID可以识别集群成员资格(例如,图7的饼图中的片段)。将认识到的是,GUI上呈现的可视化可以包括被配置为接受来自用户的输入的一个或多个字段。输入可以识别一个或多个数据集群中的每一个的名称(例如,饼图中每个片段的名称、集群成员资格中的每个成员的名称)。还将认识到的是,多个数据集中的每个数据集可以与时间尺度上的不同时间段相关联(例如,每个时间段可以与一周内的24小时时段对应)。另外,给定数据集与日志消息集合对应,每个日志消息包括在由该数据集定义的时间段内的时间戳。还将认识到的是,当一个形状与另一个形状不相同或不相似时(例如,不在既定的相似度阈值内),这两个形状不被聚类。
还将认识到的是,对每个多阶段结构(例如,每个处理流)执行的散列算法生成散列值。可以对散列算法进行配置,使得具有相同形状或相似形状(例如,在既定的相似度阈值内)的任何多阶段结构将产生相同的散列值。聚类可以包括将与相同散列值对应的形状分组到单个聚类中。还将认识到的是,散列算法可以接收连接集合中的每个连接的强度(作为形状的补充或代替形状的输入)。强度指示在两个节点之间链接的日志消息的计数。例如,从阶段A流到阶段B的日志消息数量指示连接的强度。例如,从阶段A流到阶段B可以包括识别特定事务关键字被包括在与阶段A相关联的日志消息中,并且识别相同的特定事务关键字被包括在与阶段B相关联的日志消息中,其表示事务流中阶段A到阶段B的流。在一些实现中,多个数据集中的数据集的聚类还可以至少部分地基于连接集合中的每个连接的强度。例如,连接的强度可以被桶分化,以便每个桶(例如,强度1000-2000、2001-3000、3001-4000等)可以被认为是不同的形状,即使树结构是相同的(例如,节点A连接到节点B和节点C中的每一个)。在一些实现中,处理500还可以包括访问学习模型,该学习模型被配置为预测故障消息、接收未标记的一个或多个新日志消息、将一个或多个新日志消息馈送到学习模型中、识别与一个或多个新日志消息相关联的新形状、并将新形状与一个或多个现有形状进行比较,以识别新形状是否与包括故障阶段的现有形状相对应。
在一些实现中,GUI可以包括查询构建器,其使得用户能够将形状的名称(例如,形状ID、散列ID、散列值等)识别为起点。另外,GUI可以呈现识别出的形状并且使得用户能够拉伸或最小化形状的连接(例如,用户可以将连接扩展为更大或者将连接的尺寸减小到更小)以定义查询应当覆盖的值的范围。在一些情况下,GUI可以呈现两种不同的形状,其中形状由用户调整,并且用户可以为查询定义相似度因子。例如,用户可以将处理流的所选择的形状修改为更大或更小(例如,相对于表示在两个阶段之间流动的日志消息的数量的连接尺寸),以及与可以在用户界面处从用户设备接收形状之间的阈值相似度的百分比对应的输入。然后可以执行查询以查找具有在阈值相似度的百分比内的强度的所有形状。作为另一个示例,可以执行查询以查找具有在用户定义的连接范围内的强度的所有形状。当用户在GUI上修改形状时,后端查询被同时更新以与用户所做的修改相对应。在这些实现中,GUI可以呈现与识别或选择的形状对应的自然语言(例如,英语、人类可读语言等)查询。作为非限制性示例,可以在GUI上针对阶段A到阶段B到阶段C的所选择形状呈现的查询可以包括“阶段A连接到阶段B,阶段B连接到阶段C”。
有利地,GUI可以使得用户能够识别处理流的形状,并且作为响应,可以在GUI上呈现形状的可视化。另外,GUI可以通过拖出或拖入边界线然后点击“搜索”来接收与连接(例如,表示在两个阶段之间流动的日志消息的计数)的边界线的调整对应的输入。然后搜索可以针对在用户定义的边界线内的所有形状执行。
图6示出了在日志分析上下文中显示分支树的示例处理。处理600可以至少部分地由日志分析系统(例如,日志分析系统101)执行。另外,可以执行处理600以生成和显示事务流处理的流图。流图可以图示事务流处理的各个阶段和轨迹。处理600开始于方框605,其中在用户界面处接收与日志消息集合的选择对应的第一输入。在一些实现中,日志消息集合可以包括来自多个日志源的日志消息。在这些实现中,可以使用唯一的流关键字跨不同的日志源来链接日志消息。例如,流关键字可以用于链接在第一日志源处记录的日志消息和在第二日志源处记录的另一个日志消息。在一些实现中,日志消息集合可以由单个日志源记录。在这些实现中,流关键字可以不被包括在日志消息中或在日志消息中不可用。
在方框610处,基于接收到的第一输入来访问日志消息集合。日志消息集合可以包括日志消息集合的多个子集。日志消息集合的每个子集可以与既定的特性对应。在一些实现中,既定的特性可以包括日志消息的特定日志源。在一些实现中,既定的特性可以包括日志消息中所包括的数据点。例如,既定的特性可以是在其上处理日志消息的机器(例如,服务器)。既定的特性的其它示例可以包括机器或机器处使用的模块的严重性。
在方框615处,用户界面可以被配置为接收与分支参数的选择对应的第二输入,该分支参数被配置为促进流图中的一条或多条路径的分支。在一些实现中(例如,在日志消息包括流关键字的情况下),分支参数可以是用于链接跨不同日志源记录的日志消息的流关键字。在一些实现中(例如,在不使用流关键字的情况下),分支参数可以是用于定义流图的分支的基本变量。例如,在这些实现中,分支参数可以是用户选择向下钻取的字符。在选择参数后,参数的不同值可以用于定义分支。作为非限制性示例,如果参数是在日志源中处理日志消息的“机器”,那么该参数可以是表示处理日志消息的若干不同机器的基本变量。因此,流图可以包括到每个不同机器的分支,表示参数的不同值。
在方框620处,可以确定流图的第一桶。例如,第一桶可以表示日志源中的所有日志消息集合。在方框625处,可以确定一个或多个第二桶。在一些实现中,可以通过参数来过滤日志消息集合,并且每个过滤结果(例如,通过参数的特定值来过滤日志消息集合)可以与第二桶相对应。例如,一个或多个第二桶可以表示参数的值的分布(例如,针对“机器名称”参数的不同值)。另外,被包括在第二桶中的每个日志消息与该第二桶的参数(例如,既定的特性)的特定值相对应。例如,第二桶中表示参数的特定值的每个日志消息可以包括该特定值。由此,一个或多个第二桶是通过参数的不同值来过滤第一桶的过滤结果。在方框630处,可以定义从第一桶到一个或多个第二桶中的每个桶的路径。
在方框635处,可以生成GUI,该GUI包括流图的一条或多条路径的可视化。GUI的非限制性示例在图7和图9中示出。例如,一条或多条路径中的路径可以在视觉上将第一桶与第二桶连接。将认识到的是,流图可以包括若干级别(例如,与第一桶对应的第一级别、与第二桶对应的第二级别、与第三桶对应的第三级别等),如图7和图9中所示。图7图示了如果事务流使用流关键字则呈现流图的GUI的示例,并且图9图示了呈现没有流关键字的流图的GUI的示例(例如,参数的值的分布而不是流的阶段如图7中表示)。在方框640处,可以显示包括可视化的GUI。
图7示出了在用户设备(例如,与管理员相关联的管理员设备)上呈现的界面的示例呈现。界面700可以促进识别处理流并且呈现识别出的处理流的一个或多个阶段的可视表示(例如,流图、Sankey图等)。例如,界面700可以包括处理流705的可视表示。
处理流705可以包括包含一个或多个阶段的业务流(例如,处理流)的一个或多个阶段。在一些实施例中,处理流可以由应用(例如,web应用)执行。例如,处理流可以是当用户登录网站并执行一个或多个动作(例如,检查电子邮件、给手机充分钟数、购买物品等)时发生的阶段流程。由处理流生成的数据(例如,与作为处理流的一部分访问服务器的用户设备之间的交互相关的数据)可以由各种软件模块管理。软件模块可以跟踪或记录在流的特定阶段期间涉及的交互,并将日志存储在日志文件(例如,日志源)中。日志文件可以包括一个或多个日志记录(例如,日志消息),使得每个记录表示用户设备和服务器之间的交互。另外,每个记录可以包括与交互相关的各种数据(例如,事务标识符(ID)、用户ID、会话ID、生成日志记录时的时间戳等)。例如,如果1000个用户登录到网站,那么日志文件可以包括登录到该网站的每个用户的记录(例如,至少1000个日志记录)以及与每个用户的登录相关的信息(例如,时间戳、用户ID、会话ID、登录是否成功、管理日志记录的软件模块是否正确执行等)。
在一些实施例中,本公开的系统和方法可以促进将事务分组或桶分化成间隔(例如,1小时的时间间隔),使得存在整个处理流的针对每个时间间隔的快照。有利地,将事务桶分化成间隔可以使管理员能够随时间通过比较快照来分析处理流或排除处理流的故障。
再次参考图7中所示的示例,处理流705可以包括阶段StepA(步骤A)、StepB(步骤B)、StepC(步骤C)、StepD(步骤D)和Fail(失败)。在这个示例中,StepA可以表示用户设备最初与服务器(例如,登录页面)进行交互的第一阶段。在这里,交互可以包括接收与和用户相关联的登录凭证对应的输入,并且处理登录凭证以确定登录凭证是否与授权用户相对应。另外,StepA可以与日志文件对应,该日志文件包括在特定时间间隔期间(例如,2015年5月4日10:00:00PM到10:59:59PM)用户设备和服务器之间的所有交互(例如,事务)的日志记录。另外,界面700可以呈现整个处理流705在特定时间间隔期间的快照。接下来,处理流705可以包括可以表示处理流705的事务流的下一个阶段的StepB。例如,StepB可以表示用户登录网站后的流的下一个阶段(例如,选择电子邮件收件箱中的文件夹、选择为手机充分钟数、选择要在在线平台上购买的物品等)。处理流705还可以包括StepC(例如,处理流的结账阶段),然后是StepD(例如,处理流的支付阶段)。处理流705还可以包括表示在流期间发生的故障或错误的“失败”阶段。可以选择“失败”阶段的可视表示以识别哪些日志记录指示发生了故障或错误。
作为非限制性示例,用户(例如,使用计算设备的客户)可以登录网站以对手机进行充值。在这个示例中,处理流可以包括在计算设备处呈现初始页面(例如,登录页面),然后是具有被配置为接收与来自用户的各种信息对应的输入的输入字段的页面,然后是验证页面,然后是支付网关,并且最后是最终屏幕。这个示例中的处理流将包括初始页面、用于录入信息的页面、验证页面、支付页面和最终屏幕。使用事务ID来监视或形成这些步骤中的每一个步骤。例如,当计算设备访问初始页面时,生成事务ID,然后将该事务ID包括在日志记录中。然后,当呈现下一页时,生成不同的日志记录,但是,该日志记录可以包括在登录页面处生成的事务ID。因而,可以使用事务ID来监视、日志记录或跟踪事务流。在一些实施例中,事务ID可以是包括将该特定事务与其它事务唯一地区分的唯一值的字段。
在一些实施例中,事务ID可以包括形成唯一关键字的一个或多个字段,其可以用于连接和形成事务。另外,在一些实施例中,可以通过关联多于一个的字段来使用事务ID(或由用户给出的任何自定义字段名称),如下面的示例中所示(与组合多个字段以形成唯一关键字相反)。
Logsrc1中的日志记录有field1(字段1);
Logsrc2中的日志记录有field1、field2(字段2);
Logsrc3中的日志记录有field2;
Logsrc4中的日志记录有field2、field3(字段3);
Logsrc5中的日志记录具有field3。
在这个示例中,Logsrc2中的记录包括field1和field2,并指示这些字段是相关的。另外,Logsrc4包括field2和field3,并指示这些字段是相关的。在一些实施例中,可以将field1、field2和field3确定为相关的并且是同一事务的一部分。例如,可以确定field3与field1相关,因为field3与field2相关,field2与field1相关。另外,在这个示例中,上述所有五个记录可以形成一个事务(例如,Logsrc1至Logsrc5)。
界面700可以包括菜单710,菜单710可以包括用于呈现处理流的可视表示的各种输入字段。在一些实施例中,菜单710可以包括以下输入字段:开始时间(Start Time)715、结束时间(End Time)720、日志源(Log Source)725、连接(Connect)730、通过(By)735和间隔(Interval)740。菜单710和输入字段715至735是示例性的,因此,本公开不限于此。
例如,界面700可以使用输入字段“开始时间”715来接收与开始时间对应的输入,并且使用输入字段“结束时间”720来接收结束时间。此外,界面700可以接收与流关键字对应的输入,该流关键字可以用于连接处理流中的两个或更多个日志文件(例如,阶段)。例如,界面700可以接收与以下内容对应的输入:1)使用输入字段“日志源”725的“所有”日志源、2)使用输入字段“连接”730指示要连接什么的信息,诸如日志文件、3)使用输入字段“通过”735指示哪些数据(例如,流关键字)用于在日志文件或日志源之间形成连接的信息(例如,事务ID),以及4)使用输入字段“间隔”740指示可以用于分割开始时间和结束时间之间的时间段(例如,1小时)的时间间隔的信息。
在界面700接收到与“提交”按钮的选择对应的输入之后,可以生成查询结果并在流图中示出查询结果。例如,可以通过分析处理流705中涉及的所有日志文件并使用事务ID来识别日志文件之间的连接来生成查询结果。例如,可以基于后端软件模块来识别连接。查询结果可以在视觉上被表示为流图(例如,Sankey图)并且例如示为处理流705。此外,查询可以包括获得在识别出的时间间隔期间(即,2015年5月4日10:00:00PM到10:59:59PM)发生或生成的不同的事务列表(例如,日志记录)。当获得在该间隔期间发生的日志记录集合时,然后可以生成与所获得的日志记录集合相关联的不同的日志文件列表(例如,日志源)。例如,可以获得5610个日志记录的集合,并且5610个日志记录可以来自五个不同的日志文件。根据不同的日志文件列表,可以基于时间来连接各个日志记录。例如,特定事务ID可以被包括在与StepB对应的日志文件以及与StepA对应的日志文件中的每一个中。因为事务按时间排序,所以系统可以确定StepA中的日志记录首先发生(例如,在登录阶段),然后与事务ID相关联的处理流(例如,针对特定用户)前进到StepB(例如,验证页面)。
虽然以上说明描述了使用事务ID来连接日志源,但是将认识到的是,本公开不限于连接日志源。将认识到的是,可以使用唯一流关键字或字段组合来连接日志记录中的任何字段以生成流关键字(例如,用户ID和会话ID可以是唯一关键字)。另外,连接字段可以取决于日志记录的结构以及日志记录被包括在其中的应用或流。此外,虽然系统或业务流中可以有许多软件模块,但通常存在事务流动的方向。还将认识到的是,可以在处理流705的可视表示中自动检测并表示新添加或合并到处理流中的新模块。此外,将认识到的是,输入字段“通过”735可以是呈现给用户的下拉列表。下拉列表可以包括字段的列表,每个字段与可以用于在处理流的各阶段之间连接日志记录或对日志记录进行分组的唯一流关键字相对应。可以在“通过”735输入字段中选择多于一个的字段。例如,虽然上面使用了事务ID的示例,但是字段的组合也可以用作流关键字(例如,主机ID、用户ID、会话ID等)。
如图7中所示,处理流705可以是被识别出的日志源之间的连接的可视表示。例如,在StepA(例如,登录页面)处识别出5610个事务。在这个示例中,数字5610可以表示在处理流的第一阶段期间后端软件模块在识别出的时间间隔(即,2015年5月4日10:00:00PM到10:59:59PM)期间生成了5610个日志记录(例如,每个日志记录包括唯一事务ID)。另外,处理流705指示所有5610个唯一事务都前进到StepB。处理流705还图示了5610个唯一事务的一部分前进到StepD,5610个唯一事务的另一部分前进到StepC,并且最后5610个唯一事务的剩余部分前进到“失败”阶段,指示对于这些事务发生了故障或错误。
在一些实施例中,可以将一个唯一流关键字映射到不同的流关键字,作为处理流中的相同事务的一部分。例如,处理流可以包括与若干子系统的交互。一个子系统可以使用唯一ID(例如,代理和数据源),但是当事务进行到另一个子系统(例如,Oracle子系统)时,可以生成新的唯一ID,使得内部组件使用该新ID。将认识到的是,虽然在事务中存在表示相同流的两个唯一ID,但是至少一个日志记录(例如,与新唯一ID的生成和与先前唯一ID的关系相关的日志记录)可以包含这两个唯一ID。例如,用于映射唯一流关键字的逻辑可以包括对于处理流中剩余的所有日志记录为先前使用的唯一ID换出新唯一ID的逻辑(例如,一个日志记录使用唯一ID A,另一个日志记录将唯一ID A匹配到新的唯一ID B,并且对于处理流中的所有日志记录,唯一ID B可以与唯一ID A交换)。
如上所述,5610的一小部分从StepB前进到“失败”阶段。例如,“失败”阶段可以表示与一个阶段相关联的日志记录无法使用事务ID流关键字连接到另一个阶段的另一个日志记录的情况。在一些实施例中,前进到“失败”阶段可以指示处理流中的错误或故障。在一些实施例中,前进到“失败”阶段可以指示下一阶段没有在当前时间间隔中(而是在另一个后续时间间隔中)发生。在这些实施例中,事务(针对其的下一阶段在另一个时间间隔中发生)可以被标记为例如“进行中(In Progress)”。
在一些实施例中,当取得快照时(例如,当获得在特定时间间隔期间生成的所有日志记录时),可以呈现三个事务:1)从StepA前进到StepB的所有事务;2)事务子集可能在时间间隔期间没有前进到StepB或者可能已经失败(例如,前进到“失败”阶段);和/或3)事务已经完成并且没有预期下一阶段(例如,在支付屏幕之后的最终屏幕)。
将认识到的是,其中值用于连接日志消息的任何字段都可以用作流关键字。流关键字可以来自不同的源或者利用来自相同源的不同类型标记的日志消息,这取决于如何定义日志机制。在一些情况下,日志系统可以指示所有数据来自相同的源,但是,对于特定的日志记录(例如,通知日志、事务边界日志等),用于分组的流关键字或聚类群数据集的流关键字可以是可以将不同数据集连接在一起的关键字,因为流关键字随时间被包括在各种日志消息中。
还将认识到的是,处理流中的带的尺寸(例如,表示StepA中的5610个事务的带)可以被调整尺寸,以与该阶段包括的多个日志记录的量值对应。例如,如果在StepA处表示具有唯一事务ID的40个日志记录,那么这个带将小于图7中所示的带。
此外,时间线645可以是概览图表,该概览图表表示识别出的开始时间和结束时间之间的所有时间间隔。虽然该图表被表示为线图,但是本公开不限于此。例如,时间线745的图表类型也可以是条形图。另外,时间线745可以包括不同的颜色,使得每种颜色表示特定的工作流形状(例如,流图或Sankey图的形状),在下文中参考图8描述。有利地,界面700可以清楚地表示工作流的不同形状以及工作流的形状在什么时间间隔出现。此外,所有时间间隔的时间流逝可以在时间线745中呈现。例如,视频可以按顺序次序呈现每个时间间隔的处理流(例如,处理流705)。在这个示例中,针对每个间隔的处理流的可视表示可以在移动到下一个时间间隔之前呈现既定的时间量(例如,1000毫秒)。
将认识到的是,在为每个时间间隔导出事务流模式时,也可以确定事务流模式中涉及的目标列表。根据事务流模式和确定的目标列表,可以自动导出拓扑并在界面700上呈现。
图8示出了在用户设备(例如,与管理员相关联的管理员设备)上呈现的界面的示例呈现。在一些实施例中,界面800可以包括图形805和表810。虽然图8将图形805示出为饼图,但是本公开不限于此,因此,图形805可以是任何类型的图。另外,表810可以包括一个或多个列。例如,表810的列可以包括表示开始时间和结束时间之间的时间间隔的“间隔(Interval)”(如图7的菜单710中所选择的)、表示在时间间隔期间生成的日志记录中的事务ID的总数的“计数(Count)”、表示标识符(例如,整数、字母或任何其它类型的标识符)的“形状ID(Shape ID)”、表示与形状相关联的名称的“形状名称(Shape Name)”、以及表示与形状相关联的颜色的“颜色(Color)”。形状可以表示特定的流特性、流模式或事务流模式。
在一些实施例中,形状可以由数据树结构表示。例如,数据树结构可以包括一个或多个节点。节点可以表示处理流的阶段。参考图7的处理流705,处理流705的事务流模式(例如,形状)可以包括节点A(例如,StepA的阶段)到节点B(例如,StepB的阶段)、节点B到节点C(例如,StepC的阶段)、节点B到节点D(例如,StepD的阶段)、节点B到节点E(“失败”阶段)、以及节点C到D中的每一个之间的连接。每个不同的事务流模式可以被指派标识符,使得与具有相同事务流模式的处理流相关联的其它间隔被指派相同的标识符。例如,第一时间间隔具有第一事务流模式,并且第二时间间隔具有第二事务流模式。在这个示例中,如果第一事务流模式与第二事务流模式相同,那么第一事务流模式和第二事务流模式将被分组并被指派相同的标识符。将认识到的是,当两个模式具有相同的连接状态(例如,相同的节点连接结构)、具有相同或相似数量的事务流入和流出每个阶段,或者共享任何其它合适的属性时,两个事务流模式可以被分组(或聚类)。
在一些实施例中,图形805的区段820、825和830中表示的百分比可以表示具有特定流特性(可与流模式或事务流模式互换使用)的时间间隔的百分比。例如,区段825是图形805的50%,因为表810中列出的八个间隔中的四个具有连接状态ID“2”。另外,区段830是图形805的12.5%,因为表810中列出的八个间隔中的一个具有连接状态ID“3”。最后,区段820是图形805的37.5%,因为表810中列出的八个间隔中的三个具有连接状态ID“1”。
有利地,用户可以识别开始时间和结束时间之间的哪些时间间隔包括前进到“失败”阶段的事务。例如,图形805可以指示连接断开(例如,前进“失败”阶段)的时间百分比,以及哪些时间间隔包括在“失败”阶段处结束的断开连接。换句话说,图形805指示87.5%(即,50%加37.5%)的日志记录出现在该间隔中出现故障的时间间隔中。在一些实施例中,图形805可以表示前进到“失败”阶段或“进行中”阶段(在图形805中或在图形805旁边呈现的另一个图形中)的事务总数。另外,在一些实施例中,点击图形805中的形状或区段可以触发具有按故障类型过滤(例如,按子系统、主机名等过滤)的日志记录的表的呈现。在一些实施例中,可以在替代视图中呈现图形805。在一个实施例中,可以呈现图形775,其中重点在于时间间隔。在另一个实施例中,可以呈现图形805,其中重点在于跨所有时间间隔的事务或多个事务。
在一些实例中,日志文件中的事务(例如,包括事务ID的日志记录)的数量可以是日志文件的所有日志记录的子集(例如,2000万条日志记录,但200万个事务,例如,具有事务ID的日志记录)。另外,具有在一个时间间隔内生成但在另一个时间间隔之前不前进到另一个阶段的具有事务ID的日志记录可以表示为前进到“进行中”阶段。
另外,在一些实施例中,当事务最初在一个时间间隔(例如,登录阶段)中发生但是在另一个时间间隔之前没有到达完成阶段(例如,结账阶段)时,该事务可以被表示为去往“进行中”阶段的流。在其它实施例中,如果对于既定的时间段(例如,超时时段)没有与事务ID相关联的日志记录,那么事务可以前进到“失败”阶段。在一些实施例中,处理流的每个阶段可以表示在这个时间间隔中在该特定阶段中开始(或可替代地,停止)的任何事务。例如,StepA的5610个事务可以表示在StepA阶段期间生成了5610个事务。在其它实施例中,如果在特定时间间隔期间在初始阶段(例如,StepA)期间生成包括特定事务ID的日志记录,那么可以在该特定时间间隔中表示与该特定事务ID相关联的所有其它事务,无论包括该事务ID的其它事务何时发生。
在一些实施例中,基于日志记录集合,可以确定完成事务的平均时间(例如,从登录阶段到支付阶段)。在确定平均时间之后,可以向用户呈现推荐的时间间隔。可以推荐时间间隔,使得整个事务可能在基于所确定的平均时间的时间间隔内完成。在一些实施例中,用户可以调整推荐的时间间隔或继续获得在所选择的时间间隔期间生成的日志记录集合。
在一些实施例中,如果要由用户调查特定阶段(例如,支付阶段),那么用户可以查询在特定阶段期间生成的日志记录集合(例如,指示事务已在支付阶段完成的所有日志记录)。在这些实施例中,可视表示可以在从日志文件(例如,结账源)生成第一日志记录时开始被键控。例如,可视表示可以通过由用户选择的模块锚定(anchor)。作为对于可视表示的进一步定制选项,时间间隔的长度可以变化(例如,时间间隔在开始时间和结束时间之间可以是均匀的也可以不是均匀的)。例如,可以通过切断(key off)具体的数据源来确定时间间隔。将认识到的是,界面800还可以包括用于指示数据吞吐量的选项卡(tab)(未示出)。通过吞吐量选项卡,可以确定具有峰值负载或非峰值低负载的时间间隔。
在一些实施例中,界面800还可以包括时间线815。时间线815可以是任何类型的图形(例如,线图、条形图等)。此外,时间线815可以包括不同颜色的点,使得每种颜色表示特定的事务流模式。另外,将认识到的是,可以为每个唯一连接状态(例如,形状)指派特定颜色。
将认识到的是,在一些实施例中,事务流模式的可视表示可以是有向无环图。另外,在搜集顶点和连接(例如,形成节点)之后,可以计算整数并将其指派给每个唯一的事务流模式(例如,形状),使得相同的形状被指派相同的标识符。当播放视频时,若干播放选项可以是可用的,包括“在有数据的位置暂停”、“在下一个非相似形状/事务流模式处暂停”、“在下一个相似的事务流模式处暂停”、“在下一个可能异常的事务流模式(如果存在的话)处暂停”等。将认识到的是,可以基于事务流模式的形状(节点和边连接的方式)的确切匹配、每个步骤的吞吐量的量(例如,在这里,每个步骤的吞吐量的量可以不意味着连接状态(例如,形状)完全相等,但它们可以或多或少地相等)等来确定两个连接状态(例如,形状)之间的相似度。
图9示出了在用户设备(例如,与管理员相关联的管理员设备)处呈现的界面的示例呈现。在一些实施例中,日志记录可以不包括可以用于将不同日志文件中的两个或更多个日志记录分组在一起的唯一流关键字。在这些实施例中,可以提供界面900。界面900可以呈现与特定日志文件的日志记录相关联的特定特性的不同值的分布。例如,界面900可以被配置为基于用户输入来接收开始时间和结束时间和/或特定日志源的标识。
另外,界面900可以促进从识别出的日志源访问在所选择的开始时间和结束时间之间生成的日志记录。界面900还可以被配置为接收与时间间隔的选择对应的输入,该时间间隔用于拆分所选择的开始时间和结束时间之间的时间段。获得满足识别出的约束的日志记录集合(例如,在开始时间和结束时间之间生成的或在特定时间间隔期间生成的记录)。例如,桶905可以表示在特定时间间隔期间生成的日志记录的总数。界面900可以使得用户能够构造查询字符串以过滤与特定特性相关联的值的分布。例如,界面900可以接收与被包括在日志记录中的字段“机器名称(Machine Name)”的标识对应的输入。在这个示例中,界面900可以呈现桶910,其表示“机器名称”的特性的不同值的分布。换句话说,图9图示了在桶905中的214个日志记录当中,82个日志记录在机器A上生成,80个日志记录在机器B上生成,并且52个日志记录在机器C上生成。因而,在所选择的时间间隔期间,所使用的不同机器的分布包括机器A、机器B和机器C,因此,桶910示出了所选择的基本特性(例如,所选择的日志源中的日志记录的“机器名称”字段)的不同值的分布。
此外,界面900可以被配置为接收与所选择的基本特性的子特性的选择对应的输入。例如,子特性可以包括所选择的基本特性的任何特性。在图9所示的示例中,所选择的子特性是与执行软件模块的机器(例如,服务器)相关联的严重性。当选择子特性时,可以将滤波器添加到先前生成的查询串,使得可以针对基本特性的每个不同值确定子特性的值的分布。例如,对于机器A、B和C中的每一个,可以确定严重性的值的分布。如图9中所示,桶915表示机器A、B和C中的每一个的严重性的值的分布。例如,对于机器A上生成的82个日志记录的严重性值的分布包括具有严重性为“警告”的69个日志记录和具有另一个严重性值的13个日志记录。另外,界面900可以被配置为使得用户能够过滤附加的子特性(例如,生成日志记录的模块),如桶920中所示。界面900还可以被配置为使得当选择桶时,界面900可以将用户指引到桶中所包括的日志记录的表。将认识到的是,桶的高度和宽度可以与桶中所包括的日志记录的数量相对应。另外,在一些实施例中,界面900还可以包括时间线(例如,条形图、线图或任何合适的图形)(未示出),该时间线包括在所选择的开始时间和所选择的结束时间之间的日志记录的时间线。
图10描绘了用于实现实施例中的一个的分布式系统1000的简化图。在所示实施例中,分布式系统1000包括一个或多个客户端计算设备1002、1004、1006和1008,这些客户端计算设备被配置为通过一个或多个网络1010来执行和操作客户端应用,诸如web浏览器、专有客户端(例如,Oracle Forms)。服务器1012可以经由网络1010与远程客户端计算设备1002、1004、1006和1008通信地耦合。
在各种实施例中,服务器1012可以适于运行由系统的一个或多个组件提供的一个或多个服务或软件应用。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在软件即服务(SaaS)模型下被供应给客户端计算设备1002、1004、1006和/或1008的用户。操作客户端计算设备1002、1004、1006和/或1008的用户进而可以利用一个或多个客户端应用来与服务器1012进行交互以利用由这些组件提供的服务。
在图中描绘的配置中,系统1000的软件组件1018、1020和1022被示出为在服务器1012上实现。在其它实施例中,系统1000的一个或多个组件和/或由这些组件提供的服务也可以由客户端计算设备1002、1004、1006和/或1008中的一个或多个来实现。然后,操作客户端计算设备的用户可以利用一个或多个客户端应用来使用由这些组件提供的服务。这些组件可以以硬件、固件、软件或其组合来实现。应该认识到的是,各种不同的系统配置是可能的,这些系统配置可以与分布式系统1000不同。因此,图中所示的实施例是用于实现实施例系统的分布式系统的一个示例,而不旨在是限制性的。
客户端计算设备1002、1004、1006和/或1008可以是便携式手持设备(例如,蜂窝电话、/>计算平板电脑、个人数字助理(PDA))或可穿戴设备(例如,Google/>头戴式显示器),运行诸如Microsoft Windows/>和/或各种移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 10、Palm OS等)的软件,并且启用互联网、电子邮件、短消息服务(SMS)、/>或其它通信协议。客户端计算设备可以是通用个人计算机,例如包括运行各种版本的Microsoft/>Apple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种商业可用的/>或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统,诸如例如Google Chrome OS)中的任何操作系统的工作站计算机。替代地或附加地,客户端计算设备902、904、906和908可以是能够通过(一个或多个)网络910进行通信的任何其它电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft Xbox游戏控制台)和/或个人消息传送设备。
虽然示出了具有四个客户端计算设备的示例性分布式系统1000,但是可以支持任何数量的客户端计算设备。其它设备(诸如具有传感器等的设备等)可以与服务器1012进行交互。
分布式系统1000中的(一个或多个)网络1010可以是本领域技术人员熟悉的、可以使用各种商业可用的协议中的任何协议来支持数据通信的任何类型的网络,其中协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络1010可以是局域网(LAN),诸如基于以太网、令牌环等的LAN。(一个或多个)网络1010可以是广域网和互联网。它可以包括虚拟网络,包括但不限于虚拟专用网络(VPN)、内联网、外联网、公共交换电话网(PSTN)、红外网络、无线网络(例如,依据电气和电子协会(IEEE)802.11协议套件、和/或任何其它无线协议中的任何协议而操作的网络);和/或这些网络和/或其它网络的任何组合。
服务器1012可以由一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。在各种实施例中,服务器1012可以适于运行在前述公开中描述的一个或多个服务或软件应用。例如,服务器1012可以对应于用于执行以上根据本公开的实施例描述的处理的服务器。
服务器1012可以运行包括以上讨论的任何操作系统的操作系统,以及任何商业可用的服务器操作系统。服务器1012还可以运行各种附加的服务器应用和/或中间层应用中的任何应用,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle、Microsoft、Sybase、IBM(国际商业机器)等的商业可用的那些数据库服务器。
在一些实现中,服务器1012可以包括一个或多个应用,以分析和整合从客户端计算设备1002、1004、1006和1008的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于:馈送、/>更新或者从一个或多个第三方信息源和连续数据流接收到的实时更新,实时更新可以包括与传感器数据应用、金融报价机(financial ticker)、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器1012还可以包括一个或多个应用,以经由客户端计算设备1002、1004、1006和1008的一个或多个显示设备来显示数据馈送和/或实时事件。
分布式系统1000还可以包括一个或多个数据库1014和1016。数据库1014和1016可以驻留在各种位置。举例来说,数据库1014和1016中的一个或多个可以驻留在服务器1012本地(和/或驻留在服务器1012中)的非瞬态存储介质上。可替代地,数据库1014和1016可以远离服务器1012并经由基于网络的连接或专用连接与服务器1012通信。在一组实施例中,数据库1014和1016可以驻留在存储区域网络(SAN)中。类似地,用于执行归属于服务器1012的功能的任何必要文件都可以适当地本地存储在服务器1012上和/或远程存储。在一组实施例中,数据库1014和1016可以包括适于响应SQL格式的命令而存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
图11是根据本公开的实施例的系统环境1100的一个或多个组件的简化框图,通过该系统环境1100,由实施例系统的一个或多个组件提供的服务可以作为云服务供应。在所示实施例中,系统环境1100包括可以由用户使用以与提供云服务的云基础设施系统1102进行交互的一个或多个客户端计算设备1104、1106和1108。客户端计算设备可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或某种其它应用,这些应用可以由客户端计算设备的用户用来与云基础设施系统1102进行交互以使用由云基础设施系统1102提供的服务。
应当认识到的是,图中描绘的云基础设施系统1102可以具有除了所描绘的组件之外的其它组件。另外,图中所示的实施例仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统1102可以具有比图中所示更多或更少的组件、可以组合两个或更多个组件、或者可以具有不同的组件配置或布置。
客户端计算设备1104、1106和1108可以是与上面针对1102、1104、1106和1108所描述的设备类似的设备。
虽然示例性系统环境1100被示出具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。诸如具有传感器的设备等的其它设备可以与云基础设施系统1102进行交互。
(一个或多个)网络1110可以促进客户端1104、1106和1108与云基础设施系统1102之间的数据交换和通信。每个网络可以是本领域技术人员所熟悉的可以使用各种商业可用的协议(包括上面针对(一个或多个)网络1110所描述的那些协议)中的任何协议来支持数据通信的任何类型的网络。
云基础设施系统1102可以包括一个或多个计算机和/或服务器,其可以包括上面针对服务器1112所描述的那些计算机和/或服务器。
在某些实施例中,由云基础设施系统提供的服务可以包括按需对云基础设施系统的用户可用的许多服务,诸如在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公室(office)套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态地扩展以满足其用户的需要。由云基础设施系统提供的服务的具体实例化在本文中被称为“服务实例”。一般而言,从云服务提供商的系统经由通信网络(诸如互联网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统与客户自己的室内服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。
在一些示例中,计算机网络云基础设施中的服务可以包括对存储装置、托管的数据库、托管的web服务器、软件应用或由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储装置进行密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,以供联网的开发人员私有使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统1102可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式递送给客户的应用、中间件和数据库服务供应的套件。这种云基础设施系统的示例是由本受让人提供的Oracle公共云。
在各种实施例中,云基础设施系统1102可以适于自动供应、管理和跟踪客户对由云基础设施系统1102供应的服务的订阅。云基础设施系统1102可以经由不同的部署模型来提供云服务。例如,可以依据公共云模型来提供服务,其中云基础设施系统1102被销售云服务的组织所拥有(例如,被Oracle所拥有),并且服务对一般公众或不同行业的企业可用。作为另一个示例,可以依据私有云模型来提供服务,其中云基础设施系统1102仅针对单个组织单独地操作,并且可以为该组织内的一个或多个实体提供服务。还可以依据社区云模型来提供云服务,其中云基础设施系统1102和由云基础设施系统1102提供的服务由相关社区中的若干组织共享。还可以依据混合云模型来提供云服务,该混合云模型是两个或更多个不同模型的组合。
在一些实施例中,由云基础设施系统1002提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它服务类别下提供的一个或多个服务。客户经由订阅订单可以订购由云基础设施系统1002提供的一个或多个服务。云基础设施系统1102然后执行处理以提供客户的订阅订单中的服务。
在一些实施例中,由云基础设施系统802提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别的云服务。例如,SaaS平台可以提供在集成开发和部署平台上构建和递送按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买单独许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供销售绩效管理、企业集成和商务灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别的云服务。平台服务的示例可以包括但不限于使组织(诸如Oracle)能够在共享的公共体系架构上整合现有应用以及充分利用平台提供的共享服务来构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础架构系统提供的PaaS服务,而无需客户购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等。
通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle融合中间件服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该共享服务部署模型使得组织能够汇集数据库资源并且以数据库云的形式向客户供应数据库即服务。在云基础设施系统中,中间件云服务可以为客户提供开发和部署各种业务应用的平台,并且Java云服务可以为客户提供部署Java应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基础计算资源)的管理和控制,以供客户利用由SaaS平台和PaaS平台提供的服务。
在某些实施例中,云基础设施系统1102还可以包括基础设施资源1130,用于向云基础设施系统的客户提供用于提供各种服务的资源。在一个实施例中,基础设施资源1130可以包括预先集成和优化的硬件(诸如服务器、存储装置和联网资源)的组合,以执行由PaaS平台和SaaS平台提供的服务。
在一些实施例中,云基础设施系统1102中的资源可以由多个用户共享并且根据需要动态地重新分配。此外,可以将资源分配给在不同时区的用户。例如,云基础设施系统1130可以使在第一时区中的第一组用户能够在指定的小时数内利用云基础设施系统的资源,并且然后使相同资源能够被重新分配给位于不同时区中的另一组用户,从而使资源的利用率最大化。
在某些实施例中,可以提供由云基础设施系统1102的不同组件或模块以及由云基础设施系统1102提供的服务共享的多个内部共享服务1132。这些内部共享服务可以包括但不限于:安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统1102可以提供云基础设施系统中的云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统1102接收到的客户订阅等的能力。
在一个实施例中,如图中所绘出的,云管理功能可以由一个或多个模块(诸如订单管理模块1120、订单编排(orchestration)模块1122、订单供应模块1124、订单管理和监视模块1126,以及身份管理模块1128)提供。这些模块可以包括一个或多个计算机和/或服务器或者使用一个或多个计算机和/或服务器来提供,这些计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场、服务器集群或任何其它适当的布置/或组合。
在示例性操作1134中,使用客户端设备(诸如客户端设备1104、1106或1108)的客户可以通过请求由云基础设施系统1102提供的一个或多个服务并且对订阅由云基础设施系统1102供应的一个或多个服务下订单来与云基础设施系统1102进行交互。在某些实施例中,客户可以访问云用户界面(UI)、云UI 1012、云UI 1114和/或云UI 1116并经由这些UI下订阅订单。云基础设施系统1102响应于客户下订单而接收到的订单信息可以包括识别客户以及客户想要订阅的由云基础设施系统1102供应的一个或多个服务的信息。
在客户已经下订单之后,经由云UI 1112、1114和/或1116接收订单信息。
在操作1136处,订单存储在订单数据库1118中。订单数据库1118可以是由云基础设施系统1118操作和与其它系统元件一起操作的若干数据库中的一个。
在操作1138处,订单信息被转发到订单管理模块1120。在一些情况下,订单管理模块1120可以被配置为执行与订单相关的计费和记账功能,诸如验证订单,并且在验证后预订订单。
在操作1140处,将关于订单的信息传送到订单编排模块1122。订单编排模块1122可以利用订单信息为客户下的订单编排资源和服务的供应。在一些情况下,订单编排模块1122可以使用订单供应模块1124的服务来编排资源的供应以支持订阅的服务。
在某些实施例中,订单编排模块1122使得能够管理与每个订单相关联的业务流程并应用业务逻辑来确定订单是否应该进行到供应。在操作1142处,在接收到新订阅的订单后,订单编排模块1122向订单供应模块1124发送请求以分配资源并配置履行订阅订单所需的那些资源。订单供应模块1124使得能够为客户所订购的服务分配资源。订单供应模块1124提供用于供应用于提供所请求的服务的资源的物理实现层和由云基础设施系统1100提供的云服务之间的抽象层。因此,订单编排模块1122可以与实现细节(诸如服务和资源实际上是即时供应的还是预先供应并仅在请求后进行分配/指派)相隔离。
在操作1144处,一旦供应了服务和资源,就可以通过云基础设施系统1102的订单供应模块1124向客户端设备1104、1106和/或1108上的客户发送所提供服务的通知。
在操作1146处,订单管理和监视模块1126可以管理和跟踪客户的订阅订单。在一些情况下,订单管理和监视模块1126可以被配置为收集对订阅订单中的服务的使用统计信息,诸如所使用的存储量、传输的数据量、用户的数量,以及系统运行时间量和系统停机时间量。
在某些实施例中,云基础设施系统1100可以包括身份管理模块1128。身份管理模块1128可以被配置为提供身份服务,诸如云基础设施系统1100中的访问管理和授权服务。在一些实施例中,身份管理模块1128可以控制关于希望利用由云基础设施系统1102提供的服务的客户的信息。这样的信息可以包括认证这些客户的身份的信息以及描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行哪些动作的信息。身份管理模块1128还可以包括对关于每个客户的描述性信息以及关于可以如何和由谁来访问和修改该描述性信息的管理。
图12图示了其中可以实现本发明的各种实施例的示例性计算机系统1200。系统1200可以用于实现上述计算机系统中的任何计算机系统。如图所示,计算机系统1200包括经由总线子系统1202与多个外围子系统进行通信的处理单元1204。这些外围子系统可以包括处理加速单元1206、I/O子系统908、存储子系统918和通信子系统1224。存储子系统1218包括有形计算机可读存储介质1222和系统存储器1210。
总线子系统1202提供用于让计算机系统1200的各种组件和子系统按意图彼此进行通信的机制。虽然总线子系统1202被示意性地示出为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1202可以是若干种类型的总线结构中的任何类型,这些总线类型包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系架构中的任何体系架构的局部总线。例如,这种体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,这些总线可以被实现为按IEEE P1386.1标准制造的夹层(Mezzanine)总线。
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元1204控制计算机系统1200的操作。一个或多个处理器可以被包括在处理单元1204中。这些处理器可以包括单核处理器或多核处理器。在某些实施例中,处理单元1204可以被实现为一个或多个独立的处理单元1232和/或1234,其中在每个处理单元中包括单核处理器或多核处理器。在其它实施例中,处理单元1204也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例中,处理单元1204可以响应于程序代码来执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,将执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器1204中和/或存储子系统1218中。通过适当的编程,(一个或多个)处理器1204可以提供上述各种功能。计算机系统1200可以附加地包括处理加速单元1206,该处理加速单元1206可以包括数字信号处理器(DSP)、专用处理器等。
I/O子系统1208可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球的指向设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、小键盘、具有语音命令辨识系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括例如运动感测和/或手势辨识设备,诸如Microsoft运动传感器,该运动传感器使得用户能够通过使用手势和语音命令的自然用户接口来控制诸如Microsoft/>游戏控制器的输入设备并与其进行交互。用户接口输入设备也可以包括眼睛姿势辨识设备,诸如从用户检测眼睛活动(例如,当拍摄照片和/或进行菜单选择时的“眨眼”)并且将眼睛姿势变换为进入输入设备(例如,Google/>)中的输入的Google/>眨眼检测器。此外,用户接口输入设备可以包括使得用户能够通过语音命令与语音辨识系统(例如,/>导航器)进行交互的语音辨识感测设备。
用户接口输入设备也可以包括但不限于:三维(3D)鼠标、操纵杆或指向杆(pointing stick)、游戏面板和绘图板,以及音频/视觉设备(诸如扬声器)、数码相机、数码摄录机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括例如医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层显像、医疗超声设备。用户接口输入设备也可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统1200向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于:可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备以及调制解调器。
计算机系统1200可以包括存储子系统1218,存储子系统1218包括被示出为当前位于系统存储器1210内的软件元件。系统存储器1210可以存储可加载到处理单元1204上并且可在处理单元1204上执行的程序指令,以及在这些程序的执行期间所生成的数据。
取决于计算机系统1200的配置和类型,系统存储器1210可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等)。RAM通常包含可被处理单元1204立即访问和/或目前正在被处理单元1204操作和执行的数据和/或程序模块。在一些实现中,系统存储器1210可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实现中,诸如在启动期间,包含有助于在计算机系统1200内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。作为示例而非限制,系统存储器1210也示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序1212、程序数据1214、以及操作系统1216。作为示例,操作系统1216可以包括各种版本的MicrosoftApple/>和/或Linux操作系统、各种商业可用的/>或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google/>OS等)和/或诸如iOS、/>Phone、/>OS、/>10OS和/>OS操作系统的移动操作系统。
存储子系统1218也可以提供用于存储提供一些实施例的功能的基本编程和数据构造的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统1218中。这些软件模块或指令可以被处理单元1204执行。存储子系统1218也可以提供用于存储根据本发明使用的数据的储存库。
存储子系统1218也可以包括可被进一步连接到计算机可读存储介质1222的计算机可读存储介质读取器1220。与系统存储器1210一起并且可选地与系统存储器1210相结合,计算机可读存储介质1222可以全面地表示用于临时和/或更持久地包含、存储、发送和检索计算机可读信息的远程、本地、固定和/或可移动的存储设备加存储介质。
包含代码或代码的一部分的计算机可读存储介质1222也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于:以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储设备、或者其它有形计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输,或者可以用于发送期望信息并且可以被计算系统1000访问的任何其它介质。
作为示例,计算机可读存储介质1222可以包括从不可移动的非易失性磁介质读取或写入到不可移动的非易失性磁介质的硬盘驱动器、从可移动的非易失性磁盘读取或写入到可移动的非易失性磁盘的磁盘驱动器、以及从可移动的非易失性光盘(诸如CD ROM、DVD和(蓝光)盘或其它光学介质)读取或写入到可移动的非易失性光盘的光盘驱动器。计算机可读存储介质1222可以包括但不限于:/>驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字音频带等。计算机可读存储介质1022也可以包括:基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如基于固态RAM、动态RAM、静态RAM、DRAM的SSD、磁阻RAM(MRAM)SSD)、以及使用基于DRAM和基于闪存存储器的SSD的组合的混合SSD。盘驱动器及其关联的计算机可读介质可以为计算机系统1200提供计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储。
通信子系统1224提供到其它计算机系统和网络的接口。通信子系统1224用作用于从其它系统接收数据以及从计算机系统1200向其它系统发送数据的接口。例如,通信子系统1224可以使计算机系统1200能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统1224可以包括用于(例如,使用蜂窝电话技术、先进数据网络技术,诸如3G、4G或EDGE(用于全球演进的增强型数据速率)、WiFi(IEEE 802.11系列标准)或其它移动通信技术、或者其任何组合)访问无线语音和/或数据网络的射频(RF)收发器组件、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,作为无线接口的附加或者替代,通信子系统1224可以提供有线网络连接(例如,以太网)。
在一些实施例中,通信子系统1224也可以代表可以使用计算机系统1200的一个或多个用户来接收以结构化和/或非结构化数据馈送1226、事件流1228、事件更新1230等形式的输入通信。
作为示例,通信子系统1224可以被配置为实时地从社交网络和/或其它通信服务的用户接收数据馈送1226,诸如馈送、/>更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统1224也可以被配置为接收处于连续数据流形式的数据,该数据可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流1228和/或事件更新1230。生成连续数据的应用的示例可以包括,例如,传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统1224也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送1226、事件流1228、事件更新1230等,该一个或多个数据库可以与耦合到计算机系统1200的一个或多个流传输数据源计算机进行通信。
计算机系统1200可以是各种类型中的一种类型,包括手持便携式设备(例如,蜂窝电话、/>计算平板电脑、PDA)、可穿戴设备(例如,Google/>头戴式显示器)、PC、工作站、大型机、信息站(kiosk)、服务器机架、或任何其它数据处理系统。
由于计算机和网络的不断变化的本质,在图中绘出的计算机系统1200的描述仅旨在作为具体的示例。具有比图中绘出的系统更多或更少的组件的许多其它配置是可能的。例如,定制的硬件也可以被使用和/或特定的元素可以在硬件、固件、软件(包括小应用程序(applet))或其组合中实现。另外,可以采用到诸如网络输入/输出设备的其它计算设备的连接。基于本文提供的公开内容和教导,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。
在前述说明书中,参考本发明的各方面的具体实施例对本发明的各方面进行了描述,但是本领域技术人员将认识到的是,本发明不限于此。上述发明的各个特征和方面可以被单独使用或联合使用。另外,在不脱离本说明书的更广泛精神和范围的情况下,可以在除本文所述的那些环境和应用之外的任何数目的环境和应用中利用实施例。对应地,本说明书和附图应当被认为是说明性的而不是限制性的。

Claims (21)

1.一种计算机实现的方法,所述方法包括:
针对多个数据集中的每个数据集定义多阶段结构,所述多个数据集中的每个数据集表示与处理流相关联的日志消息集合,其中:
与每个数据集相关联的多阶段结构包括树结构,所述树结构包括节点集合和节点连接集合;
所述节点集合中的每个节点表示处理流的多个阶段中的阶段,所述多个阶段中的每个阶段表示时间序列中的事件;以及
所述节点连接集合中的每个特定节点连接被配置为将所述节点集合中的第一特定节点与所述节点集合中的第二特定节点连接;
针对多个多阶段结构中的每个多阶段结构确定该多阶段结构的形状,该形状表示与该数据集相关联的处理流的所述多个阶段的时间序列,其中形状的确定至少基于所述节点集合的树结构和所述节点连接集合的连接强度集合,所述连接强度集合中的每个连接强度表示所述日志消息集合中的日志消息在所述节点集合中的对应节点之间转换的量;
针对所述多个多阶段结构中的每个多阶段结构并且使用所述多个阶段的时间序列和所述连接强度集合,确定与所确定的多阶段结构的形状对应的形状标识符;
使用散列算法将所述多个多阶段结构聚类为一个或多个集群,其中所述一个或多个集群中的每个集群包括所述多个多阶段结构中的一个或多个多阶段结构,并且其中对于所述一个或多个集群中的每个集群,对该集群中的所述一个或多个多阶段结构所对应的数据结构执行散列算法将得到相同的散列值,并且被指派给所述集群的所述一个或多个多阶段结构中的每个多阶段结构的形状标识符是相同的;以及
显示呈现所聚类的多个多阶段结构的可视化的图形用户界面(GUI),其中所述可视化包括一个或多个区段,其中所述一个或多个区段中的每个区段表示所述一个或多个集群中的一个集群。
2.如权利要求1所述的计算机实现的方法,其中所述可视化包括一个或多个字段,所述一个或多个字段被配置为接受识别一个或多个数据集群中的每个数据集群的名称的输入。
3.如权利要求2所述的计算机实现的方法,其中不将表示第一多阶段结构的第一形状与表示第二多阶段结构的第二形状进行聚类,其中第一形状与第二形状彼此不同。
4.如权利要求1所述的计算机实现的方法,其中所述多个数据集中的每个数据集与不同的时间段相关联,并且其中,对于所述多个数据集中的每个数据集,所述日志消息集合中的每个日志消息与时间段内的时间戳相关联。
5.如权利要求1所述的计算机实现的方法,其中对第一多阶段结构和第二多阶段结构中的每一个执行散列算法,其中执行散列算法生成散列值,并且其中对于第一多阶段结构和第二多阶段结构中的每一个的散列值是相同的。
6.如权利要求5所述的计算机实现的方法,其中散列算法接收连接集合中的每个连接的强度作为输入,并且其中所述多个数据集中的数据集的聚类还至少部分地基于所述连接集合中的每个连接的所述强度。
7.如权利要求1所述的计算机实现的方法,还包括:
访问被配置为预测处理流的故障阶段的机器学习模型;
接收未标记的一个或多个新日志消息;
将所述一个或多个新日志消息馈送到所述机器学习模型中;
基于所述机器学习模型的输出,识别与所述一个或多个新日志消息相关联的新形状;以及
将所述新形状与一个或多个现有形状进行比较,以识别所述新形状是否与所述一个或多个现有形状中的现有形状相对应,其中该现有形状包括所述处理流的故障阶段。
8.一种用于从日志文件识别处理流并使流可视化的系统,包括:
一个或多个数据处理器;以及
包含指令的非瞬态计算机可读存储介质,所述指令当在所述一个或多个数据处理器上执行时,使所述一个或多个数据处理器执行包括以下的操作:
针对多个数据集中的每个数据集定义多阶段结构,所述多个数据集中的每个数据集表示与处理流相关联的日志消息集合,其中:
与每个数据集相关联的多阶段结构包括树结构,所述树结构包括节点集合和节点连接集合;
所述节点集合中的每个节点表示处理流的多个阶段中的阶段,所述多个阶段中的每个阶段表示时间序列中的事件;以及
所述节点连接集合中的每个特定节点连接被配置为将所述节点集合中的第一特定节点与所述节点集合中的第二特定节点连接;针对多个多阶段结构中的每个多阶段结构确定该多阶段结构的形状,该形状表示与该数据集相关联的处理流的所述多个阶段的时间序列,其中形状的确定至少基于所述节点集合的树结构和所述节点连接集合的连接强度集合,所述连接强度集合中的每个连接强度表示所述日志消息集合中的日志消息在所述节点集合中的对应节点之间转换的量;
针对所述多个多阶段结构中的每个多阶段结构并且使用所述多个阶段的时间序列和所述连接强度集合,确定与所确定的多阶段结构的形状对应的形状标识符;
使用散列算法将所述多个多阶段结构聚类为一个或多个集群,其中所述一个或多个集群中的每个集群包括所述多个多阶段结构中的一个或多个多阶段结构,并且其中对于所述一个或多个集群中的每个集群,对该集群中的所述一个或多个多阶段结构所对应的数据结构执行散列算法将得到相同的散列值,并且被指派给所述集群的所述一个或多个多阶段结构中的每个多阶段结构的形状标识符是相同的;以及
显示呈现所聚类的多个多阶段结构的可视化的图形用户界面(GUI),其中所述可视化包括一个或多个区段,其中所述一个或多个区段中的每个区段表示所述一个或多个集群中的一个集群。
9.如权利要求8所述的系统,其中所述可视化包括一个或多个字段,所述一个或多个字段被配置为接受识别一个或多个数据集群中的每个数据集群的名称的输入。
10.如权利要求9所述的系统,其中不将表示第一多阶段结构的第一形状与表示第二多阶段结构的第二形状进行聚类,其中第一形状与第二形状彼此不同。
11.如权利要求8所述的系统,其中所述多个数据集中的每个数据集与不同的时间段相关联,并且其中,对于所述多个数据集中的每个数据集,所述日志消息集合中的每个日志消息与时间段内的时间戳相关联。
12.如权利要求8所述的系统,其中对第一多阶段结构和第二多阶段结构中的每一个执行散列算法,其中执行散列算法生成散列值,并且其中对于第一多阶段结构和第二多阶段结构中的每一个的散列值是相同的。
13.如权利要求12所述的系统,其中散列算法接收连接集合中的每个连接的强度作为输入,并且其中所述多个数据集中的数据集的聚类还至少部分地基于所述连接集合中的每个连接的所述强度。
14.如权利要求8所述的系统,其中所述操作还包括:
访问被配置为预测处理流的故障阶段的机器学习模型;
接收未标记的一个或多个新日志消息;
将所述一个或多个新日志消息馈送到所述机器学习模型中;
基于所述机器学习模型的输出,识别与所述一个或多个新日志消息相关联的新形状;以及
将所述新形状与一个或多个现有形状进行比较,以识别所述新形状是否与所述一个或多个现有形状中的现有形状相对应,其中该现有形状包括所述处理流的故障阶段。
15.一种非瞬态机器可读存储介质,包括被配置为使数据处理装置执行包括以下的操作的指令:
针对多个数据集中的每个数据集定义多阶段结构,所述多个数据集中的每个数据集表示与处理流相关联的日志消息集合,其中:
与每个数据集相关联的多阶段结构包括树结构,所述树结构包括节点集合和节点连接集合;
所述节点集合中的每个节点表示处理流的多个阶段中的阶段,所述多个阶段中的每个阶段表示时间序列中的事件;以及
所述节点连接集合中的每个特定节点连接被配置为将所述节点集合中的第一特定节点与所述节点集合中的第二特定节点连接;
针对多个多阶段结构中的每个多阶段结构确定该多阶段结构的形状,该形状表示与该数据集相关联的处理流的所述多个阶段的时间序列,其中形状的确定至少基于所述节点集合的树结构和所述节点连接集合的连接强度集合,所述连接强度集合中的每个连接强度表示所述日志消息集合中的日志消息在所述节点集合中的对应节点之间转换的量;
针对所述多个多阶段结构中的每个多阶段结构并且使用所述多个阶段的时间序列和所述连接强度集合,确定与所确定的多阶段结构的形状对应的形状标识符;
使用散列算法将所述多个多阶段结构聚类为一个或多个集群,其中所述一个或多个集群中的每个集群包括所述多个多阶段结构中的一个或多个多阶段结构,并且其中对于所述一个或多个集群中的每个集群,对该集群中的所述一个或多个多阶段结构所对应的数据结构执行散列算法将得到相同的散列值,并且被指派给所述集群的所述一个或多个多阶段结构中的每个多阶段结构的形状标识符是相同的;以及
显示呈现所聚类的多个多阶段结构的可视化的图形用户界面(GUI),其中所述可视化包括一个或多个区段,其中所述一个或多个区段中的每个区段表示所述一个或多个集群中的一个集群。
16.如权利要求15所述的非瞬态机器可读存储介质,其中所述可视化包括一个或多个字段,所述一个或多个字段被配置为接受识别一个或多个数据集群中的每个数据集群的名称的输入。
17.如权利要求15所述的非瞬态机器可读存储介质,其中所述多个数据集中的每个数据集与不同的时间段相关联,并且其中,对于所述多个数据集中的每个数据集,所述日志消息集合中的每个日志消息与时间段内的时间戳相关联。
18.如权利要求16所述的非瞬态机器可读存储介质,其中不将表示第一多阶段结构的第一形状与表示第二多阶段结构的第二形状进行聚类,其中第一形状与第二形状彼此不同。
19.如权利要求15所述的非瞬态机器可读存储介质,其中对第一多阶段结构和第二多阶段结构中的每一个执行散列算法,其中执行散列算法生成散列值,并且其中对于第一多阶段结构和第二多阶段结构中的每一个的散列值是相同的。
20.如权利要求19所述的非瞬态机器可读存储介质,其中散列算法接收连接集合中的每个连接的强度作为输入,并且其中所述多个数据集中的数据集的聚类还至少部分地基于所述连接集合中的每个连接的所述强度。
21.一种包括用于执行如权利要求1-7中任一项所述的计算机实现的方法的部件的装置。
CN201780065741.XA 2016-10-24 2017-10-17 用于从日志文件识别处理流并使流可视化的系统和方法 Active CN109844781B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662412035P 2016-10-24 2016-10-24
US62/412,035 2016-10-24
US15/610,200 2017-05-31
US15/610,200 US11983639B2 (en) 2016-10-24 2017-05-31 Systems and methods for identifying process flows from log files and visualizing the flow
PCT/US2017/056944 WO2018080840A1 (en) 2016-10-24 2017-10-17 Systems and methods for identifying process flows from log files and visualizing the flow

Publications (2)

Publication Number Publication Date
CN109844781A CN109844781A (zh) 2019-06-04
CN109844781B true CN109844781B (zh) 2024-03-22

Family

ID=61969804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780065741.XA Active CN109844781B (zh) 2016-10-24 2017-10-17 用于从日志文件识别处理流并使流可视化的系统和方法

Country Status (5)

Country Link
US (1) US11983639B2 (zh)
EP (1) EP3529757A1 (zh)
KR (2) KR102548705B1 (zh)
CN (1) CN109844781B (zh)
WO (1) WO2018080840A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474513B2 (en) * 2016-10-11 2019-11-12 Oracle International Corporation Cluster-based processing of unstructured log messages
US11983639B2 (en) 2016-10-24 2024-05-14 Oracle International Corporation Systems and methods for identifying process flows from log files and visualizing the flow
US10262124B2 (en) * 2017-01-18 2019-04-16 Bank Of America Corporation Autonomous software containers
US10713271B2 (en) * 2017-02-10 2020-07-14 Oracle International Corporation Querying distributed log data using virtual fields defined in query strings
US11150973B2 (en) * 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
US10692254B2 (en) * 2018-03-02 2020-06-23 International Business Machines Corporation Systems and methods for constructing clinical pathways within a GUI
US10949232B2 (en) 2018-09-20 2021-03-16 Red Hat Israel, Ltd. Managing virtualized computing resources in a cloud computing environment
US10885087B2 (en) * 2018-11-13 2021-01-05 International Business Machines Corporation Cognitive automation tool
EP3899713A4 (en) * 2018-12-20 2022-09-07 Lukka, Inc. GAIN AND LOSS CALCULATION FOR CRYPTOCURRENCIES TRANSACTIONS
JP7139976B2 (ja) * 2019-01-29 2022-09-21 日本電信電話株式会社 ログ可視化装置、ログ可視化方法およびログ可視化プログラム
US11409644B2 (en) 2019-03-11 2022-08-09 Microstrategy Incorporated Validation of mobile device workflows
US11676063B2 (en) * 2019-03-28 2023-06-13 International Business Machines Corporation Exposing payload data from non-integrated machine learning systems
CN110297628B (zh) * 2019-06-11 2023-07-21 东南大学 一种基于同源相关性的api推荐方法
JP7379021B2 (ja) * 2019-08-29 2023-11-14 株式会社東芝 距離計測装置、距離計測方法、及び速度計測装置
US20210065078A1 (en) * 2019-08-30 2021-03-04 Microstrategy Incorporated Automated workflows enabling selective interaction with users
US11354216B2 (en) 2019-09-18 2022-06-07 Microstrategy Incorporated Monitoring performance deviations
WO2021062739A1 (zh) * 2019-09-30 2021-04-08 华为技术有限公司 一种分布式系统中消息的同步方法及装置
US11966774B2 (en) 2019-10-25 2024-04-23 Microstrategy Incorporated Workflow generation using multiple interfaces
US11606262B2 (en) * 2019-11-08 2023-03-14 International Business Machines Corporation Management of a computing system with multiple domains
EP3822725A1 (en) 2019-11-15 2021-05-19 General Electric Company Systems, and methods for diagnosing an additive manufacturing device
US11909653B2 (en) * 2020-01-15 2024-02-20 Vmware, Inc. Self-learning packet flow monitoring in software-defined networking environments
US11558255B2 (en) 2020-01-15 2023-01-17 Vmware, Inc. Logical network health check in software-defined networking (SDN) environments
US11475049B2 (en) * 2020-01-31 2022-10-18 Salesforce, Inc. Methods and systems for organization extensibility and cluster scalability
US11250015B2 (en) 2020-02-07 2022-02-15 Coupang Corp. Systems and methods for low-latency aggregated-data provision
CN111324582B (zh) * 2020-02-18 2023-05-02 支付宝(中国)网络技术有限公司 对业务处理行为进行可视化回溯处理方法及装置
US11526486B2 (en) * 2020-04-08 2022-12-13 Paypal, Inc. Time-based data retrieval prediction
CN111782620A (zh) * 2020-06-19 2020-10-16 多加网络科技(北京)有限公司 一种信用链路自动跟踪平台及其方法
US20220046038A1 (en) * 2020-08-06 2022-02-10 Zscaler, Inc. Live log analysis for real-time data manipulation and visualization of a large data set
CN112015656B (zh) * 2020-09-01 2023-08-15 中国银行股份有限公司 一种工作流设计器的可视化调试方法及装置
WO2022248892A1 (en) * 2021-05-26 2022-12-01 Citrix Systems, Inc. Reconstructing execution call flows to detect anomalies
KR102393609B1 (ko) * 2022-02-28 2022-05-02 지철 설치 장소에 따른 사용자의 선호가 반영된 맞춤형 화면을 제공하는 키오스크 서비스 시스템
KR102529974B1 (ko) * 2022-02-28 2023-05-04 김은경 관리자의 선호가 반영된 맞춤형 화면을 제공하는 포스 서비스 시스템
KR20230140201A (ko) 2022-03-29 2023-10-06 경북대학교 산학협력단 시스템 로그 유형 분석 방법 및 장치
CN114816243B (zh) * 2022-03-31 2023-02-03 北京优特捷信息技术有限公司 日志压缩方法、装置、电子设备及存储介质
KR102486087B1 (ko) * 2022-09-16 2023-01-09 오픈나루 주식회사 Msa에서의 호출관계 추적 및 이에 따른 로그정보 디스플레이 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604035A (zh) * 2003-09-30 2005-04-06 联想(北京)有限公司 一种日志分析系统及基于该系统的分析方法
CN105653444A (zh) * 2015-12-23 2016-06-08 北京大学 基于互联网日志数据的软件缺陷故障识别方法和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504995B2 (en) 2007-05-09 2013-08-06 Accenture Global Services Limited Process flow analysis based on processing artifacts
US8381193B2 (en) 2007-09-06 2013-02-19 International Business Machines Corporation Apparatus, system, and method for visual log analysis
US7912946B2 (en) 2008-01-25 2011-03-22 International Business Machines Corporation Method using footprints in system log files for monitoring transaction instances in real-time network
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US8209567B2 (en) 2010-01-28 2012-06-26 Hewlett-Packard Development Company, L.P. Message clustering of system event logs
US20110225565A1 (en) 2010-03-12 2011-09-15 Van Velzen Danny Optimal incremental workflow execution allowing meta-programming
US9053430B2 (en) * 2012-11-19 2015-06-09 Qualcomm Incorporated Method and apparatus for inferring logical dependencies between random processes
US20140337069A1 (en) 2013-05-08 2014-11-13 Infosys Limited Deriving business transactions from web logs
US9244755B2 (en) 2013-05-20 2016-01-26 Vmware, Inc. Scalable log analytics
US9405755B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
US9367809B2 (en) * 2013-10-11 2016-06-14 Accenture Global Services Limited Contextual graph matching based anomaly detection
US20150242431A1 (en) 2014-02-25 2015-08-27 Ca, Inc. Computer system log file analysis based on field type identification
US9779005B2 (en) 2014-06-24 2017-10-03 Ca, Inc. Analyzing log streams based on correlations between data structures of defined node types
JP5988447B2 (ja) * 2014-08-28 2016-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ログメッセージのフォーマットを推定する方法、並びに、その為のコンピュータ及びコンピュータ・プログラム
US10423624B2 (en) 2014-09-23 2019-09-24 Entit Software Llc Event log analysis
KR101556541B1 (ko) * 2014-10-17 2015-10-02 한국과학기술정보연구원 고부하 경로 기반의 복합 이벤트 처리 장치 및 그 방법
US10607176B2 (en) * 2015-08-07 2020-03-31 Sap Se Building business objects based on Sankey diagram
US10628775B2 (en) * 2015-08-07 2020-04-21 Sap Se Sankey diagram graphical user interface customization
US10038710B2 (en) 2015-12-22 2018-07-31 Sap Se Efficient identification of log events in enterprise threat detection
US20170206268A1 (en) 2016-01-20 2017-07-20 International Business Machines Corporation Visualization of graphical representations of log files
US11423053B2 (en) * 2016-01-30 2022-08-23 Micro Focus Llc Log event cluster analytics management
US11392620B2 (en) * 2016-06-14 2022-07-19 Micro Focus Llc Clustering log messages using probabilistic data structures
US10861202B1 (en) * 2016-07-31 2020-12-08 Splunk Inc. Sankey graph visualization for machine data search and analysis system
US11983639B2 (en) 2016-10-24 2024-05-14 Oracle International Corporation Systems and methods for identifying process flows from log files and visualizing the flow

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604035A (zh) * 2003-09-30 2005-04-06 联想(北京)有限公司 一种日志分析系统及基于该系统的分析方法
CN105653444A (zh) * 2015-12-23 2016-06-08 北京大学 基于互联网日志数据的软件缺陷故障识别方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Failure prediction based on log files using Random Indexing and Support Vector Machines;Ilenia Fronza;《The Journal of Systems and Software》;20120628;第1页右栏 *

Also Published As

Publication number Publication date
EP3529757A1 (en) 2019-08-28
US20180114126A1 (en) 2018-04-26
KR102548705B1 (ko) 2023-06-28
CN109844781A (zh) 2019-06-04
KR20190075972A (ko) 2019-07-01
US20180113578A1 (en) 2018-04-26
US11983639B2 (en) 2024-05-14
KR20220156985A (ko) 2022-11-28
WO2018080840A1 (en) 2018-05-03
KR102471165B1 (ko) 2022-11-28

Similar Documents

Publication Publication Date Title
CN109844781B (zh) 用于从日志文件识别处理流并使流可视化的系统和方法
CN110832453B (zh) 使用基于云的系统的应用的分布式版本控制
US10713271B2 (en) Querying distributed log data using virtual fields defined in query strings
US11263241B2 (en) Systems and methods for predicting actionable tasks using contextual models
US10474513B2 (en) Cluster-based processing of unstructured log messages
US10733079B2 (en) Systems and methods for end-to-end testing of applications using dynamically simulated data
US10310969B2 (en) Systems and methods for test prediction in continuous integration environments
US11354836B2 (en) Systems and methods for displaying representative samples of tabular data
US20180349482A1 (en) Automatic triage model execution in machine data driven monitoring automation apparatus with visualization
CN110023901B (zh) 用于更新基于云的多层应用栈的系统和方法
US20160117566A1 (en) Screenshot database for application verification
US11870741B2 (en) Systems and methods for a metadata driven integration of chatbot systems into back-end application services
US11676345B1 (en) Automated adaptive workflows in an extended reality environment
US12014283B2 (en) Systems and methods for identifying process flows from log files and visualizing the flow

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