logstash 数据收集引擎
logstash 运行机制
Logstash 管道由三个组件Input、Filters和Output 组成。
- pipeline
- input-filter-output的三阶段处理流程
- 队列管理
- 插件生命周期管理
- Logstash Event
- 内部流程的数据表现形式
- 原始数据在input被转为event 在output转为日志格式
- 在配置文件中可以对event中的进行增删改查
codec.conf
1input {
2 stdin {
3 codec => line
4 }
5}
6filter{}
7output{
8 stdout {
9 codec => json
10 }
11}
1 echo "hello world" | bin/logstash -f codec.conf
1response
2 {"@timestamp":"2022-10-15T14:48:30.952Z","host":"macbookdeMacBook-Pro.local","message":"hello world","@version":"1"}[2022-10-15T22:48:31,718][INFO ][logstash.pipeline ] Pipeline terminated {"pipeline.id"=>"main"}
架构图
queue
ack机制
-
In Memory Queue
进程 Crash,机器宕机都会引起数据的丢失。
-
Persistent Queue
进程 Crash,机器宕机也不会丢失数据;数据保证会被消费,可以替代 Kafka 等消息队列缓冲区的作用。 (推荐,性能只比memory下降百分之5)
PQ的基本配置
1queue.type:persisted #默认 memory
2queue.max_bytes:1gb