Logstash代理是一个分三个阶段处理:inputs->filters->outputs。
inputs生成事件,filters修改他们,outputs输出他们到指定位置。
所有的事件都有属性。例如一个apache日志文件有一些类似像status的代码(202,404),request path ("/","index"),http请求方式(GET,POST),客户端ip地址等等。logstash称这些属性为字段(field)。
一些logstash配置选项需要字段存在才会起作用。因为inputs生成事件,在input块中没有字段去评估-他们不存在
因为他们依赖事件和字段,之后的配置选项将只工作在filter和output块下。
重要:
下面描述的字段引用、输出格式和条件将不再input块中起作用。
field References(字段引用)
按名称引用字段是非常有用的。你可以使用logstash字段引用语法,进行引用。
最基本的访问字段的语法就是[字段名]。如果你引用一个最上层的字段,你可以使用字段名时,忽略“括号”
为了引用嵌套字段,你需要写明字段全路径:[top-level field] [nested field]
注:会编程的伙伴,会觉得这种形式与编程中的二元数组类似。
例如:本例有5个最上层字段(agent,ip,request,response,ua)和3个嵌套字段(status,bytes,os)
{
"agent": "Mozilla/5.0 (compatible; MSIE 9.0)",
"ip": "192.168.24.44",
"request": "/index.html"
"response": {
"status": 200,
"bytes": 52353
},