CN107291942A - 分布式日志的搜索方法和装置 - Google Patents

分布式日志的搜索方法和装置 Download PDF

Info

Publication number
CN107291942A
CN107291942A CN201710556329.XA CN201710556329A CN107291942A CN 107291942 A CN107291942 A CN 107291942A CN 201710556329 A CN201710556329 A CN 201710556329A CN 107291942 A CN107291942 A CN 107291942A
Authority
CN
China
Prior art keywords
daily record
log
log event
value
pattern
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.)
Pending
Application number
CN201710556329.XA
Other languages
English (en)
Inventor
魏晓菁
王继业
曾楠
王晋雄
郝悍勇
李云
孙磊
王思宁
冷曼
尹琴
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.)
State Grid Corp of China SGCC
Beijing China Power Information Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
Beijing Guodiantong Network Technology Co Ltd
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 State Grid Corp of China SGCC, Beijing Guodiantong Network Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201710556329.XA priority Critical patent/CN107291942A/zh
Publication of CN107291942A publication Critical patent/CN107291942A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种分布式日志的搜索方法和装置,所述方法包括:确定用户选择的指标筛选器的模式;接收用户输入的基于该模式的筛选条件;运行所述模式的指标筛选器,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。本发明可以基于保存的原始日志文件进行搜索,避免日志信息在保存过程中被丢弃,且搜索出来的日志技术人员可以直接阅读,便于技术人员根据搜索结果快速作出判断。

Description

