暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Logstash配置语法

碧茂大数据 2022-03-10
439

更多精彩,请点击上方蓝字关注我们!

1 Logstash的语法

  • Logstash 设计了自己的 DSL,基本的语法功能包括有:

    • 区域

    • 注释

    • 数据类型(布尔值,字符串,数值,数组,哈希)  条件判断

    • 字段引用等

2 区段(section)

  • Logstash 用 {} 来定义区域。区域内可以包括插件区域定义,你可以在一个区域内定义多个插件。

  • 插件区域内则可以定义键值对设置。示例如下:



3 数据类型

  • Logstash 支持少量的数据值类型:

    • options => {

    • key1 => "value1",

    • key2 => "value2"

    • }

    • match => ["datetime", "UNIX", "ISO8601"]

    • port => 514

    • host => "hostname"

    • debug => true

    • bool

    • string

    • number

    • array

    • hash

4 字段引用(field reference)

  • 字段是Logstash::Event对象的属性

  • 如果想在Logstash配置中使用字段的值,只需要把字段的名字写在中括号[]里就行了,这就叫字段引用

  • 对于嵌套字段(也就是多维哈希表,或者叫哈希的哈希),每层的字段名都写在[]里就可以了。比如,可以从geoip里这样获取longitude值:

    • [geoip][location][0]

  • Logstash还支持变量内插,在字符串里使用字段引用的方法是这样:

    • "the longitude is %{[geoip][location][0]}"

5 条件判断(condition)

  • 表达式支持下面这些操作符:

    • == (等于), != (不等于), < (小于), > (大于), <= (小于等于), >= (大于等于) =~ (匹配正则), !~ (不匹配正则)

    • in (包含), not in (不包含)

    • and (与), or (或), nand(非与), xor(非或)

    • () (复合表达式), !() (对复合表达式结果取反)

  • 比如:



6 命令行启动Logstash

  • 命令格式

    • bin/logstash [options]

  • 示例:利用mypipeline.conf中配置启动logstash

    • bin/logstash -f mypipeline.conf

7 命令行参数

  • --node.name NAME

    • 指定Logstash实例的名字。如果没有指定的话,默认是当前主机名。

  • -f, --path.config CONFIG_PATH

    • 从指定的文件或者目录加载Logstash配置。

    • 如果给定的是一个目录,则该目录中的所有文件将以字典顺序连接,然后作为一个配置文件进行解析。

  • -e, --config.string CONFIG_STRING

    • 用给定的字符串作为配置数据,语法和配置文件中是一样的。

  • --modules

    • 运行的模块名字

  • -l, --path.logs PATH

    • Logstash内部日志输出目录

  • --log.level LEVEL

    • 日志级别

  • -t, --config.test_and_exit

    • 检查配置语法是否正确并退出

  • -r, --config.reload.automatic

    • 监视配置文件的改变,并且当配置文件被修改以后自动重新加载配置文件。

  • -config.reload.interval RELOAD_INTERVAL

    • 为了检查配置文件是否改变,而拉去配置文件的频率。默认3秒。

  • --http.host HTTP_HOST

    • Web API绑定的主机。REST端点绑定的地址。默认是"127.0.0.1"

  • --http.port HTTP_PORT

    • Web API http端口。REST端点绑定的端口。默认是9600-9700之间。

  • --log.format FORMAT

    • 指定Logstash写它自身的使用JSON格式还是文本格式。默认是"plain"。

  • --path.settings SETTINGS_DIR

    • 设置包含logstash.yml配置文件的目录,比如log4j日志配置。也可以设置LS_SETTINGS_DIR环境变量。默认的配置目录是在Logstash home目录下。

  • -h, --help

    • 打印帮助

关注公众号:领取精彩视频课程&海量免费语音课程




文章转载自碧茂大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论