ogstash filter 语法:

访问日志存储为json格式,使用logstash 写入到 elasticsearch

 

Example

下面是日志的样子
55.3.244.1 GET /index.html 15824 0.043

正则的例子
%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}

配置文件里是怎么写得?

 

解析后,是个什么样子?

client: 55.3.244.1
method: GET
request: /index.html
bytes: 15824
duration: 0.043
自定义正则
(?<field_name>the pattern here)

(?<queue_id>[0-9A-F]{10,11})

当然你也可以把众多的正则,放在一个集中文件里面。

logstash已经自带了不少的正则,如果想偷懒的话,可以在内置正则里借用下。

 

Logstash 最佳实践

http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html

https://www.gitbook.com/book/chenryn/kibana-guide-cn

配置示例

解释

有一些比较有用的配置项,可以用来指定 FileWatch 库的行为:

  • discover_interval

logstash 每隔多久去检查一次被监听的 path 下是否有新文件。默认值是 15 秒。

  • exclude

不想被监听的文件可以排除出去,这里跟 path 一样支持 glob 展开。

  • sincedb_path

如果你不想用默认的 $HOME/.sincedb(Windows 平台上在C:\Windows\System32\config\systemprofile\.sincedb),可以通过这个配置定义 sincedb 文件到其他位置。

  • sincedb_write_interval

logstash 每隔多久写一次 sincedb 文件,默认是 15 秒。

  • stat_interval

logstash 每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。

  • start_position

logstash 从什么位置开始读取文件数据,默认是结束位置,也就是说 logstash 进程会以类似 tail -F 的形式运行。如果你是要导入原有数据,把这个设定改成 “beginning”,logstash 进程就从头开始读取,有点类似cat,但是读到最后一行不会终止,而是继续变成 tail -F

 

相关资料:http://kibana.logstash.es/content/logstash/plugins/filter/date.html

One thought on “logstash 基本语法

Comments are closed.