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

线程

下载地址

ElasticSearch | Logstash | 入门 | 架构介绍