分布式日志的搜索方法和装置
技术领域
本发明涉及计算机信息技术领域,特别是指一种分布式日志的搜索方法和装置。
背景技术
云计算环境中分布式部署了大量的物理设备、业务***,同时,也部署了运维,安全管理等的平台监控、管理***,日志信息成为平台监控、管理的重要手段,海量的、来自不同设备、***的分布式日志信息需要被多个***使用,平台中一旦设备出现问题,日志信息就成为排查故障,预防故障的重要手段。
由于云计算数据中心内物理设备、业务***的数据很多,不同设备、***使用不同协议产生自身的日志信息,目前的一种日志信息搜索与采集的方法,流程如图1所示,包括如下步骤:
S101:将不同来源的日志信息存储在存储***中,将不同类型及不同来源的日志信息进行解析,保存成为统一字符编码的日志文件。
S102:对统一字符编码的日志文件进行切分。
S103:对切分后的日志信息进行索引操作,根据日志内的关键属性,日志搜索***从非结构化日志数据中提取数据,并重新组织成为日志信息索引。
S104:根据形成的日志信息索引进行日志检索,得到所需要的日志信息。
在实际应用中,本发明的发明人发现,现有的日志信息搜索方法具有如下缺点:
由于保存的日志文件均统一字符编码,无法保留原始日志文件,而原始日志中不符合正则表达式匹配的日志行则被丢弃,因此,保存下来的可能只是部分的日志信息;此外,保存的统一字符编码的日志文件是一堆Josn格式的文本,技术人员无法阅读,不利于技术人员根据搜索结果快速判断故障。
发明内容
有鉴于此,本发明的目的在于提出一种分布式日志的搜索方法和装置,可以基于保存的原始日志文件进行搜索,避免日志信息在保存过程中被丢弃,且搜索出来的日志技术人员可以直接阅读,便于技术人员根据搜索结果快速作出判断。
基于上述目的本发明提供一种分布式日志的搜索方法,包括:
确定用户选择的指标筛选器的模式;
接收用户输入的基于该模式的筛选条件;
运行所述模式的指标筛选器,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。
其中,所述指标筛选器的模式包括:
字词匹配模式;
空格分隔的日志事件的值匹配模式;
属性标记的日志事件的值匹配模式。
其中,所述指标筛选器的模式为字词匹配模式时,所述筛选条件包括:
一个或多个用户输入的待匹配的字或词。
其中,所述指标筛选器的模式为空格分隔的日志事件的值匹配模式时,所述筛选条件包括:
以特殊字符分隔的多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符。
其中,所述指标筛选器的模式为空格分隔的日志事件的值匹配模式时,所述筛选条件包括:
以特殊字符分隔的一个省略符号,一个或多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;
其中,所述省略符号位于各日志事件的属性名称之前,或位于各日志事件的属性名称之后,或位于两个各日志事件的属性名称之间。
其中,所述指标筛选器的模式为属性标记的日志事件的值匹配模式时,所述筛选条件包括:
至少一个属性匹配单元;在一个属性匹配单元中包括:指定的属性、运算符,以及该属性的取值;
对于包括多个属性匹配单元的情况下,各属性匹配单元之间的逻辑运算符。
本发明还提供一种分布式日志的搜索装置,包括:
模式选择模块,用于确定用户选择的指标筛选器的模式;
筛选条件输入模块,用于接收用户输入的基于该模式的筛选条件;
筛选器运行模块,用于运行所述模式的指标筛选器,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。
本发明实施例的技术方案中,基于几种模式的指标筛选器,可以针对分布式网络中不同来源,不同格式的日志,以及不同的搜索需求进行搜索。这样,就不必将不同格式的日志进行统一转换,既避免了转换步骤,又可以避免转换过程中日志信息的丢弃;而搜索出的符合条件的日志为原始日志,通常技术人员可以直接阅读而获取所需要的信息。
附图说明
图1为现有技术的日志信息搜索与采集方法的流程图;
图2为本发明实施例的分布式日志的搜索方法流程图;
图3为本发明实施例的分布式日志的搜索装置内部结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明的发明人,对日志的记录方式以及通常的搜索需求进行分析,根据从中发现总结出的规律,提供了一套多模式的专用于针对日志事件进行搜索的指标筛选器。本发明技术方案的指标筛选器具有多种模式,以灵活适用于不同方式记录的日志,或灵活适用于不同的搜索需求。
由于可以灵活适用于不同方式记录的日志,因此,本发明技术方案避免了采用现有技术对日志解析后进行统一字符编码的步骤,避免原始日志中不符合正则表达式匹配的日志行则被丢弃,可以完整地保留原始日志文件的信息;
同时,利用指标筛选器筛选出符合条件的原始日志,技术人员可以直接阅读,便于技术人员根据搜索结果快速作出判断。
本发明的发明人对采集于分布式网络结构的日志信息进行分析,发现日志信息的记录方式通常有两种;一种是基于空格分隔的日志事件的记录方式,一种是基于属性标记的日志事件的记录方式。
例如,一种常见的WEB日志格式,包括以空格分隔的各日志事件的记录,是一种基于空格分隔的日志事件的记录方式。比如一个WEB日志包括了如下记录内容:
218.161.64.101–-[22/Aug/2011:09:51:46+0800]“GET/reference-and-source/weblog-format/HTTP/1.1″202 6326”http://www.***.cn/search?q=friend”“Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1)”
基于以上记录内容,这个日志可以解读为:来自"http://www.***.cn/search?q=friend"的访客,使用IE6.0浏览器,应用HTTP/1.1协议,在22/Aug/2011:09:51:46,访问(GET)了218.161.64.101主机的/reference-and-source/weblog-format/,访问成功,得到6326字节数据。
可以看到这个日志主要记录了以下几个日志事件:
访问主机(remotehost)的IP地址或者已解析的域名的日志事件;
用户标识符(Ident)的日志事件;
授权用户(authuser)的标识的日志事件;
日期时间(date)的日志事件;
用户请求(request)类型的日志事件;
用户请求资源(RESOURCE)的日志事件;
协议版本号(PROTOCOL)的日志事件;
服务器的响应状态(status)的日志事件;
传输字节数(bytes)的日志事件;
来源页面(referrer)的日志事件;
用户代理(agent)的日志事件。
而一种基于属性标记的日志事件的记录方式可以是JOSN格式的日志的记录方式。在JOSN格式的日志中以设定的格式来记录多个属性,以及各属性的值。
例如,一个JOSN格式的日志中记录了以下内容:
其中,记录有eventType属性的值为UpdateTrail,sourceIPAddress属性的值为111.111.111.111,objectList[0].name属性的值为a等。
本发明的技术方案,可以针对不同格式的日志灵活采用不同模式的指标筛选器,而不必将不同格式的日志进行统一转换,既避免了转换步骤,又可以避免转换过程中日志信息的丢弃。
下面结合附图详细说明本发明的技术方案。
本发明实施例提供的一种分布式日志的搜索方法,流程如图2所示,包括如下步骤:
S201:确定用户选择的指标筛选器的模式。
具体地,所述指标筛选器的模式可以包括:字词匹配模式、空格分隔的日志事件的值匹配模式,以及属性标记的日志事件的值匹配模式。本步骤中,用户可以从中选择一个模式。
S202:接收用户输入的基于该模式的筛选条件。
具体地,当在S201步骤中确定用户选择的模式为字词匹配模式时,该模式下的筛选条件包括:一个或多个用户输入的待匹配的字或词;或者,进一步该模式下的筛选条件可以包括:至少一个个用户输入的待匹配的字或词,以及输入的字或词之间的组合逻辑关系。比如,用户希望查找到包含词语“Failed to process the request”的日志,则在S201步骤中确定用户选择的模式为字词匹配模式,在本步骤中接收用户输入的筛选条件包括待匹配的词语“Failed to process the request”。
当在S201步骤中确定用户选择的模式为空格分隔的日志事件的值匹配模式时,该模式下的筛选条件可以包括:以特殊字符分隔的多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符。
例如,输入的一种空格分隔的日志事件的值匹配模式下的筛选条件如下:
[ip,user,username,timestamp,request,status_code,bytes>1000]
其中包括以特殊字符逗号分隔的各日志事件的属性名称:ip、user、username等,还包括了bytes日志事件的取值1000,以及取值1000与属性名称bytes之间的运算符“>”。
或者,空格分隔的日志事件的值匹配模式下的筛选条件可以包括:以特殊字符分隔的一个省略符号,一个或多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;其中,所述省略符号位于各日志事件的属性名称之前,或位于各日志事件的属性名称之后,或位于两个各日志事件的属性名称之间。
例如,输入的一种省略符号位于各日志事件的属性名称之前的筛选条件如下:
[...,status_code,bytes>1000]
输入的一种省略符号位于各日志事件的属性名称之后的筛选条件如下:
[ip=127.0.0.1,user,...]
输入的一种省略符号位于两个各日志事件的属性名称之间的筛选条件如下:
[ip,user,...,status_code,bytes>1000]
上述的特殊字符可以是预先设定的,比如,将逗号或其它符号设定为特殊字符。
当在S201步骤中确定用户选择的模式为属性标记的日志事件的值匹配模式时,该模式下的筛选条件可以包括:至少一个属性匹配单元;在一个属性匹配单元中包括:指定的属性、运算符,以及该属性的取值;进一步,对于包括多个属性匹配单元的情况,该模式下的筛选条件还可以包括各属性匹配单元之间的逻辑运算符。
例如,包含一个属性匹配单元的一种筛选条件如下:
{$.eventType="UpdateTrail"}
其中,eventType为指定的属性,UpdateTrail为eventType属性的取值。
包含多个属性匹配单元的一种筛选条件如下:
{($.user.id=1)&&($.users[0].email="[email protected]")}
其中包括分别包含于两对()之中的两个属性匹配单元;其中,一个属性匹配单元中:指定的属性为user.id,属性的取值为1;另一个属性匹配单元中指定的属性为users[0].email,取值为"[email protected]"。两个属性匹配单元的逻辑运算符为&&,表示两个属性匹配单元的逻辑与的运算关系。每个属性匹配单元的开头可以以一个预定字符标识,比如,以$字符标识。
S203:运行所选择的模式的指标筛选器,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。
具体地,在运行字词匹配模式的指标筛选器时,所述指标筛选器根据筛选条件中的待匹配的字或词,针对每个采集于分布式网络中的待搜索的日志,若从该日志中查找到该字或词,则将该日志作为符合条件的日志输出。
例如,若步骤S202中接收的一种字词匹配模式下的筛选条件中包括待匹配的词语“Failed to process the request”,则本步骤中运行字词匹配模式的指标筛选器时,所述指标筛选器将输出包含词语“Failed to process the request”的日志作为查找结果。
具体地,在运行空格分隔的日志事件的值匹配模式的指标筛选器时,对于筛选条件包括以特殊字符分隔的多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的各字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
例如,一个基于空格分隔日志事件的日志内容如下:
127.0.0.1-frank[10/Oct/2000:13:25:15-0700]"GET/apache_pb.gif HTTP/1.0"200 1534
若步骤S202中接收的一种空格分隔的日志事件的值匹配模式下的筛选条件如下:[ip,user,username,timestamp,request,status_code,bytes>1000]
则本步骤中运行该筛选条件的指标筛选器时,指标筛选器对上述的日志内容进行解析,得到对应关系包括:ip-127.0.0.1,user为空,username为空,timestamp-10/Oct/2000:13:25:15-0700,request-"GET/apache_pb.gif HTTP/1.0",status_code-200,bytes-1534。由于该行日志的bytes属性的取值为1534>1000,所以确定该日志符合条件,作为查找结果输出。
在运行空格分隔的日志事件的值匹配模式的指标筛选器时,对于筛选条件包括位于各日志事件的属性名称之后的省略符号的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的前n个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,n为所述筛选条件日志事件的属性名称的个数;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
例如,若步骤S202中接收的一种空格分隔的日志事件的值匹配模式下的筛选条件如下:[ip=127.0.0.2,user,...]
则本步骤中运行该筛选条件的指标筛选器时,指标筛选器对上述基于空格分隔日志事件的日志内容进行解析,对前两个日志事件的属性名称进行对应,得到对应关系包括:ip-127.0.0.1,user为空。由于该行日志的ip属性的取值为127.0.0.1不等于筛选条件中的127.0.0.2,所以确定该日志不符合条件,不作为查找结果输出。
在运行空格分隔的日志事件的值匹配模式的指标筛选器时,对于筛选条件包括位于各日志事件的属性名称之前的省略符号的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的后n个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,n为所述筛选条件日志事件的属性名称的个数;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
例如,若步骤S202中接收的一种空格分隔的日志事件的值匹配模式下的筛选条件如下:[...,status_code,bytes>1000]
则本步骤中运行该筛选条件的指标筛选器时,指标筛选器对上述基于空格分隔日志事件的日志内容进行解析,对后两个日志事件的属性名称进行对应,得到对应关系包括:status_code-200,bytes-1534。由于该行日志的bytes属性的取值为1534>1000,所以确定该日志符合条件,作为查找结果输出。
在运行空格分隔的日志事件的值匹配模式的指标筛选器时,对于筛选条件包括位于两个各日志事件的属性名称之间的省略符号的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的前m1个字段,以及后m2个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,m1为所述筛选条件中所述省略符号之前的日志事件的属性名称的个数,m2为所述筛选条件中所述省略符号之后的日志事件的属性名称的个数;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
例如,若步骤S202中接收的一种空格分隔的日志事件的值匹配模式下的筛选条件如下:[ip,user,...,status_code,bytes>1000]
则本步骤中运行该筛选条件的指标筛选器时,指标筛选器对上述基于空格分隔日志事件的日志内容进行解析,对前、后两个日志事件的属性名称进行对应,得到对应关系包括:ip-127.0.0.1,user为空,status_code-200,bytes-1534。由于该行日志的bytes属性的取值为1534>1000,所以确定该日志符合条件,作为查找结果输出。
在运行属性标记的日志事件的值匹配模式的指标筛选器时,对于筛选条件中仅包括一个属性匹配单元的情况,指标筛选器针对每个待搜索的日志,从中查找出所述筛选条件中指定的属性,并提取查找出的属性的取值;针对查找出的属性,根据所述筛选条件中该属性匹配单元中包含的运算符,以及该属性的取值,确定该项属性是否匹配;若确定匹配,则将该日志作为符合条件的查找结果输出。
例如,若步骤S202中接收的一种属性标记的日志事件的值匹配模式下的筛选条件如下:{$.eventType="UpdateTrail"},则本步骤中运行该筛选条件的指标筛选器时,指标筛选器将从上述的一个JOSN格式的日志中查找到eventType属性,并在确认日志中eventType属性的取值为UpdateTrail,与筛选条件中的取值相匹配后,确定该日志符合筛选条件,将该日志作为查找结果输出。
在运行属性标记的日志事件的值匹配模式的指标筛选器时,对于筛选条件中包括多个属性匹配单元的情况,所述指标筛选器针对每个待搜索的日志,从中查找出所述筛选条件中指定的属性,并提取查找出的属性的取值;针对每个查找出的属性,根据所述筛选条件中该属性匹配单元中包含的运算符,以及该属性的取值,确定该项属性是否匹配;根据确定的各项属性的匹配结果以及,各属性匹配单元之间的逻辑运算符,确定所述日志是否符合条件。
例如,若步骤S202中接收的一种属性标记的日志事件的值匹配模式下的筛选条件如下:
{($.user.id=1)&&($.users[0].email="[email protected]")}
则本步骤中运行该筛选条件的指标筛选器时,指标筛选器将从上述的一个JOSN格式的日志中查找到属性user以及user属性下的子属性id,并在确认日志中user.id属性的取值为1,与筛选条件中的取值相匹配后,确定该项属性匹配;进而指标筛选器从日志中查找到属性users以及users属性的第0个数组元素中的email属性,在确认日志中users[0].email属性的取值为[email protected]后,确定users[0].email属性匹配;指标筛选器根据两个属性匹配单元之间的逻辑与关系运算符,以及上述两个属性相匹配的结果,确定该日志符合筛选条件,将该日志作为查找结果输出。
基于上述几种模式的指标筛选器,本发明的技术方案可以针对分布式网络中不同来源,不同格式的日志,以及不同的搜索需求进行搜索。
比如,当搜索需求为查找到包含某个字或词的日志时,则可以应用字词匹配模式的指标筛选器,该模式的指标筛选器可以针对各种记录方式的日志,搜索出包含该字或词的日志。
在需要查找某个属性的取值为特定值包含或在一定范围内的日志时,则可以对记录方式为空格分隔的日志事件的一类日志运用空格分隔的日志事件的值匹配模式的指标筛选器,对记录方式为属性标记的日志事件的一类日志运用属性标记的日志事件的值匹配模式的指标筛选器。
这样,就不必将不同格式的日志进行统一转换,既避免了转换步骤,又可以避免转换过程中日志信息的丢弃;而搜索出的符合条件的日志为原始日志,通常技术人员可以直接阅读而获取所需要的信息。
基于上述的分布式日志的搜索方法,本发明实施例提供的一种分布式日志的搜索装置,如图3所示,包括:模式选择模块301、筛选条件输入模块302、筛选器运行模块303。
模式选择模块301用于确定用户选择的指标筛选器的模式;其中,可供选择的指标筛选器的模式包括:字词匹配模式、空格分隔的日志事件的值匹配模式、属性标记的日志事件的值匹配模式。
筛选条件输入模块302用于接收用户输入的基于该模式的筛选条件;其中,所述指标筛选器的模式为字词匹配模式时,所述筛选条件包括:一个或多个用户输入的待匹配的字或词;或者,所述指标筛选器的模式为空格分隔的日志事件的值匹配模式时,所述筛选条件包括:以特殊字符分隔的多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;或者,所述指标筛选器的模式为空格分隔的日志事件的值匹配模式时,所述筛选条件包括:以特殊字符分隔的一个省略符号,一个或多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;其中,所述省略符号位于各日志事件的属性名称之前,或位于各日志事件的属性名称之后,或位于两个各日志事件的属性名称之间;或者,所述指标筛选器的模式为属性标记的日志事件的值匹配模式时,所述筛选条件包括:至少一个属性匹配单元;在一个属性匹配单元中包括:指定的属性、运算符,以及该属性的取值;对于包括多个属性匹配单元的情况下,各属性匹配单元之间的逻辑运算符。
筛选器运行模块303用于根据模式选择模块301确定的指标筛选器的模式,运行所述模式的指标筛选器,所述指标筛选器根据筛选条件输入模块302接收的筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。
具体地,筛选器运行模块303运行字词匹配模式的指标筛选器时,所述指标筛选器根据筛选条件中的待匹配的字或词,针对每个采集于分布式网络中的待搜索的日志,若从该日志中查找到该字或词,则将该日志作为符合条件的日志输出。
筛选器运行模块303运行空格分隔的日志事件的值匹配模式的指标筛选器时,若所述筛选条件包括:以特殊字符分隔的多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;则所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的各字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
筛选器运行模块303运行空格分隔的日志事件的值匹配模式的指标筛选器时,若所述筛选条件包括:以特殊字符分隔的一个省略符号,一个或多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;其中,所述省略符号位于各日志事件的属性名称之前,或位于各日志事件的属性名称之后,或位于两个各日志事件的属性名称之间;则:
对于所述省略符号位于各日志事件的属性名称之后的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的前n个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,n为所述筛选条件日志事件的属性名称的个数;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
对于所述省略符号位于各日志事件的属性名称之前的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的后n个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,n为所述筛选条件日志事件的属性名称的个数;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
对于所述省略符号位于两个日志事件的属性名称之间的情况,所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;将提取的前m1个字段,以及后m2个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,m1为所述筛选条件中所述省略符号之前的日志事件的属性名称的个数,m2为所述筛选条件中所述省略符号之后的日志事件的属性名称的个数;对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
筛选器运行模块303运行属性标记的日志事件的值匹配模式的指标筛选器时,所述指标筛选器针对每个待搜索的日志,从中查找出所述筛选条件中指定的属性,并提取查找出的属性的取值;针对每个查找出的属性,根据所述筛选条件中该属性匹配单元中包含的运算符,以及该属性的取值,确定该项属性是否匹配;根据确定的各项属性的匹配结果以及,各属性匹配单元之间的逻辑运算符,确定所述日志是否符合条件。
本发明实施例的技术方案中,基于几种模式的指标筛选器,可以针对分布式网络中不同来源,不同格式的日志,以及不同的搜索需求进行搜索。这样,就不必将不同格式的日志进行统一转换,既避免了转换步骤,又可以避免转换过程中日志信息的丢弃;而搜索出的符合条件的日志为原始日志,通常技术人员可以直接阅读而获取所需要的信息。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式日志的搜索方法,包括:
确定用户选择的指标筛选器的模式;
接收用户输入的基于该模式的筛选条件;
运行所述模式的指标筛选器,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。
2.根据权利要求1所述的方法,其特征在于,所述指标筛选器的模式包括:
字词匹配模式;
空格分隔的日志事件的值匹配模式;
属性标记的日志事件的值匹配模式。
3.根据权利要求2所述的方法,其特征在于,所述指标筛选器的模式为字词匹配模式时,所述筛选条件包括:
一个或多个用户输入的待匹配的字或词。
4.根据权利要求2所述的方法,其特征在于,所述指标筛选器的模式为空格分隔的日志事件的值匹配模式时,所述筛选条件包括:
以特殊字符分隔的多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;以及
所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志,具体包括:
所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;
将提取的各字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;
对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
5.根据权利要求2所述的方法,其特征在于,所述指标筛选器的模式为空格分隔的日志事件的值匹配模式时,所述筛选条件包括:
以特殊字符分隔的一个省略符号,一个或多个日志事件的属性名称,一个或多个日志事件的取值,以及同一个日志事件的取值和属性名称之间的运算符;
其中,所述省略符号位于各日志事件的属性名称之前,或位于各日志事件的属性名称之后,或位于两个各日志事件的属性名称之间。
6.根据权利要求5所述的方法,其特征在于,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志,具体包括:
所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;
对于所述省略符号位于各日志事件的属性名称之后的情况,将提取的前n个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,n为所述筛选条件日志事件的属性名称的个数;
对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
7.根据权利要求5所述的方法,其特征在于,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志,具体包括:
所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;
对于所述省略符号位于各日志事件的属性名称之前的情况,将提取的后n个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,n为所述筛选条件日志事件的属性名称的个数;
对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
8.根据权利要求5所述的方法,其特征在于,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志,具体包括:
所述指标筛选器针对每个待搜索的日志,提取该日志中以空格分隔的各字段;
对于所述省略符号位于两个日志事件的属性名称之间的情况,将提取的前m1个字段,以及后m2个字段按提取的前后顺序,分别与所述筛选条件中依次所列的各日志事件的属性名称进行对应;其中,m1为所述筛选条件中所述省略符号之前的日志事件的属性名称的个数,m2为所述筛选条件中所述省略符号之后的日志事件的属性名称的个数;
对于所述筛选条件中包括取值的日志事件,将与该日志事件的属性名称对应的字段转换为数字或字符串后,根据转换得到的数字或字符串,以及该日志事件的取值和运算符,确定所述日志是否符合条件。
9.根据权利要求2所述的方法,其特征在于,所述指标筛选器的模式为属性标记的日志事件的值匹配模式时,所述筛选条件包括:至少一个属性匹配单元;在一个属性匹配单元中包括:指定的属性、运算符,以及该属性的取值;对于包括多个属性匹配单元的情况下,各属性匹配单元之间的逻辑运算符;以及
所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志,具体包括:
所述指标筛选器针对每个待搜索的日志,从中查找出所述筛选条件中指定的属性,并提取查找出的属性的取值;
针对每个查找出的属性,根据所述筛选条件中该属性匹配单元中包含的运算符,以及该属性的取值,确定该项属性是否匹配;
根据确定的各项属性的匹配结果以及,各属性匹配单元之间的逻辑运算符,确定所述日志是否符合条件。
10.一种分布式日志的搜索装置,包括:
模式选择模块,用于确定用户选择的指标筛选器的模式;
筛选条件输入模块,用于接收用户输入的基于该模式的筛选条件;
筛选器运行模块,用于运行所述模式的指标筛选器,所述指标筛选器根据所述筛选条件对采集于分布式网络中的日志进行搜索,得出符合条件的日志。
CN201710556329.XA 2017-07-10 2017-07-10 分布式日志的搜索方法和装置 Pending CN107291942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710556329.XA CN107291942A (zh) 2017-07-10 2017-07-10 分布式日志的搜索方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710556329.XA CN107291942A (zh) 2017-07-10 2017-07-10 分布式日志的搜索方法和装置

