Logstash简介
Logstash 是一个用于数据采集和传输的开源工具,它属于 ELK(Elasticsearch、Logstash 和 Kibana)堆栈的一部分。
Logstash功能
Logstash的核心功能,主要包含如下5大功能:
1.数据采集
Logstash 可以从多种数据源中采集数据,如日志文件、数据库、网络流量等。它支持多种输入插件,可以灵活地从不同来源收集数据。
2.数据转换和处理
Logstash 具有强大的数据转换和处理功能。你可以使用过滤器插件对数据进行解析、分割、过滤、规范化等操作,以便更好地进行后续的分析和存储。
3.多种输出目标
Logstash 支持将处理后的数据发送到多种目标位置,最常见的目标是 Elasticsearch,但也可以发送到其他存储系统、数据库、消息队列等。
4.插件系统
Logstash 的功能可以通过插件进行扩展,包括输入插件、过滤器插件和输出插件,使用户可以根据需求进行定制。
5.配置文件
Logstash 使用简单的文本配置文件来定义数据流的配置,允许你灵活地配置数据采集和处理流程。
Logstash架构
Logstash这个架构非常简单,如下图所示:
Logstash架构主要包含如下3大组件:
1.Inputs
Inputs:就是我能对接各种数据源,比如:数据库、OSS等都可以对接。
Logstash 提供了多种输入插件,如 File 插件(读取文件)、TCP/UDP 插件(接收网络数据)、JDBC 插件(从数据库读取数据)等。
2.Filters
Filters:做一些数据的处理,比如:它可以对数据进行解析、分割、过滤、规范化等操作。
Logstash 提供了多种过滤器插件,如 Grok 插件(进行文本解析和匹配)、Date 插件(处理日期和时间)、Mutate 插件(修改字段值)等。
3.Outputs
Outputs:处理完了以后输出,输出到别的系统。
Logstash 提供了多种输出插件,最常用的是 Elasticsearch 插件,将数据发送到 Elasticsearch。
除此之外,还有其他插件,比如: File 插件(写入文件)、Kafka 插件(发送到 Kafka 消息队列)等。
Logstash安装
1.logstash下载
前往官网下载地址:https://www.elastic.co/logstash,下载适合你操作系统的版本。
#下载安装源文件 wget https://artifacts.elastic.co/downloads/logstash/logstash-7.8.0.tar.gz # 解压文件 tar -xvf logstash-7.8.0.tar.gz -C /v5/elk #从命名源文件 mv logstash-7.8.0 logstash # 进入安装目录 cd /data/elk/logstash
2.配置 Logstash 的配置文件
应用配置文件设置 config/logstash.conf:
3.启动logstash
启动命令:
/bin/logstash -f ./config/logstash.conf
你也可以使用 Docker 来快速部署 Logstash 容器,确保你已经安装了 Docker,然后在命令行中运行以下命令:
docker run -d -p 9600:9600 -p 5044:5044 --name=logstash docker.elastic.co/logstash/logstash:版本号
这将在后台运行 Logstash 容器,并将容器的 9600 端口映射到主机的 9600 端口,用于 Logstash 的内部管理 API。
以及将容器的 5044 端口映射到主机的 5044 端口,用于接收数据。
浏览器输入:ip地址+9200端口即可访问:
Logstash总结
Logstash 主要用于日志数据的采集和处理,特别适用于实时日志分析、系统监控、安全事件检测等场景。
通过将数据采集、转换和传输整合在一个工具中,Logstash 简化了数据流的处理流程。
陈睿mikechen
十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》