5.x版本 logstash中 elasticsearch插件的workers,无法配置大于1,会提示 This plugin uses the shared and doesn't need this option

这个的意思是进到logstash本身的配置文件pipeline.output.workers。

不要一开始就修改workers个数。这也许是一个误区。虽然确实可以起到一些作用。

检查cpu

请注意CPU是否被大量使用。 在Linux / Unix上,运行top -H以查看线程分解的进程统计信息,以及总CPU统计信息。
如果CPU使用率很高,请跳到有关检查JVM堆的部分,然后阅读有关调整Logstash工作线程设置的部分。

检查内存

请注意Logstash在Java VM上运行的事实。 这意味着Logstash将始终使用您分配给它的最大内存量。
查找使用大量内存的其他应用程序,并可能导致Logstash切换到磁盘。 如果应用程序使用的总内存超过物理内存,则会发生这种情况。

检查IO

监视磁盘I / O以检查磁盘饱和。

如果使用Logstash插件(例如文件输出),可能会使存储饱和,则可能会出现磁盘饱和。
磁盘饱和也可能发生,如果你遇到很多错误,强制Logstash生成大的错误日志。
在Linux上,可以使用iostat,dstat或类似于监视磁盘I / O的东西。

监视网络I / O以实现网络饱和。

如果使用执行大量网络操作的输入/输出,则可能发生网络饱和。
在Linux上,可以使用诸如dstat或iftop之类的工具来监视网络。

通常情况下,如果堆大小太低,CPU利用率经常过限制(百分之百),导致JVM不断进行垃圾回收。
检查此问题的快速方法是将堆大小加倍,并查看性能是否提高。 不要增加超过物理内存量的堆大小。 为操作系统和其他进程保留至少1GB的空闲空间。
可以使用随Java分发的jmap命令行实用程序或使用VisualVM对JVM堆进行更准确的度量。

调整Logstash工作线程设置:

首先使用-w标志扩大管道工作线程的数量。 这将增加可用于过滤器和输出的线程数。 如果需要,可以安全地将其扩展到多个CPU内核,因为线程可以在I / O上变为空闲。
默认情况下,每个输出只能在单个管道工作线程中处于活动状态。 可以通过更改每个输出的配置块中的workers设置来增加此值。 不要使此值大于管道工人的数量。
还可以调整输出批处理大小。 对于许多输出,例如Elasticsearch输出,此设置将对应于I / O操作的大小。 在Elasticsearch输出的情况下,此设置对应于批处理大小。

pipeline.batch.size设置定义单个工作线程在尝试执行过滤器和输出之前收集的最大事件数。 较大的批量大小通常更高效,但增加了内存开销。 某些硬件配置要求您通过设置LS_HEAP_SIZE变量来增加JVM堆大小,以避免使用此选项导致性能下降。 此参数的值超过最佳范围会导致由于频繁的垃圾回收或与内存不足异常相关的JVM崩溃而导致性能下降。 输出插件可以将每个批处理作为逻辑单元处理。 例如,Elasticsearch输出针对接收的每个批生产批量请求。 调整pipeline.batch.size设置可调整发送到Elasticsearch的批量请求的大小。

pipeline.batch.delay设置很少需要调整。 此设置调整Logstash管道的延迟。 流水线批处理延迟是Logstash在当前管道工作线程中接收到事件后等待新消息的最大时间(毫秒)。 在此时间过后,Logstash开始执行过滤器和输出.Logstash在接收事件和在过滤器中处理该事件之间等待的最大时间是pipeline.batch.delay和pipeline.batch.size设置的乘积。

如果计划修改默认管道设置,请考虑以下建议:

事件的总数由pipeline.workers和pipeline.batch.size设置的乘积确定。称为流动计数。 在调整pipeline.workers和pipeline.batch.size设置时,请记住流动计数的值。 以不规则间隔间歇接收大型事件的管道需要足够的内存来处理这些尖峰。 相应地配置LS_HEAP_SIZE变量。
测量每个更改以确保其性能提高,而不是降低。
确保留下足够的内存可用来应付突然增加的事件大小。 例如,生成表示为大文本块的异常的应用程序。

工作程序的数量可以设置为高于CPU核心的数量,因为输出经常在I / O等待条件中花费空闲时间。
Java中的线程具有名称,可以使用jstack,top和VisualVM图形工具来确定给定线程使用的资源。
在Linux平台上,Logstash标记了所有可以描述的线程。 例如,输入显示为[base] <inputname,过滤器/输出工作者显示为[base]> workerN,其中N是整数。 在可能的情况下,还会标记其他线程以确定其目的。

