今天线上环境出现异常,开发需要查看日志,按照以往的惯例,我直接让他查看我搭建ELK平台去查找,可是一会儿后返回来说查询有问题,才发现kibana默认是模糊匹配导致数据异常混乱,经过查询资料得出解决办法,方便以后查询。
如下图是开发查询效果图
更改查询条件:加上双引号,正常,精确匹配
附加:ELK搜索条件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
1、要搜索一个确切的字符串,即精确搜索,需要使用双引号引起来:
path
:”
/
app
/
logs
/
nginx
/
access
.log”
2、如果不带引号,将会匹配每个单词:
uid
token
3、模糊搜索:
path
:”
/
app
/
~”
4、
*
匹配
0到多个字符:
*
oken
5、
?
匹配单个字符
:
tok
?
n
6、
+:搜索结果中必须包含此项
-:不能含有此项
什么都没有则可有可无:
+
token
-
appVersion
appCode
7、运算符
AND
/
OR
/
NOT必须大写:
token
AND
uid
;
token
OR
uid;
NOT
uid
8、允许一个字段值在某个区间(
[
]
包含该值,
{
}不包含):
@
version
:
[
1
TO
3
]
9、组合查询:
(
uid
OR
token
)
AND
version
10、转义特殊字符
+
–
&&
||
!
(
)
{
}
[
]
^
”
~
*
?
:
\
转义特殊字符只需在字符前加上符号
\
|