Logstash学习系列之基础介绍
Logstash功能特性
- 能集中处理各种类型的数据
- 能标准化不同模式和格式的数据
- 能快速的扩展自定义日志的格式
- 它具有收集,分析和转发数据流的功能
Logstash运行参数
-f 指定配置文件 -e 用于指定字符串输入 -w 指定filterworkers的数量,默认为1,指定logstash的工作线程数 -l 指定logstash的默认日志写入到一个文件中,默认为控制台输出 -v 设置同时输出info和debug级别的日志,已经弃用 --quiet 静默模式,仅仅只有error级别信息的输出 --verbose info级别的log输出 --debug debug级别的日志输出 --v 查看logstash版本 -p 可以写自己的插件,然后指定路径使用它们 -t 用来测试logstash读取到的配置文件语法是否能正常解析
Logstash配置语法
logstash处理流程
input-->decode-->filter-->encode-->output
logstash语法格式
区域
logstash中,使用{}来定义区域的
区域内,我们可以定义插件
一个区域内是可以定义多个插件
数据类型
布尔boolean: ssl_enable=>true 字节Bytes: my_bytes=>"10Mib" 字符串String: name=>"zhang san" Number: port=>514 数组Array: match=>["datetime","UNIX","ISO8601"] 哈希Hash: options=>{ key1=>"value1" key2=>"value2" } 编码解码: codec: codec=>"json" 密码型: my_password=>"passowrd" 路径: my_path=>"/tmp/logstash" 注释: #
条件判断
==(等于),!=(不等于),<(小于),>(大于),<=(小于等于),>=(大于等于) =~(匹配正则),!~(不匹配正则) in(包含),not in(不包容) and(与),or(或),nand(非与),xor(非与) ():复合表达式,!():对复合表达式取反 判断 if EXPRESSION { ... } else if EXPRESSION { ... } else { ... }
字段引用
logstash还支持引用其他地方的值 output { statsd { increment => "apache%{[response][status]}" } }