Logstash 是一个数据流引擎
- 它是用于数据物流的开源流式 ETL(Extract-Transform-Load)引擎
- 在几分钟内建立数据流管道
- 具有水平可扩展及韧性且具有自适应缓冲
- 不可知的数据源
- 具有 200 多个集成和处理器的插件生态系统
- 使用 Elastic Stack 监视和管理部署
Logstash 几乎可以摄入各种类别的数据
它可以摄入日志,文件,指标或者网路真实数据。经过 Logstash 的处理,变为可以使用的 Web Apps 可以消耗的数据,也可以存储于数据中心,或变为其它的流式数据。
Logstash 相关概念
- Logstash 实例是一个正在运行的 Logstash 进程。建议在 Elasticsearch 的单独主机上运行 Logstash,以确保两个组件有足够的计算资源可用。
- 管道(pipeline)是配置为处理给定工作负载的插件集合。一个 Logstash 实例可以运行多个管道。(彼此独立)
- 输入插件(input plugins)用于从给定的源系统中提取或接收数据。 Logstash 参考指南中提供了支持的输入插件列表:https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- 过滤器插件(filter plugin)用于对传入事件应用转换和丰富。 Logstash 参考指南中提供了支持的过滤器插件列表:Filter plugins | Logstash Reference [8.3] | Elastic
- 输出插件(output plugin)用于将数据加载或发送到给定的目标系统。 Logstash 参考指南中提供了支持的输出插件列表:https://www.elastic.co/guide/en/logstash/current/output-plugins.html
Logstash 包含3个主要部分: 输入(inputs),过滤器(filters)和输出(outputs)。 你必须定义这些过程的配置才能使用 Logstash,尽管不是每一个都必须的。在有些情况下,可以甚至没有过滤器。在过滤器的部分,它可以对数据源的数据进行分析,丰富,处理等。
1.2 学习参考
- Logstash官方文档:《Logstash官方文档》
- 中国社区官方博客:《Logstash入门教程》
- 其他参考技术博客:《通过Logstash实现mysql数据定时增量同步到ES》
- Logstash解析:《解析插件-Grok》
1.3 本例测试版本

[root@dev1613 study]# sudo -u logstash ../bin/logstash --version Using bundled JDK: /opt/logstash/jdk logstash 7.12.1
2.功能应用
2.1 基础测试
输入测试命令,../bin为当前执行命令所在文件夹,与logstash安装后bin的相对目录位置。
sudo -u logstash ../bin/logstash -e 'input { stdin { } } output { stdout {} }'
执行命令后,输出结果如图:
