前言
logstash
通过配置文件把收集到的日志文件,通过正则匹配分析,发送到es
服务器构建索引,并通过Kibana
展示
目录
- Logstash正则构建
- 查询语句
- 量化分析
Visualize
- 仪表盘
Dashboard
Logstash正则
在logstash
目录 mkdir patterns
# contents of ./patterns/postfix:
STR [a-zA-Z]{1,}
input {
file {
type => "order_shenghuojiaofei"
path => "/Users/liuxin/rabbitmql_pro.log"
}
}
filter {
grok {
patterns_dir => ["./patterns"]
match => { "message" => "%{STR:logLevel} %{STR:packName}.%{STR:thread}.%{STR:className} %{STR:date}" }
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "order_shenghuojiaofei-%{type}-%{+YYYY.MM.dd}"
template_overwrite => true
}
}
启动
logstash -f pro.conf
查询语句
I. 字段查询(可以使用通配符*或?)
field:value 例:city:Keyport*, age:26
II. 范围查询
age:[20 TO 30] age:{20 TO 30}
注:[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内
III. 逻辑操作
AND OR 例子:firstname:H* AND age:20 firstname:H* OR age:20
+ :搜索结果中必须包含此项
- :不能含有此项
例: +firstname:H* -age:20 city:H* firstname字段结果中必须存在H开头的,不能有年龄是20的,city字段H开头的可有可无
VI. 分组查询
分组
(firstname:H* OR age:20) AND state:KS 先查询名字H开头年龄或者是20的结果,然后再与国家是KS的结合
字段分组
firstname:(+H* -He*) 搜索firstname字段里H开头的结果,并且排除firstname里He开头的结果
量化分析
点击发现 Discover
输入查询条件 鼠标放置在字段上会添加展示改字段
仪表盘
Visualize
生成的报表信息,可以保存,放置在仪表盘里面展示