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]}"
    }
}
原文地址:https://www.cnblogs.com/chadiandianwenrou/p/6478806.html