ELK logstash升级到2.0以及logstash-forwarder迁移到Filebeat(21st)

将从logstash1.5版本升级到2.1版本,以及将《ELK部署指南》中使用的logstash-forwarder转移到Filebeat上。

升级步骤

  1. 停止logstash以及发送到logstash的所有管道。
  2. 更新apt或yum源或者下载新版包。
  3. 安装新版的logstash。
  4. 测试logstash配置文件是否正确。
  5. 启动logstash以及第一步停止的管道。

升级logstash和elasticsearch到2.0

升级前请先看看版本的改变信息。

下面是elasticsearch升级到2.0后,需要执行的:

Mapping改变:用户自定义的模板变化,因此在默认情况下,logstash升级将抛弃这些模板。即时没有一个自定义的模板,默认情况下logstash不会覆盖已存在的模板。

已经有一个已知的问题就是使用GeoIP过滤器需要手动更新模板。

注意,如果有自定义模板更改,务必保持和合并这些更改。

查看已有的模板:

在logstash配置文件中添加下面的配置并重启:

有点的字段:elasticsearch2.0不允许字段名含有.字符。一些插件包括logstash-filter-metrics和 logstash-filter-elapsed已经更新弥补这一更改。这些插件更新对于logstash2.0可用。要升级这些插件可执行下面命令:

多行过滤器:如果要在logstash配置文件中使用多行过滤器并升级到2.0,将会得到一个错误。确保filter_workers明确设置为1。如果要改变该值需通过命令行参数更改,如下所示:

ELK

实操

  1. 关闭logstash以及输入的管道。

这节会将logstash-forwarder迁移到Filebeat上了,后续不再启动logstash-forwarder了。

2. 升级logstash,添加yum源参见前文。

3. 检查配置文件

我的配置文件是以《ELK部署指南》中的配置文件为原型的。

更改配置文件

这个是把有关logstash-forwarder使用的lumberjack删除了。

以上是output的定义。

对类型nginx的filter。

logstash-forwarder的配置文件

改成Filebeat的配置文件:

此处document_type选项控制输出type字段,用于elasticsearch输出以确定文档类型。对于以elasticsearch输出,该值用于设置输出文档的type字段。

4. 检查配置文件是否正确

5. 启动服务

以上便是升级的过程,以及将logstash-forwarder迁移到Filebeat上了。

为了避免出现下面的问题:

sun/misc/URLClassPath.java:1003:in `getResource': java.lang.InternalError: java.io.FileNotFoundException: /alidata/server/java/jre/lib/ext/localedata.jar (Too many open files)

需更改下面的配置:

Error: Your application used more memory than the safety cap of 500M.

Specify -J-Xmx####m to increase it (#### = cap size in MB).

Specify -w for full OutOfMemoryError stack trace

需更改下面的配置:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  3   博主  0

  1. 匿名 5

    filebeat经常假死怎么办

  2. 小白四个圈 5

    filebeat 这货不支持rhel5 centos5的系统。