本文共 1406 字,大约阅读时间需要 4 分钟。
Logstash 是一个开源的数据收集引擎,擅长实时数据传输。它能够统一处理不同数据源的日志信息,并按照指定格式输出到目标系统。日志文件来源多样且内容杂乱,通过Logstash对日志进行收集和过滤,可以将其转化为结构化、易于分析的数据,为性能监控和问题排查提供有力支持。
Logstash依赖JDK 1.8,因此安装前需确保系统已配置好相应环境。安装步骤如下:
tar -zxvf logstash-5.6.3.tar.gz -C /usr/logstash-5.6.3
Logstash的工作原理基于管道机制,主要包含输入、过滤器和输出三个核心组件。
通过简单的配置文件,可以实现多输入、多过滤、多输出的复杂场景。
输入插件从数据源获取数据,常见类型包括文件和标准输入。以下是从文件读取日志的示例:
input { file { path => "/var/log/messages" type => "system" start_position => "beginning" }} 启动Logstash后,输入命令:
bin/logstash -f logstash.conf
输出插件将数据发送到指定目标,常见类型包括标准输出和Elasticsearch。以下是将日志发送到Elasticsearch的示例:
output { elasticsearch { hosts => ["192.168.2.41:9200"] index => "error-%{+YYYY.MM.dd}" }} Multiline插件可用于将多行日志合并为单行事件。配置示例如下:
input { file { path => "/var/log/error.log" type => "error" start_position => "beginning" codec => multiline { pattern => "^\\d" negate => true what => "previous" } }} GrokJ过滤器用于将日志信息结构化。配置示例如下:
filter { grok { match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" } }} 启动Logstash后,输入命令:
bin/logstash -f logstash.conf
转载地址:http://wxqfk.baihongyu.com/