Logstash配置详解

一、配置文件

Logstash配置文件位于Logstash安装目录下bin/logstash.conf

启动命令:

logstash -f logstash.conf
文件 描述
logstash.yml 配置Logstash的yml。
pipelines.yml 包含在单个Logstash实例中运行多个管道的框架和说明。
jvm.options 配置Logstash的JVM,使用此文件设置总堆空间的初始值和最大值,此文件中的所有其他设置都被视为专家设置。
log4j2.properties 包含log4j 2库的默认设置。

logstash.yml

logstash.yml 配置 es 数据推送的地址
在这里插入图片描述

logstash.con

logstash.con 文件

input {
  file {
    path => "/home/test/logstash/ml-25m/movies.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {

    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

  mutate {
    convert => {
      "year" => "integer"
    }

二 、插件

2.1 logstash-input-file配置

1. Input Plugin

1.1 从文件输入
从文件读取数据,如常见的日志文件。文件读取通常要解决几个问题:

No. 问题 解决办法
1 文件内容如何只被读取一次? 即重启Logstash时,从上次读取的位置继续 sincedb
2 如何即时读取到文件的新内容 定时检查文件是否有更新
3 如何发现新文件并进行读取 定时检查是否有新文件生成
4 如何文件发生了归档(rotation)操作,是否影响当前的内容读取 不影响,被归档的文件内容可以继续被读取

你可能感兴趣的:(ELK,运维开发)