logstash event
input - filter -output
- 数据在内部流转时的具体表现形式。数据在input阶段被转换为event,在output被转换为目标格式数据。
- Event是一个Java Object,在配置文件中可以对event的属性进行增删改查
queue
In memory queue
进程crash,机器宕机,都会引起数据丢失Persistent queue
queue.type.persisted(默认是memory)
queue.max_bytes: 4gb
机器宕机,数据也不会丢失;数据保证会被消费;可以代替kafka等消息队列缓冲区的作用https://www.elastic.co/guide/en/logstash/7.1/persistent-queues.html
Input plugin — File
- 支持从文件中读取数据,如日志文件
- 文件读取需要解决的问题
只被读取一次。重启后需要从上次读取的位置继续(通过 sincedb 实现) - 读取到文件新内容,发现新文件
- 文件发生归档操作(文档位置发生变化,日志 rotation),不能影响当前的内容读取
Filter plugin
对logstash event 进行各种处理,例如解析、删除字段、类型转换
Date(日志解析),Dissect(分隔符解析),Grok(正则匹配解析),Mutate(处理字段。重命名、删除、替换),Ruby(利用Ruby代码来动态修改event)-
Mutate