Logstash-概念篇

是什么

Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). -- http://logstash.net

Logstash 就像管道符一样!

输入(就像命令行的 cat )数据,然后处理过滤(就像awk或者uniq 之类)数据,最后输出(就像 tee )到其他地方。

Logstash 不只是一个input | filter | output 的数据流,而是一个 input | decode | filter | encode | output 的数据流!

实现方式

logstash用不同的线程来实现接受输入,处理过滤,输出这些动作的。
数据在不同线程之间以事件的形式流转。
事实上事件就是一个 Ruby 对象,或者更简单的理解为就是一个哈希也行。
logstash会给事件添加一些额外信息。如

  • @timestamp 标记事件的发生时间。是一个内部流转用的joda对象,请使用 filters/date 插件 来管理这个特殊字段。
  • host 标记事件发生在哪里。
  • type 标记事件的唯一类型。
  • tags 标记事件的某方面属性。这是一个数组,一个事件可以有多个标签。

小贴士:每个 logstash 过滤插件,都会有四个方法叫 add_tag, remove_tag, add_fieldremove_field。它们在插件过滤匹配成功时生效。

问题咨询

logstash 是一个开放的,极其互助和友好的大家庭。有任何问题,尽管在 github issue,Google groups,Freenode#logstash channel 上发问就好!

你可能感兴趣的:(Logstash-概念篇)