ELK stack权威指南
上QQ阅读APP看书,第一时间看更新

1.4 插件安装

从Logstash 1.5.0版本开始,Logstash将所有的插件都独立拆分成gem包。这样,每个插件都可以独立更新,不用等待Logstash自身做整体更新的时候才能使用了。

为了达到这个目标,Logstash配置了专门的plugin管理命令。

plugin命令用法说明如下:

Usage:
    bin/plugin [OPTIONS] SUBCOMMAND [ARG] …
Parameters:
    SUBCOMMAND      subcommand
    [ARG] …       subcommand arguments

Subcommands:
    install         Install a plugin
    uninstall       Uninstall a plugin
    update          Install a plugin
    list            List all installed plugins

Options:
    -h, --help                    print help

首先,你可以通过bin/plugin list查看本机现在有多少插件可用。(其实就在vendor/bundle/jruby/1.9/gems/目录下。)

然后,假如你看到https://github.com/logstash-plugins/下新发布了一个logstash-output-webhdfs模块(当然目前还没有)。打算试试,就只需运行如下命令:

bin/plugin install logstash-output-webhdfs

同样,假如是升级,只需运行如下命令即可:

bin/plugin update logstash-input-tcp

bin/plugin不但可以通过rubygems平台安装插件,还可以读取本地路径的gem文件,这对自定义插件或者无外接网络的环境都非常有效:

bin/plugin install /path/to/logstash-f?ilter-crash.gem

执行成功以后。你会发现,logstash-1.5.0目录下的Gemfile文件最后会多出一段内容:

gem “logstash-f?ilter-crash”, “1.1.0”, :path =>“vendor/local_gems/d354312c/
        logstash-f?ilter-mweibocrash-1.1.0”

同时Gemfile.jruby-1.9.lock文件开头也会多出一段内容,如下所示:

PATH
  remote: vendor/local_gems/d354312c/logstash-f?ilter-crash-1.1.0
  specs:
    logstash-f?ilter-crash (1.1.0)
      logstash-core (>= 1.4.0, < 2.0.0)