3.Logstash配置语法
2022-03-10 本文已影响0人
大勇任卷舒
3.1 Logstash的语法
- 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"
- }
- bool
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
- 打印帮助
大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通