Logstash配置文件介绍

Logstash配置文件介绍

Logstash配置文件有两种,分别是pipeline配置文件和setting配置文件。

Pipeline配置文件主要定义logstash使用的插件以及每个插件的设置,定义完成后使用 -f 参数来指定该配置文件。

如以下定义的一个简单的配置文件:

input { stdin { } }
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

该配置文件使用两个插件,分别是 input 和 output。然后使用启动 logstash 时,使用 -f 参数来指定配置文件。

Pipeline配置文件结构:

input {
  ...
}

filter {
  ...
}

output {
  ...
}

Input:

Input支持多种输入事件源,常用输入源如下:

1、beats:

Logstash从beats组件中获取数据

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

以上配置中,logstash在5044端口监听从beats组件中传来的数据源。beats组件在输出给logstash中配置logstash的主机ip和5044端口。

2、elasticsearch:

Logstash从elasticsearch中获取数据

input {
  elasticsearch {
    hosts => "localhost"
    query => '{ "query": { "match": { "statuscode": 200 } }, "sort": [ "_doc" ] }'
  }
}

以上配置中,从elasticsearch中查询数据,然后作为数据源输入到logstash。

3、file:

Logstash从文本文件中获取数据

path => "/var/log/*"

直接在 path 中指定文本文件的位置,支持通配。

4、支持多种输入源类型......

原文地址:https://www.cnblogs.com/ahaii/p/8404656.html