美文网首页
Logstash占用CPU高的问题

Logstash占用CPU高的问题

作者: 骑猪看夕阳aa | 来源:发表于2018-11-25 23:18 被阅读0次

问题描述

使用 top 命令查看USER为logstash的进程占用CPU达到200%~300%

处理方法

  1. 查看logstash的log
    tail -f /var/log/logstash/logstash-plain.log # tail -f 可以让log这样需要实时刷新的文件自动刷新
    发现有如下报错
[2018-11-25T22:42:56,380][FATAL][logstash.runner          ] An unexpected error occurred! {:error=>#<ArgumentError: Path "/var/lib/logstash/queue" must be a writable directory. It is not writable.>, :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/settings.rb:447:in `validate'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:229:in `validate_value'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:140:in `block in validate_all'", "org/jruby/RubyHash.java:1343:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:139:in `validate_all'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:278:in `execute'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:237:in `run'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/share/logstash/lib/bootstrap/environment.rb:73:in `<main>'"]}
[2018-11-25T22:42:56,396][ERROR][org.logstash.Logstash    ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit

查看前面第一个描述,发现queue目录没有读权限

  1. /var/lib/logstash/queue 更改权限为 777后,重启logstash进程,查看日志发现有如下报错
[2018-11-25T22:48:56,121][FATAL][logstash.runner          ] An unexpected error occurred! {:error=>#<ArgumentError: Path "/var/lib/logstash/dead_letter_queue" must be a writable directory. It is not writable.>, :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/settings.rb:447:in `validate'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:229:in `validate_value'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:140:in `block in validate_all'", "org/jruby/RubyHash.java:1343:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:139:in `validate_all'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:278:in `execute'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:237:in `run'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/share/logstash/lib/bootstrap/environment.rb:73:in `<main>'"]}
[2018-11-25T22:48:56,138][ERROR][org.logstash.Logstash    ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit

3、继续更改权限,发现还有如下报错

[2018-11-25T22:56:21,729][ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of #, } at line 4, column 17 (byte 53) after input {\n  beats {\n    type => beats\n    host => 10.1", :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:41:in `compile_imperative'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:49:in `compile_graph'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:11:in `block in compile_sources'", "org/jruby/RubyArray.java:2486:in `map'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:10:in `compile_sources'", "org/logstash/execution/AbstractPipelineExt.java:149:in `initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:22:in `initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:90:in `initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:42:in `block in execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:92:in `block in exclusive'", "org/jruby/ext/thread/Mutex.java:148:in `synchronize'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:92:in `exclusive'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:38:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:317:in `block in converge_state'"]}
[2018-11-25T22:56:21,985][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

4、注意如下报错
at line 4, column 17 (byte 53) after input {\n beats {\n type => beats\n host => 10.1
发现是beats这个配置文件的问题,尝试将其删除,cpu高的问题解决

参考资料

  1. Performance Troubleshooting Guide
    https://www.elastic.co/guide/en/logstash/current/performance-troubleshooting.html#_performance_checklist

相关文章

  • Logstash占用CPU高的问题

    问题描述 使用 top 命令查看USER为logstash的进程占用CPU达到200%~300% 处理方法 查看l...

  • 线上java服务器CPU使用率高问题定位

    问题描述 线上服务器,cpu占用高,需要对该问题进行定位解决。 1.寻找cpu占用高的程序 1.1 执行top -...

  • 排查java-CPU使用率高的问题

    记录一次线上排查CPU使用高的问题 使用top命令找到占用CPU高的进程PID 显示线程列表 使用 找到占用CPU...

  • CPU占用高问题排查

    步骤 查看CPU占用率高的程序 查看CPU占用最高的几个程序 查看PID对应的程序具体信息 输出具体日志 查看程序...

  • Linux CPU占用高分析

    1. 按照cpu占用排序,确认cpu占用高的进程 top 确认pid 2. 进入进程,确认cpu占用高的线程 ...

  • 工作记录

    1 检查gkapp占用cpu高的问题。首先,确认是哪个代码模块占用cpu高,主线程主要做了这几件事:a 检查tcp...

  • 3步定位cpu占比过高或者oom

    jstack检测cpu高步骤一:查看cpu占用高进程 步骤二:查看cpu占用高线程 步骤三:转换线程ID 步骤四:...

  • java应用cpu占用过高的问题

    问题:java应用CPU占用持续高位 一般性结论:一般来说,CPU占用高不高的问题,不是给定一个数值,例如90%以...

  • Android CPU占用高问题分析

     最近负责的项目中,有一定制客户频繁的抱怨设备在安装一些客户的app组件后,云端采集到的CPU占用率信息一直维持在...

  • 线上问题排查基本思路

    cpu占用过高排查思路 1、top查看占用cpu高的进程 pid2、top -Hp pid 查看进程中占用cpu过...

网友评论

      本文标题:Logstash占用CPU高的问题

      本文链接:https://www.haomeiwen.com/subject/vlamqqtx.html