Publications (1)

Publication Number Publication Date
CN107291942A true CN107291942A (zh) 2017-10-24

Family

ID=60101363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710556329.XA Pending CN107291942A (zh) 2017-07-10 2017-07-10 分布式日志的搜索方法和装置

Country Status (1)

Country Link
CN (1) CN107291942A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610765A (zh) * 2020-05-25 2020-09-01 珠海格力电器股份有限公司 一种集散消息控制装置、方法和楼宇控制***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645336A (zh) * 2005-01-20 2005-07-27 上海复旦光华信息科技股份有限公司 基于模板的异构日志信息自动提取与分析方法
CN102768636A (zh) * 2011-05-05 2012-11-07 阿里巴巴集团控股有限公司 一种日志解析方法及装置
US20130198227A1 (en) * 2012-01-30 2013-08-01 Siemens Corporation Temporal pattern matching in large collections of log messages
CN106202004A (zh) * 2016-07-13 2016-12-07 上海轻维软件有限公司 基于正则表达及分隔符的组合式数据切割方法
CN106874354A (zh) * 2016-12-28 2017-06-20 北京五八信息技术有限公司 一种日志数据筛选方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645336A (zh) * 2005-01-20 2005-07-27 上海复旦光华信息科技股份有限公司 基于模板的异构日志信息自动提取与分析方法
CN102768636A (zh) * 2011-05-05 2012-11-07 阿里巴巴集团控股有限公司 一种日志解析方法及装置
US20130198227A1 (en) * 2012-01-30 2013-08-01 Siemens Corporation Temporal pattern matching in large collections of log messages
CN106202004A (zh) * 2016-07-13 2016-12-07 上海轻维软件有限公司 基于正则表达及分隔符的组合式数据切割方法
CN106874354A (zh) * 2016-12-28 2017-06-20 北京五八信息技术有限公司 一种日志数据筛选方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610765A (zh) * 2020-05-25 2020-09-01 珠海格力电器股份有限公司 一种集散消息控制装置、方法和楼宇控制***

