logstash5.x改变

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是整数。 在可能的情况下,还会标记其他线程以确定其目的。

 

转载于:https://www.cnblogs.com/guochunyi/p/6148618.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Suricata的初始化脚本

见官网 https://suricata.readthedocs.io/en/latest/initscripts.html

jpa在自己创建表的是字段名不一致_用 数据透视表 完成 Excel多表合并

一般情况下&#xff0c;数据透视表只能汇总一个表格中的数据。即使使用多区域汇总&#xff0c;也只能对多表的单列内容进行数据汇总&#xff0c;而多列却无法实现。前段时间也推送过Power Query的方法&#xff0c;但它有版本限制。而今天宏兴会计培训小编推送的是一个通用的多表…

python根据数据生成图像_从三个numpy数组生成图像数据

首先&#xff0c;您应该运行以下代码&#xff1a;import numpy as npX np.asarray()Y np.asarray()Z np.asarray()Xu np.unique(X)Yu np.unique(Y)然后您可以应用以下任何一种方法。值得注意的是&#xff0c;即使数据没有被分类(与目前接受的答案相反)&#xff0c;所有这些…

leetcode120. 三角形最小路径和(动态规划)

**给定一个三角形&#xff0c;找出自顶向下的最小路径和。**每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。 例如&#xff0c;给定三角形&#xff1a; [ [2], [3,4], [6,5,7], [4,1,…

Bootstrap教程:学习构建第一个Bootstrap 4网站

快速教程&#xff0c;可帮助您快速掌握最新版本的Bootstrap。 (A quick tutorial to get you up to speed with the latest version of Bootstrap.) In my opinion, the best way to learn a new technology is often to start building stuff from day one. This gives a sens…

使用栈实现队列 Implement Queue using Stacks

为什么80%的码农都做不了架构师&#xff1f;>>> 问题&#xff1a; Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of queue.pop() -- Removes the element from in front of queue.peek() -- Get the front…

Java利用POI生成Excel强制换行

前一段时间在做一个学校排课系统时&#xff0c;有一个地方需要利用把课程表生成excel汇出给客户&#xff0c;由于之前用excel都只是简单的应用&#xff0c;在单元格里都是用自动换行&#xff0c;而这次可能需要用到手动强制换行。 于是我在网上找了一下&#xff0c;网上找到的文…

550什么意思_研报翻译官第二期:带你了解什么是CPI

欢迎收看“第二期”研报翻译官&#xff0c;临近年末&#xff0c;各类金融研报接踵而至&#xff0c;我们也常会看到GDP、CPI、PPI这类字眼。过年回家跟亲戚朋友唠嗑的时候&#xff0c;如果不扯上几句CPI或PPI&#xff0c;都显自己得不够专业。听你们吹牛&#xff0c;我炒菜都有劲…

leetcode1314. 矩阵区域和(动态规划)

给你一个 m * n 的矩阵 mat 和一个整数 K &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - K < r < i K, j - K < c < j K (r, c) 在矩阵内。 示例 1&#xff1a; 输入&…

python读取数据库文件的扩展名_Python读取sqlite数据库文件的方法分析

本文实例讲述了Python读取sqlite数据库文件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;这是Python内置的&#xff0c;不需要pip install 包数据库里面有很多张表要操作数据库首先要连接conect数据库然后创建游标cursor来执行execute&#xff33;&#xff31…

C# 文件异步操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO;//文件异步操作 namespace FileAsynchronousOperation {class Program{static void Main(string[] args){//实例化MyFile类MyFile myF…

软考 中级职称哪些最热门_我如何利用有史以来最热门的中级故事来建立排行榜。 以及它几乎是怎么死的。...

软考 中级职称哪些最热门by Michael Deng邓小平 我如何利用有史以来最热门的中级故事来建立排行榜。 以及它几乎是怎么死的。 (How I built a leaderboard with the top Medium stories of all time. And how it almost died.) Last year I built Top Medium Stories — a web…

面试题一

1.html页面由标签组成&#xff0c;请写出<head>中脚本定义标签、下拉选择框标签  脚本定义标签&#xff1a;<javascript></javascript>   下拉框选择标签&#xff1a;<select><option values""></option></select> 2…

leetcode712. 两个字符串的最小ASCII删除和(动态规划)-Gogo

给定两个字符串s1, s2&#xff0c;找到使两个字符串相等所需删除字符的ASCII值的最小和。 示例 1: 输入: s1 “sea”, s2 “eat” 输出: 231 解释: 在 “sea” 中删除 “s” 并将 “s” 的值(115)加入总和。 在 “eat” 中删除 “t” 并将 116 加入总和。 结束时&#xff0…

python中封装是什么意思_Python中数据封装是什么?

封装——“隐藏一切可以隐藏的实现细节&#xff0c;只向外界暴露(提供)简单的编程接口”。在上节的 Student 类中&#xff0c;每个实例就拥有各自的 name 和 age 这些数据。我们可以通过函数来访问这些数据&#xff0c;比如打印一个学生的年龄&#xff1a;>>> def pri…

jieba库的使用

jieba库的使用: jieba库是一款优秀的 Python 第三方中文分词库&#xff0c;jieba 支持三种分词模式&#xff1a;精确模式、全模式和搜索引擎模式&#xff0c;下面是三种模式的特点。 精确模式&#xff1a;试图将语句最精确的切分&#xff0c;不存在冗余数据&#xff0c;适合做文…

Go语言实现HashSet

set.go // set project set.go package settype Set interface {Add(e interface{}) boolRemove(e interface{})Clear()Contains(e interface{}) boolLen() intSame(other Set) boolElements() []interface{}String() string }// 将集合other添加到集合one中 func AddSet(one S…

c#控件弹幕效果_C# Form 实现桌面弹幕

使用C# Form 简单的实现了弹幕效果1.创建一个Form 设置2.添加一个计时器3. 代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Drawing.Text;using System.Linq;using System.Text;using S…

Makefile中怎么使用Shell if判断

/********************************************************************** Makefile中怎么使用Shell if判断* 说明&#xff1a;* 譬如可能会在Makfile中需要判断文件、文件夹的存在&#xff0c;使用shell语法* 输出一些信息&#xff0c;等等。** …

我如何使用React和Typescript在freeCodeCamp中构建天气应用

by Kelvin Mai通过凯文麦 我如何使用React和Typescript在freeCodeCamp中构建天气应用 (How I built the weather app in freeCodeCamp using React and Typescript) So I finally decided to come back to freeCodeCamp and try to finish out my Front End Development Certi…