logstash5.x改变的更多相关文章

  1. Lua语言中文手册 转载自网络

    Programming in LuaCopyright ® 2005, Translation Team, www.luachina.net Programming in LuaProgramming ...

  2. JavaScript动画-拖拽改变元素大小

    ▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...

  3. 【用户交互】APP没有退出前台但改变系统属性如何实时更新UI?监听系统广播,让用户交互更舒心~

    前日,一小伙伴问我一个问题,说它解决了半天都没解决这个问题,截图如下: 大概楼主理解如下: 如果在应用中有一个判断wifi的开关和一个当前音量大小的seekbar以及一个获取当前电量多少的按钮,想知道 ...

  4. javascript动画系列第四篇——拖拽改变元素大小

    × 目录 [1]原理简介 [2]范围圈定 [3]大小改变[4]代码优化 前面的话 拖拽可以让元素移动,也可以改变元素大小.本文将详细介绍拖拽改变元素大小的效果实现 原理简介 拖拽让元素移动,是改变定位 ...

  5. Android程序中--不能改变的事情

    有时,开发人员会对应用程序进行更改,当安装为以前版本的更新时出现令人惊讶的结果 - 快捷方式断开,小部件消失或甚至根本无法安装. 应用程序的某些部分在发布后是不可变的,您可以通过理解它们来避免意外. ...

  6. Android动态改变布局

    遇到这么个需求,先看图:      其实是一个软件的登录界面,初始是第一个图的样子,当软键盘弹出后变为第二个图的样子,因为登录界面有用户名.密码.登录按钮,不这样的话软键盘弹出后会遮住登录按钮(其实之 ...

  7. Grunt(页面静态引入的文件地址的改变探究)-V2.0

    相关插件的引用: grunt-usemin  对页面的操作 grunt-contrib-cssmin  压缩css load-grunt-tasks 瘦身gruntfile grunt-rev给md5 ...

  8. 解决js动态改变dom元素属性后页面及时渲染问题

    今天实现一个进度条加载过程,dom结构其实就是两个div <div class="pbar"> <div class="ui-widget-header ...

  9. 日常css技巧小结(1)--背景透明度改变对内容无影响

    刚开始出现的错误,内容会受到背景透明度改变的影响:如图: 代码: <!DOCTYPE html> <html lang="en"> <head> ...

随机推荐

  1. struts json登录

    1.struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts P ...

  2. 实验一 Java开发环境的熟悉-刘蔚然

    一.实验内容 1. 使用JDK编译.运行简单的Java程序 2. 使用Eclipse 编辑.编译.运行.调试Java程序 要求: 完成实验.撰写实验报告 统计PSP时间 二.实验过程 使用JDK编译. ...

  3. svn利用TortoiseSVN忽略文件或文件夹

    忽略已经版本控制的文件 如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有 自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作. ...

  4. action script 3如何检测播放器域

    检测播放器域   用户在上面观看媒体内容的网页的 URL 和域并非始终随时可用.如果托管网站允许,您可使用 ExternalInterface 类获取确切 URL.尽管如此,允许第三方视频播放器的一些 ...

  5. LeetCode Closest Binary Search Tree Value II

    原题链接在这里:https://leetcode.com/problems/closest-binary-search-tree-value-ii/ 题目: Given a non-empty bin ...

  6. POJ 1035问题解答

    #include <iostream>#include <cstdio>#include <cmath> #include <string>#inclu ...

  7. 30天,O2O速成攻略【8.16武汉站】

    活动概况 时间:2015年08月16日13:30-16:30 地点:光谷创业咖啡(光谷广场资本大厦一楼停车场内) 主办:APICloud.爱立示.MBA移动业务助理 网址:www.apicloud.c ...

  8. Flask 与 Celery 在 windows 下的集成问题

    Flask 与 Celery 在 windows 下的集成问题 所有的 Web 框架内部的视图中不适合执行需要长时间运行的任务,包括 Flask .Django 等.这类型的任务会阻塞 Web 的响应 ...

  9. [g2o]一个备忘

    g2o使用的一个备忘 位姿已知,闭环的帧已知,进行图优化. #include "stdafx.h" #include <vector> #include "P ...

  10. VMware设置共享文件夹

    第一步:安装vmware-tools