编辑:糖果
【前记】
这个环境的搭建,主要为了用于分离lua_logger推送到syslog中的数据,解析后放到ES里,再对外提供RESTY接口。基本的工具就是这么使用,至于是具全的业务如何设计实现,根据实际情况来。比如,有的WAF系统不提供开发的API把block的数据暴露出来,可能就需要自己实现一套。
【正文】
1. 安装 RVM
2. 安装 Ruby 和 Gems
3. 安装 Rails
4. 安装 jls-grok
5. Ruby grok 解析
6. 调试 grok
注意:不要用 root 执行以下操作。
用 logstash 收集 IIS、tomcat 日志,或是其他时,你需要调试 grok 表达式,每次都需要重新加载文件,然后再把 sincedb 文件全部删除,否则 logstash 不会重复处理文件,很麻烦。
本文主要介绍如何安装 GrokDebuger 环境,再在命令行调试 Grok 表达式。Logstash 是用 Ruby 编写的,而 Ruby 有专门的处理 grok 表达式的 gem。
下面过程有先后顺序。
安装 RVM
rvm(Ruby Version Manager),是一个非常好用的ruby版本管理以及安装工具。
参见A:
参见B:
这步可能要多试几次,不是你的问题,是它们的网络问题。
若不能 sudo ,就自己设置下你用户的权限。
RVM 安装位置自己 FIND 一下。
安装 rvm 后,需要用 rvm 把你当前用户添加到 rvm 组。rvm 会自己创建 rvm 组。
表示你当前用户,然后重新登录。
在 RVM 下安装 Ruby。
安装 Ruby 和 Gems
这步很简单如果能看到版本信息,就说明成功了
安装 Rails
若不能访问,则添加淘宝镜像 https://ruby.taobao.org/。
安装 jls-grok
这步也很简单基本不会出问题
Ruby grok 解析
编写一个 Ruby 脚本,用来调试 Grok 表达式。
调试 grok
若提示找不到“pattern”,你可以将 logstash 目录底下的复制过来拿来用
【后记】
经群里的好朋友提醒,这个目录的位置,如下:
原文转载