logging - Logstash-forwarder运行几天后停止

标签 logging elasticsearch logstash

我正在一台服务器上使用logstash,在另一台服务器上使用logstash转发器来发送日志文件。通过logstash-forwarder发送文件的服务器正在处理大量日志(每10分钟约40万个日志)。运行logsash-forwarder约2天后,它停止工作,我必须重新启动它。我该怎么做才能解决此问题?

最佳答案

这主要是由您转发的日志文件的日志轮换引起的。
这是发生在我身上的相同示例:syslog正在重新记录事件,然后在00:01停止,

Oct 28 23:59:37 vhcdm5a logstash-forwarder[21246]: 2014/10/28 23:59:37.086385 Registrar received 6 events
Oct 28 23:59:44 vhcdm5a logstash-forwarder[21246]: 2014/10/28 23:59:44.586154 Registrar received 5 events
Oct 28 23:59:49 vhcdm5a logstash-forwarder[21246]: 2014/10/28 23:59:49.586503 Registrar received 3 events
Oct 28 23:59:54 vhcdm5a logstash-forwarder[21246]: 2014/10/28 23:59:54.586481 Registrar received 3 events
Oct 29 00:00:01 vhcdm5a CRON[23334]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:00:02 vhcdm5a logstash-forwarder[21246]: 2014/10/29 00:00:02.085533 Registrar received 3 events
Oct 29 00:01:01 vhcdm5a CRON[23787]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:02:01 vhcdm5a CRON[24338]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:03:01 vhcdm5a CRON[24794]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:04:01 vhcdm5a CRON[25260]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:05:01 vhcdm5a CRON[25721]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Oct 29 00:05:01 vhcdm5a CRON[25723]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:06:01 vhcdm5a CRON[26178]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:07:01 vhcdm5a CRON[26660]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)
Oct 29 00:08:01 vhcdm5a CRON[27126]: (graphite) CMD (/home/graphite/scripts/execute_graphite_scripts.sh 1)

您可以大致了解何时停止

a)您可以获取它以将syslog转发到logstash / flex 搜索,以便对其进行自我监控,并可以看到停止的地方!

b)像tail -1000 syslog.1 | grep logstash这样的内容将在停止解析日志时向您显示,然后找到最后一个事件grep -C 10 "00:00:02.085533" syslog.1,以便您至少知道它何时停止。

在我的情况下,日志确实在00:00:00旋转,因此它排列得很好。您的一些选择是:

1)每隔12小时或大约某个时间重新启动转发器。

2)修改logrotate策略,使其轮换更频繁,例如,如果您使用log4j,则可以使用yyyy-MM-dd-a每12小时轮换一次。

您可以在这里阅读更多有关人民的审判和磨难
https://github.com/elasticsearch/logstash-forwarder/issues/162

关于logging - Logstash-forwarder运行几天后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23739748/

相关文章:

elasticsearch - ElasticSearch不会为常见查询字符串返回任何结果(使用不太常见的字符串)

django - 如果在Django Rest框架中发生500错误,如何记录每个请求和响应?

delphi - 如何在 Delphi 中显示格式化(颜色、样式等)日志?

Elasticsearch 按对象数组排序

ruby - 如何组合多个 Gemfile 中的 gem 来运行一个 Ruby 程序?

elasticsearch - 如何在Logstash中将Groovy脚本与参数一起使用

tomcat - 如何使用 LogStash 在 tomcat 日志文件上创建索引

java.util.logging 在 Gwt 和 Glassfish 中不起作用

python - 如何使用 dictConfig 语法指定带有必需参数的日志处理程序类?

hibernate - Elasticsearch 的性能是否会受到关系数据库模型(如MySQL)的影响?