问题:
使用kibana查询日志
原理:
只是一个可视化页面。
文档:
步骤:
全文搜索
在搜索栏输入Login, 会返回所有字段值中包含Login的文档
使用双引号包起来作为一个短语搜索 “like Gecko”
字段
也可以按页面左侧显示的字段搜索:
限定字段全文搜索: field:value
精确搜索: 关键字加上双引号 field: "value"
http.code: 404 搜索http状态码为404的文档
字段本身是否存在:
exists:http: 返回结果中需要有http字段
missing:http: 不能包含http字段
通配符
?匹配单个字符
* 匹配0到多个字符
kiba?a, el\*search
?* 不能用过第一个字符,例如: ?text *text
模糊搜索
quikc~ brwn~ foks~
~: 在一个单子后面加上~ 启用模糊搜哟,可以搜到一些拼写错误的单子
first~ 这种也能匹配到first
设置相似度
设置编辑距离(整数), 指定需要多少相似度
cromm~1 会匹配到from 和 chrome
默认2,越大越接近搜索的原始值,设置为1基本能搜索到80%的拼写错误的单词
近似搜索
在短语后面加上~, 可以搜索到被隔开或顺序不同的单词
"where select"~5 表示select 和 where重甲可以隔着5个单词,可以搜到 select password from users where id =1
字段范围搜索
数值/时间/ip/字符串 类型的字段可以对某一范围进行查询
length:[100 TO 200]
sip:["172.16.1.100" TO "172.16.1.200"]
date:{"now-6h" TO "now"}
tag:{b To e} 搜索b到e中间的字符
count:[10 TO *] * 表示一端不限制范围
count:[1 TO 5} [] 表示端点数值包含在范围内, {} 表示端点数值不包含在范围内,可以混合使用,此语句为1到5, 包括1 ,不包括5
可以简化: age:(>=10 AND < 20)
优先级
quick^2 fox
使用^ 使一个词语比另一个搜索优先级高, 默认为1 ,可以为 0~1之间的浮点数,来降低优先级
逻辑操作
AND
OR
+: 搜索结果中必须包含此项
-: 不能含有此项
+apache -jakarta test aaa bbb: 结果中必须存在apache, 不能有jakarta ,剩余部分尽量都匹配到
转义特殊字符
+ - = && || < > ! () {} [] ^ " ~ * ? : \ /
以上字符当作值搜索的时候需要用\ 转义
\(1\+1\)\=2 用来查询 (1+1)=2