博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置语法
阅读量:6514 次
发布时间:2019-06-24

本文共 1150 字,大约阅读时间需要 3 分钟。

1.语法

logstash使用{}来定义区域(input,filter,output),区域内可以包括插件区域定义,你可以在一个区域内定义多个插件。插件区域内则可以定义键值对设置。

logstash正常运行至少需要input和output区域。

示例如下:

input {

    stdin {

       type => "test"

    }

    file {

       path => "/var/log/messages"

        type => "syslog"

    }

}


filter { }


output {

    stdout { codec => rubydebug }

}

2.数据类型

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

bool:  debug => true

string: ip => "10.10.10.1"

number: port => 22

array: match => ["logdate", "UNIX", "ISO8601"]

hash: options => { key1 => "value1", key2 => "value2"}


3.字段引用

在 Logstash 配置中使用字段的值,只需要把字段的名字写在中括号[]里就行了,比如从 geoip 里这样获取longitude值[geoip][location][0](也可以使用倒序[-1] 取最后一个值)

Logstash还支持变量内插,在字符串里使用字段引用的方法是这样:"the longitude is %{[geoip][location][0]}"

 

4.条件判断

比如if表达式:

if EXPRESSION {

 

     ... 

 } else if EXPRESSION {

 

     ... 

 } else {

     ... 

 }

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

 ==(等于), !=(不等于), <(小于), >(大于), <=(小于等于), >=(大于等于)

 =~(匹配正则), !~(不匹配正则)

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

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

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

5.使用系统环境变量

logstash可使用系统环境变量,比如有一个变量PORT,shell中执行export PORT=123

logstash配置:

port => ${PORT}  结果为:port => 123

 

如果PORT变量没有定义,会抛出错误,可以配置一个默认值

port => ${PORT:456}  结果为:port => 456

本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1832834,如需转载请自行联系原作者
你可能感兴趣的文章
Python数据结构和算法学习笔记1
查看>>
正则之从dom字符串中提取url
查看>>
大数据——基础概念
查看>>
第六次上机实验
查看>>
机器学习温和指南
查看>>
解决Geoserver请求跨域的几种思路,第二种思路用过
查看>>
最短路-Bellman-Ford算法
查看>>
Object 类有哪些方法
查看>>
oracle 将一个表复制到另外一个表里 .
查看>>
libcurl以get方式请求服务器端文件
查看>>
OpenJudge 2786 Pell数列
查看>>
mysql 游标循环,嵌套游标循环
查看>>
swoft| 源码解读系列一: 好难! swoft demo 都跑不起来怎么破? docker 了解一下呗~
查看>>
win7 蛋疼的时间格式转化
查看>>
C++中二维数组的动态创建与处理
查看>>
SPOJ 10628 COT - Count on a tree(在树上建立主席树)(LCA)
查看>>
SpringInAction--Bean参数的自动注入
查看>>
素数筛
查看>>
centos /linux 修改目录或文件权限
查看>>
leetcode--
查看>>