Similar Documents

Publication Publication Date Title
US11599400B2 (en) Segmenting machine data into events based on source signatures
US10574548B2 (en) Key indicators view
US8260773B2 (en) Method for extracting signature from problem records through unstructured and structured text mapping, classification and ranking
US20170142143A1 (en) Identifying notable events based on execution of correlation searches
CN114168418A (zh) 用于在日志分析***中实现日志解析器的方法和***
US20150341771A1 (en) Hotspot aggregation method and device
US11599396B2 (en) Resegmenting chunks of data based on source type to facilitate load balancing
CN107729206A (zh) 告警日志的实时分析方法、***和计算机处理设备
CN107291942A (zh) 分布式日志的搜索方法和装置
US11501112B1 (en) Detecting, diagnosing, and directing solutions for source type mislabeling of machine data, including machine data that may contain PII, using machine learning
CN111460307B (zh) 一种移动终端精确搜索方法和装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100031 West Chang'an Avenue, Xicheng District, Xicheng District, Beijing

Applicant after: STATE GRID CORPORATION OF CHINA

Applicant after: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

Address before: 100031 West Chang'an Avenue, Xicheng District, Xicheng District, Beijing

Applicant before: State Grid Corporation of China

Applicant before: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190605

Address after: 100031 West Chang'an Avenue, Xicheng District, Xicheng District, Beijing

Applicant after: STATE GRID CORPORATION OF CHINA

Applicant after: BEIJING CHINA POWER INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 100031 West Chang'an Avenue, Xicheng District, Xicheng District, Beijing

Applicant before: State Grid Corporation of China

Applicant before: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171024