我正在将我的日志推送到本地splunk安装。最近我发现以下错误重复了很多次(大约每分钟一次):
错误L10 (输出缓冲区溢出):自从丢弃了7150条消息 2013-06-26T19:19:52 + 00:00.134< 13> 1 2013-07-08T14:59:47.162084 + 00:00 主机应用程序web.1 - [\ x1B [37minfo \ x1B [0m]应用程序 - Perf - 花了31 毫秒来获取行ID ...
错误重复了很多,in the documentation据说当你的应用程序产生大量日志时会发生这些错误。
事实是,我每秒几乎没有20-30个日志,这并没有真正考虑很多。我测试了其他排水管(添加了内置的papertrail插件),这些错误不会发生在那里 - 因此它们特定于输出的splunk排水管。
我想也许splunk机器已加载,因此不能足够快地接受日志,但它的CPU处于空闲状态,并且它有足够的磁盘和磁盘。存储器中。
此外,我相信应用程序(Play 2应用程序)会自动将日志自动刷新到控制台,因此没有大量的未刷新日志,然后是发布。
什么会导致输出的splunk排水管的排水速度慢?我该如何调试呢?
答案 0 :(得分:8)
在与Heroku团队长时间乒乓球比赛后,我们找到了答案:
我在配置日志消耗时使用了URL前缀 http:// ,而不是 syslog:// 。当我将URL更改为syslog://时,错误消失了,日志正在流经splunks。
答案 1 :(得分:0)
我的POV只是因为错误消失了,并不意味着你解决了问题。 HTTP协议提供同步响应。因此,如果达到阈值,无论是容量限制还是业务协议阈值,HTTP响应代码都将成为指示。使用Sumo Logic,如果超过爆发率限制,我们将返回429响应代码。 Heroku Logplex未针对否定响应代码进行调整,并且会丢弃数据。使用syslog端点,您可能也会丢失数据,除了syslog没有响应通道,因此它唯一的选择是删除数据。对于Sumo Logic,您将在审核日志中看到通知,指示正在应用限制。如果发生这种情况,您应该联系支持人员或您的客户团队,以调整您的限制或增加您的计划。