logstash过滤错误日志_高考专业报名指南

logstash过滤错误日志_高考专业报名指南Logstash 参考指南(关闭Logstash)

大家好,又见面了,我是你们的朋友全栈君。

关闭Logstash

如果你将Logstash作为服务运行,请使用以下命令之一来停止它:

  • systemd使用:
systemctl stop logstash
  • upstart使用:
initctl stop logstash
  • sysv使用:
/etc/init.d/logstash stop

如果你正在POSIX系统的控制台中直接运行Logstash,那么你可以通过向Logstash发送SIGTERM来停止它,例如:

kill -TERM {logstash_pid}

或者,在控制台中输入Ctrl-C

在受控关闭期间会发生什么?

当你试图关闭一个正在运行的Logstash实例时,在它可以安全关闭之前,Logstash会执行几个步骤,它必须:

  • 停止所有输入、过滤和输出插件
  • 处理所有运行中的事件
  • 终止Logstash进程

以下条件影响关闭过程:

  • 一个输入插件以缓慢的速度接收数据。
  • 一个缓慢的过滤器,例如执行sleep(10000)的Ruby过滤器或执行非常繁重查询的Elasticsearch过滤器。
  • 一个断开连接的输出插件,正在等待重新连接以刷新运行中的事件。

这些情况使得关闭过程的持续时间和成功不可预测。

Logstash有一个失速检测机制,可以分析关闭期间管道和插件的行为,这种机制定期生成关于内部队列中运行中的事件计数和繁忙工作线程列表的信息。

为使Logstash在中断运行的情况下强制终止,当你启动Logstash时使用--pipeline.unsafe_shutdown

不安全的关闭、Logstash进程的强制关闭或由于任何其他原因导致的Logstash进程崩溃都可能导致数据丢失(除非你启用了Logstash使用持久队列),尽可能安全的关闭Logstash。

失速检测的例子

在本例中,缓慢的过滤器执行可以防止管道完全关闭,由于Logstash是由--pipeline.unsafe_shutdown标志启动的,因此关闭会导致20个事件的丢失。

bin/logstash -e 'input { generator { } } filter { ruby { code => "sleep 10000" } }
  output { stdout { codec => dots } }' -w 1 --pipeline.unsafe_shutdown
Pipeline main started
^CSIGINT received. Shutting down the agent. {:level=>:warn}
stopping pipeline {:id=>"main", :level=>:warn}
Received shutdown signal, but pipeline is still waiting for in-flight events
to be processed. Sending another ^C will force quit Logstash, but this may cause
data loss. {:level=>:warn}
{"inflight_count"=>125, "stalling_thread_info"=>{["LogStash::Filters::Ruby",
{"code"=>"sleep 10000"}]=>[{"thread_id"=>19, "name"=>"[main]>worker0",
"current_call"=>"(ruby filter code):1:in `sleep'"}]}} {:level=>:warn}
The shutdown process appears to be stalled due to busy or blocked plugins.
Check the logs for more information. {:level=>:error}
{"inflight_count"=>125, "stalling_thread_info"=>{["LogStash::Filters::Ruby",
{"code"=>"sleep 10000"}]=>[{"thread_id"=>19, "name"=>"[main]>worker0",
"current_call"=>"(ruby filter code):1:in `sleep'"}]}} {:level=>:warn}
{"inflight_count"=>125, "stalling_thread_info"=>{["LogStash::Filters::Ruby",
{"code"=>"sleep 10000"}]=>[{"thread_id"=>19, "name"=>"[main]>worker0",
"current_call"=>"(ruby filter code):1:in `sleep'"}]}} {:level=>:warn}
Forcefully quitting logstash.. {:level=>:fatal}

--pipeline.unsafe_shutdown未启用,Logstash继续定期运行并生成这些报告。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107278.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MQ入门总结(一)消息队列概念和使用场景

    MQ入门总结(一)消息队列概念和使用场景

  • Java快速入门的六个技巧[通俗易懂]

    Java快速入门的六个技巧[通俗易懂]学习目标:Java入门该学习什么?Java如何快速入门?Java快速入门的六个技巧,帮你顺利入门Java!学习内容:需要掌握:1、掌握静态方法和属性2、重现接口3、学好集合框架4、例外捕捉5、多线程需要理解机理6、了解网络编程学习目录:文章目录学习目标:学习内容:学习目录:一、掌握静态方法和属性二、重现接口三、学好集合框架四、例外捕捉五、多线程需要理解机理六、了解网络编程一、掌握静态方法和属性静态方法和属性用于描述某一类对象群体的特征,而不是对单个对象的特征。Jav

  • mysql数据库创建表_eclipse怎么导入jdbc驱动

    mysql数据库创建表_eclipse怎么导入jdbc驱动承接上一篇,MySQL我们已经安装OK了,那么怎么可以不去玩玩它呢!!学习重点:一:CMD登入退出命令:二:MySQL数据库服务器、数据库和表的关系三:数据库的指令操作四:表的常用指令操作

  • Eclipse下载与安装

    第一步:下载Eclipse,并安装下载链接:http://www.eclipse.org/downloads/1、点击DownloadPackages进入Eclipse下载界面2、找到EclipseIDEforJavaEEDevelopers,根据自己的系统选择Windows32-bit还是64-bit的,点击相应链接下载(因为我的系统是…

  • scrapy安装失败_scrapy安装失败

    scrapy安装失败_scrapy安装失败最近看了Python的基本语法,尝试着学一下爬虫,需要安装Scrapy。通过pip安装Scrapy时遇到下列问题:error:MicrosoftVisualC++9.0isrequired(Unabletofindvcvarsall.bat).Getitfromhttp://aka.ms/vcpython27访问系统提示的地址(Microsof

  • Linux 批量杀进程[通俗易懂]

    Linux 批量杀进程[通俗易懂]1.查需要杀死的进程ps-ef|grepyum2.去除掉里面的grepps-ef|grepyum|grep-vgrep3.打印kill命令ps-ef|grepyum|grep-vgrep|awk'{print”kill”$2}’4.执行kill命令ps-ef|grepyum|grep-vgrep|awk'{print”kill”$2}’|sh删除完成…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号