一、背景
kibana收集日志功能很强大,之前只是简单的使用,此次系统学习了解并分享一波
二、kibana查看日志的基本使用
1.选择查询的服务和日志文件
注意:每个应用配置了开发与生产环境,需要找到指定的应用
1.1选择对应的应用
1.2选择对应的应用下的日志文件
2.查询错误日志
Search框输入*error* -> Refresh
3.精确搜索完整短句“this is my words”(带空格)【ps:需要加引号】
4.如果不带引号,将会匹配每个单词
/app/logs/nginx/acess.log
5、~模糊搜索
"/app/~"
"马~"
6、*匹配0到多个字符
*oken
"马*"
7、?匹配单个字符
toke?n
8、+,- 搜索结果是否包含指定信息
注意查询条件和指定信息之间不能有空格直接就是(+/-)连接符。
+:搜索结果中必须包含词项;
-:不能包含词项。
# 查询结果包含小燕
"/app/api/order"+"小燕"
# 查询结果不包含小于燕,但包含小明
"/app/api/order"-"小于燕"+"小明"
例子:
firstname:(+H* -He*) 搜索firstname字段里H开头的结果,并且排除firstname里He开头的结果
9、组合查询,运算符必须大写
AND,OR,NOT
(uid OR token ) AND version
"0eca9570-6441-4e2e-9d2c-09eb5764506b" AND "夏艺桐"
10、范围查询
[]:包含边界值;
{}:不包含边界值;
例如:
# 查询下面时间范围的日志,包含开始和结束两个时间
["2022-07-14 14:58:43.723" TO "2022-07-14 14:59:43.800"]
# 查询下面时间范围的日志,不包含开始和结束两个时间
{"2022-07-14 14:58:43.723" TO "2022-07-14 14:59:43.800"}
11、特殊字符需要在字符前加上转义字符\
特殊字符:+、-、&&、||、!、(、)、{、}、[、]、^、”、~、*、?、:、\
12、分组查询
(firstname:H* OR age:20) AND state:KS
先查询名字H开头年龄或者是20的结果,然后再与国家是KS的结合
14.指定从哪个域中寻找查询词,如果不指定,则从默认域中查找
message:"东电梯"
15.Grouping
支持使用圆括号来将查询表达式分组
(Parsed.status:200 Parsed.status:206) AND "mail-online"
查询status中含有“200”和“206”
Parsed.status:(+200 OR 206)
16.如何格式化输出
三、参考
https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/query-dsl.html
Kibana查询语法详解_kibana 查询语法_cjfeii的博客-CSDN博客