博客
关于我
Logstash基础入门
阅读量:800 次
发布时间:2023-03-22

本文共 1406 字,大约阅读时间需要 4 分钟。

Logstash入门指南

一、前言

Logstash 是一个开源的数据收集引擎,擅长实时数据传输。它能够统一处理不同数据源的日志信息,并按照指定格式输出到目标系统。日志文件来源多样且内容杂乱,通过Logstash对日志进行收集和过滤,可以将其转化为结构化、易于分析的数据,为性能监控和问题排查提供有力支持。

二、安装

Logstash依赖JDK 1.8,因此安装前需确保系统已配置好相应环境。安装步骤如下:

tar -zxvf logstash-5.6.3.tar.gz -C /usr/logstash-5.6.3

三、组成结构

Logstash的工作原理基于管道机制,主要包含输入、过滤器和输出三个核心组件。

  • 输入插件:从数据源读取数据。
  • 过滤器插件:对数据进行格式化和筛选处理。
  • 输出插件:将处理后的数据发送到目标系统。

通过简单的配置文件,可以实现多输入、多过滤、多输出的复杂场景。

四、插件使用方法

4.1 输入插件

输入插件从数据源获取数据,常见类型包括文件和标准输入。以下是从文件读取日志的示例:

input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}

启动Logstash后,输入命令:

bin/logstash -f logstash.conf

4.2 输出插件

输出插件将数据发送到指定目标,常见类型包括标准输出和Elasticsearch。以下是将日志发送到Elasticsearch的示例:

output {
elasticsearch {
hosts => ["192.168.2.41:9200"]
index => "error-%{+YYYY.MM.dd}"
}
}

4.3 编码解码插件

Multiline插件可用于将多行日志合并为单行事件。配置示例如下:

input {
file {
path => "/var/log/error.log"
type => "error"
start_position => "beginning"
codec => multiline {
pattern => "^\\d"
negate => true
what => "previous"
}
}
}

4.4 过滤器插件

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/

你可能感兴趣的文章