前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >logstash6配置文件结构

logstash6配置文件结构

作者头像
WindCoder
发布2020-01-21 16:26:09
4110
发布2020-01-21 16:26:09
举报
文章被收录于专栏:WindCoderWindCoder

配置文件的结构

对于要添加到事件处理管道的每种类型的插件,Logstash配置文件都有一个单独的区域(section)。

代码语言:javascript
复制
# This is a comment. You should use comments to describe
# parts of your configuration.
input {
  ...
}

filter {
  ...
}

output {
  ...
}

Logstash 用 {} 来定义区域(section )。区域内可以包括插件区域定义,你可以在一个区域内定义多个插件。插件区域内则可以定义键值对设置。

插件配置结构

插件的配置包括插件名称,其后跟该插件的设置块。如下面的input区域定义了两个File组件:

代码语言:javascript
复制
input {
  file {
    path => "/var/log/messages"
    type => "syslog"
  }

  file {
    path => "/var/log/apache/access.log"
    type => "apache"
  }
}

在此示例中,为每个文件输入配置了两个设置:路径和类型。 您可以配置的设置因插件类型而异。 详情可见 Input Plugins, Output PluginsFilter Plugins, 以及 Codec Plugins

插件

用途

Input Plugins

输入插件,使Logstash能够读取特定的事件源。

Output Plugins

输出插件 ,输出插件将事件数据发送到特定目标。输出是事件管道的最后阶段。本身支持多输出配置。

Filter Plugins

过滤器插件对事件执行中间处理。过滤器通常根据事件的特征有条件地应用。

Codec Plugins

过滤器插件对事件执行中间处理。过滤器通常根据事件的特征有条件地应用。

工作原理

Logstash事件处理管道有三个阶段:输入→过滤器→输出。

输入生成事件,过滤器修改它们,输出将它们发送到其他地方。

输入和输出支持编解码器,使您能够在数据进入或退出管道时对数据进行编码或解码,而无需使用单独的过滤器。

数据类型

插件可以要求设置的值为特定类型,例如布尔值(boolean),列表(list)或散列(hash)。支持的值类型如下:

  • Array
代码语言:javascript
复制
users => [ {id => 1, name => bob}, {id => 2, name => jane} ]
  • Lists
代码语言:javascript
复制
path => [ "/var/log/messages", "/var/log/*.log" ]
uris => [ "http://elastic.co", "http://example.net" ]
  • Boolean
代码语言:javascript
复制
ssl_enable => true
  • Bytes
代码语言:javascript
复制
  my_bytes => "1113"   # 1113 bytes
  my_bytes => "10MiB"  # 10485760 bytes
  my_bytes => "100kib" # 102400 bytes
  my_bytes => "180 mb" # 180000000 bytes
  • Codec
代码语言:javascript
复制
 codec => "json"
  • Hash
代码语言:javascript
复制
match => {
  "field1" => "value1"
  "field2" => "value2"
  ...
}
  • Numbers port => 33
  • Password
代码语言:javascript
复制
my_password => "password"
  • URI
代码语言:javascript
复制
my_uri => "http://foo:bar@example.net" 
  • Path
代码语言:javascript
复制
my_path => "/tmp/logstash"
  • string
代码语言:javascript
复制
host => "hostname"
  • Escape sequences 默认情况下,不启用转义序列。如果您希望在带引号的字符串中使用转义序列,则需要在logstash.yml中设置config.support_escapes:true。如果为true,则引用的字符串(double和single)将具有此转换:

Text

Result

\r

carriage return (ASCII 13)

\n

new line (ASCII 10)

\t

tab (ASCII 9)

\

backslash (ASCII 92)

\"

double quote (ASCII 34)

\'

single quote (ASCII 39)

代码语言:javascript
复制
  name => "Hello world"
  name => 'It\'s a beautiful day'
  • Comments 注释
代码语言:javascript
复制
# this is a comment

input { # comments can appear at the end of a line, too
  # ...
}  

### 参考资料 Structure of a Config File

配置语法

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置文件的结构
  • 插件配置结构
    • 工作原理
    • 数据类型
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档