contact@yottabyte.cn
400-085-0159
调查问卷
J

SPL

基本语法

我们支持以下搜索语法:

基本语法

1 全文检索

检索一个或多个查询词时,系统不区分大小写。如果查询多个关键字,则不区分这些词的先后顺序,且查询结果将同时包含这些词。例如

 hello world

相当于

hello AND world

即日志结果中必须包含 hello 与 world。

2 短语查询

如果需要查询短语(即短语内的多个词都必须都出现,而且保持同样的顺序及相邻状况),需要用双引号把短语括起来,查询结果不区分大小写。例如查询“hello world”,匹配的日志也必须包含“hello world”。

3 字段值

格式 field:value

field是字段名,应当为字符串,搜索时区分大小写字母,不得使用? *等字符;value可以是字符串或数值,字符串区分大小写字母,可以使用? *等字符。此用法也可在界面左栏的字段值处点击建立字段过滤。例如

tag:test

匹配 tag 字段值为 “test” 的日志;

apache.status:200

匹配 apache.status 字段值为200的日志;

apache.stauts:*

匹配带 apache.status 字段的日志;

apache.clientip:192.168.1.1*

匹配 apache.clientip 为 192.168.1.1,192.168.1.103,192.168.1.114 等值的日志。

4 逻辑运算符

AND,OR,NOT,( ),AND、OR、NOT 必须大写。

	term1 AND term2

匹配的日志里 term1 和 term2 都必须都出现,AND 默认可缺省;

    term1 OR term2

匹配的日志里 term1 或 term2 出现1个即可;

	NOT term

匹配的日志里不含有 term;

由于 AND 的优先级比 OR 高,可用()改变运算优先级,例如:

 term1 AND (term2 OR term3)

表示匹配的日志里必须包含 term1,以及term2、term3中的任一个。

5 数值范围

格式

field:[value1 TO value2] 
field:{value1 TO value2}
field:{value1 TO value2]
field:[value1 TO value2}
field:>value
field:>=value
field:<value 
field:<=value 

value/value1/value2 为数值,TO 必须大写,”[” 、”]”符号表示包含边界数值, “{“、”}” 不包含边界数值。

如:

 apache.status:[400 TO 500] 

匹配 apache.status 值在400到500之间的日志,包含400和500。

 apache.status:>400 

匹配 apache.status 值大于400的日志。

6 通配符

* 匹配0个或多个字符,单独搜索 * 会显示所有日志;?匹配1个字符。例如:

syslog.appName:abc* 
syslog.appName:ab? 

都会匹配 syslog.appName 为 abc 的日志

 tag:mytag* 

匹配 tag 为 mytag 或 mytag1的日志

 tag:mytag? 

匹配 tag 为 mytag1 的日志,但 无法匹配 tag 为 mytag 的日志。

7 基本正则表达式

格式 /regexp/, 支持[ ] (范围), {n} (出现n次), {n,m} (出现n次到m次), {n,} (至少出现n次) 等基本正则表达式。 例如

/[wb]all/ 

匹配包含 wall 或 ball 的日志

/0{4,}/

匹配包含0000的日志

/frontend[0-9]{2}/

匹配 frontend 后面带有2位数字的日志。

8 特殊字符的检索处理

只有字母、数字和字符检索时会匹配在事件日志。特殊字符+ –   !(){ } [ ] ^ “ ~ *?:\ 等不应包括在查询语句的一部分来匹配,如果你在搜索时有上述特殊字符请务必使用引号括起来。例如,这两个搜索将显示相同的结果:

例1:

	"http://yourwebsite.com:9000"

例2:

	"http yourwebsite com 9000" 

下面这个搜索将导致一个无效的查询,由于 : 没有被”“括起来引用:

	http://yourwebsite.com:9000

9 区分大小写

日志易在搜索时除以下情况情况区分大小写之外,其他情况不区分大小写:

1 10 时间方案

使用下拉菜单快速挑选预设时间方案或设置一个自定义的时间范围。

预设时间方案:分钟(近10分钟、30分钟)、小时(近1小时、3小时、6小时和12小时)、天(近1天、2天、7天)默认近10分钟;

自定义时间范围:选择起至的年/日/月/小时/分钟/秒/毫秒范围,日志如果超出保存时间将不会显示搜索结果。

###搜索技巧

为了保证您能搜索到想要的结果,在搜索时请注意以下事项:

1 明确日志分组

如果不确定日志分组请选择“所有日志”。

2 请避免直接使用特殊字符,如果需要请使用引号括起来

特殊字符: + – &   ! ( ) { } [ ] ^ ” ~ * ? : \

这些字符是日志易的查询语言,请避免直接出现在查询中。

3 扩大时间范围

请检查您选择的时间范围,您可能误把分钟当做小时。

4 移除过滤字段和关键字

请检查搜索框中的关键字,减少选择的过滤字段。

5 检查你的拼写

小心拼写错误,您的日志事件和查询语句都有可能出错。

6 不要使用不带通配符的部分字符串

这有一个日志的例子:

	Timer-2 S3Stats.processStatEvents INFO: Processed stats for Stats-6297-138

这个日志将索引以下字符串:

	timer 2 S 3 stats process stat events info processed stats for stats 6297 138

因此,以下关键词在检索时将匹配:

	timer
	process
	event*

这些关键词检索时将不匹配:

	event
	time