因为要对日志进行日常分析,排查一些线上问题,日志文件又特别大,采用这种配置方式导入,再进行可视化相当 方便
下面贴出导入日志的配置,只是简单的导入,对于mapping类型的定义,还有过滤的条件插件都 没有安装,后续会安装一些常用插件,让数据导入更有含义些,还有包括经纬度,IP地址,时间格式,等都 可以自己去定义
代码如下 , 日志输出格式自己修改下
input {
file {
path => [ "/opt/tms.log" ]
start_position => "beginning" #从文件开始处读写
ignore_older => 0
}
}
###过滤
filter{
#定义数据的格式
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
# grok {
# match => [ "message", "smsmonitor" ]
# add_tag => [smsmonitor]
# }
# ....
}
###output to es
output {
elasticsearch {
hosts => ["192.168.11.237:9200"]
index => "loginput_index" #索引名称
#template_name => "mprobelog"
#document_id => "%{id}"
}
stdout { codec => json_lines }
}
./bin/logstash -f ../my_file/loginput.conf 启动导入数据日志,
可视化的界面也很方便,简单的导入确实不利于排查问题,并且格式也不是自己想要的,只是实现了数据导入到ES里,
后续还要加更多分析内容,慢慢深入研究是很有必要
安装logstash配置文件里的插件
bin/logstash-plugin install logstash-filter-grok
bin/logstash-plugin install logstash-filter-geoip
bin/logstash-plugin install logstash-filter-mutate
bin/logstash-plugin install logstash-filter-date