Logstash - Working with plugins(使用插件)

本章节开始介绍logstash的插件及功能,插件对于logstash来说非常重要,按类别分为:input、filter、codec、output四种类型。

logstash有非常丰富的插件,通过安装目录下的 ./bin/logstash-plugin 脚本来管理和部署。用户可以通过命令行脚本对插件进行安装、删除、升级等操作。

logstash默认是从Rubygems中https://guides.rubygems.org/下载logstash的插件进行安装的。RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。

  • 插件列表

展现logstash中已经安装的插件。

#列举已经安装的插件
bin/logstash-plugin list
#列举已经安装的插件和其版本信息 bin/logstash-plugin list --verbose
#通过名称筛选插件 bin/logstash-plugin list '*namefragment*'
#根据插件类型筛选插件,对应input|filter|codec|output bin/logstash-plugin list --group output
  • 插件添加

第一种方式:直接安装

bin/logstash-plugin install logstash-output-kafka

直接从Rubygems中下载安装,非常方便。

第二种方式:下载gem包进行安装

bin/logstash-plugin install /path/to/logstash-output-kafka-1.0.0.gem

这种方式需要用户自己去下载对应gem包来安装。

第三种方式:--path.plugins

# supposing the code is in /opt/shared/lib/logstash/inputs/my-custom-plugin-code.rb
bin/logstash --path.plugins /opt/shared/lib

这种方式是开发插件时使用,这里不做详细介绍了。

  • 插件升级

默认logstash会从库中将插件升级到最新的版本。

#升级所有插件
bin/logstash-plugin update
#升级指定插件 bin/logstash-plugin update logstash-output-kafka
  • 插件删除
bin/logstash-plugin remove logstash-output-kafka
  • 代理支持

前面的部分依赖于logstash能够与rubygems.org进行通信。在某些环境中,转发代理用于处理HTTP请求。通过设置http_proxy环境变量,可以通过代理安装和更新logstash插件:

export HTTP_PROXY=http://127.0.0.1:3128
bin/logstash-plugin install logstash-output-kafka
  • 插件生成

自定义插件。

bin/logstash-plugin generate --type input --name xkcd --path ~/ws/elastic/plugins
  • --type: 插件的类型(input|filter|output|codec)
  • --name: 插件名称
  • --path: 插件的目录(不指定默认当前目录)

 

posted @ 2019-04-15 14:20  Epir  阅读(609)  评论(0编辑  收藏  举报