一.Logstash
Logstash作为Elasicsearch常用的实时数据采集引擎,可以采集来自不同数据源的数据,并对数据进行处理后输出到多种输出源,是Elastic Stack 的重要组成部分。
二.Logstash Hello world
cd logstash-6.4.0
bin/logstash -e 'input { stdin { } } output { stdout {} }'
Logstash将采用标准输入和标准输出作为input和output,并且不指定filter。
其中,syslog 为系统日志。保存文件。
在控制台结果如下:
三.action
index 给一个文档建立索引
delete 通过id值删除一个文档(这个action需要指定一个id值)
create 插入一条文档信息,如果这条文档信息在索引中已经存在,那么本次插入工作失败
update 通过id值更新一个文档。更新有个特殊的案例upsert,如果被更新的文档还不存在,那么就会用到upsert
action => "index"
默认的Logstash安装包含Beats input插件,Beats input插件允许Logstash从Elastic Beats框架接收事件,也就是说任何Beat written使用Beats框架工作,例如Packetbeat和Metricbeat,也可以将事件数据发送到Logstash。
四.manage_template
布尔类型 默认为true
设置为false将关闭logstash自动管理模板功能
比如你定义了一个自定义模板,更加字段名动态生成字段,那么应该设置为false
五.filter
Logstash三个组件的第二个组件,也是真个Logstash工具中最复杂,最蛋疼的一个组件,当然,也是最有作用的一个组件。
filter{
grok{
match => ['message','%{TIMESTAMP_ISO8601:logdate}']
}
}
date插件 这里需要合前面的grok插件剥离出来的值logdate配合使用
filter{
date{
match=>["logdate","dd/MMM/yyyy:HH:mm:ss Z"]
target=>"@timestamp"
remove_field => 'logdate'
}
}
【华为云至简致远】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/352809