Logstash 自定义插件
功能概述
本小节主要介绍 Logstash 如何自定义插件。
操作步骤
步骤一:登录 Logstash 节点
详情可参考通过 VNC 登录 Logstash 节点。
步骤二:自定义插件
-
在 Logstash 节点中,执行如下命令行创建自定义插件。
/usr/share/logstash/bin/logstash-plugin generate --type filter --name abcd --path /data/logstash/pluginsELK 5.5.1 - QingCloud 1.2.0 及以前版本请使用如下命令。
sudo docker exec -it $(docker ps -q) logstash-plugin generate --type filter --name abcd --path /data/logstash/plugins其中
filter可替换为待定制的插件的类型,类型包括input、filter、codec、output,abcd可替换为待开发的插件的名称,更多参数详情请参考官方文档。
-
进入上一步生成的插件目录,修改其中的文件,按实际业务需求进行开发,并修改
.gemspec文件,把包含TODO或FIXME的行改成实际内容,否则会导致 Logstash 无法启动。/data/logstash/plugins/logstash-filter-abcd/logstash-filter-abcd.gemspec -
根据插件类型及参数,修改 Logstash 节点相应的配置参数,详情参考修改集群配置参数。
-
如示例中,将
filter_conf_content修改为abcd {}。 -
根据插件所在位置修改
gemfile_append_content,插件位置前缀必须是/data/logstash/plugins,如示例中,将gemfile_append_content修改为gem "logstash-filter-abcd", :path => "/data/logstash/plugins/logstash-filter-abcd"。说明 如有多个 Logstash 节点,请在所有 Logstash 节点上执行第 1、2、3 步骤,确保所有 Logstash 节点成功安装相关插件,不然状态会显示不正常。
-
-
重启 Logstash 节点。
步骤三:测试验证
-
参考 Logstash 概述内容,发送一条数据。
curl -d "qingcloud" $LS_IP:9700 -
在 Kibana 中查看近期接收到的日志,详情可参考访问 Kibana。如图,示例中的
logstash_filter_abcd成功将原消息中的qingcloud替换为了Hello World!,说明插件配置生效。