Logstash 设计了自己的 DSL,基本的语法功能包括有:
区域注释数据类型(布尔值,字符串,数值,数组,哈希) 条件判断字段引用等 3.2 区段(section)
Logstash 用 {} 来定义区域。区域内可以包括插件区域定义,你可以在一个区域内定义多个插件。插件区域内则可以定义键值对设置。示例如下:
3.3 数据类型
Logstash 支持少量的数据值类型:
bool
debug => true string
host => “hostname” number
port => 514 array
match => [“datetime”, “UNIX”, “ISO8601”] hash
options => {key1 => “value1”,key2 => “value2”} 3.4 字段引用(field reference)
字段是Logstash::Event对象的属性如果想在Logstash配置中使用字段的值,只需要把字段的名字写在中括号[]里就行了,这就叫字段引用对于嵌套字段(也就是多维哈希表,或者叫哈希的哈希),每层的字段名都写在[]里就可以了。比如,可以从geoip里这样获取longitude值:
[geoip][location][0] Logstash还支持变量内插,在字符串里使用字段引用的方法是这样:
“the longitude is %{[geoip][location][0]}” 3.5 条件判断(condition)
表达式支持下面这些操作符:
== (等于), != (不等于), < (小于), > (大于), <= (小于等于), >= (大于等于) =~ (匹配正则), !~ (不匹配正则)in (包含), not in (不包含)and (与), or (或), nand(非与), xor(非或)() (复合表达式), !() (对复合表达式结果取反) 比如:
3.6 命令行启动Logstash
命令格式
bin/logstash [options] 示例:利用mypipeline.conf中配置启动logstash
bin/logstash -f mypipeline.conf 3.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
打印帮助
大数据视频推荐:
腾讯课堂
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通



