热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

logstash5.x改变

5.x版本logstash中elasticsearch插件的workers,无法配置大于1,会提示Thispluginusesthesharedandd

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

 


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


推荐阅读
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • Linux 信号处理全面解析(第六篇)
    本文深入探讨了信号及其来源。信号本质上是对中断机制的软件层面模拟,从原理上看,进程接收到信号与处理器接收到中断请求类似。信号具有异步特性,能够在进程执行过程中随时触发,从而中断当前操作并执行相应的处理程序。文章详细分析了信号的生成、传递和处理机制,并讨论了常见的信号类型及其应用场景。此外,还介绍了如何在 Linux 系统中使用信号进行进程间通信和错误处理,为开发者提供了实用的技术指导。 ... [详细]
  • 微服务优雅上下线的最佳实践
    本文介绍了微服务上下线的正确姿势,避免使用 kill -9 等粗暴手段,确保服务的稳定性和可靠性。 ... [详细]
  • PHP 使用 Cookie 进行访问授权的方法
    本文介绍了如何使用 PHP 和 Cookie 实现访问授权,包括表单验证、数据库查询和会话管理等关键步骤。 ... [详细]
  • Redis 脑裂现象及其应对策略
    本文探讨了 Redis 集群中的脑裂现象及其解决方案,包括脑裂的成因、影响以及如何通过配置项防止脑裂的发生。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
author-avatar
自由财富大赢家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有