12

我正在将日志推送到本地 splunk 安装。最近发现下面的错误重复很多(大约每分钟一次):

错误 L10(输出缓冲区溢出):自 2013-06-26T19:19:52+00:00.134 <13>1 2013-07-08T14:59:47.162084+00:00 主机应用程序 web.1 - [\ x1B[37minfo\x1B[0m] 应用程序 - 性能 - 获取行 ID 需要 31 毫秒...

错误重复了很多次,并且在文档中说当您的应用程序产生大量日志时会发生这些错误。

问题是,我每秒几乎没有 20-30 条日志,这并不算多。我用其他排水管进行了测试(添加了内置的 papertrail 插件),这些错误不会在那里发生 - 所以它们特定于传出的 splunk 排水管。

我想可能是 splunk 机器已加载,因此接收日志的速度不够快,但它的 CPU 处于空闲状态,并且它有足够的磁盘和内存。

此外,我相信该应用程序(Play 2 应用程序)一直在自动刷新日志以进行控制台,因此在发布之后没有大量未刷新日志的积累。

什么会导致流出的 splunk 排水管排水速度缓慢?我应该如何调试它?

4

3 回答 3

11

在与 Heroku 团队进行了长时间的乒乓比赛后,我们找到了答案:

我在配置日志消耗时使用了 URL 前缀http:// ,而不是syslog://。当我将 URL 更改为 syslog:// 时,错误消失了,并且日志正确地流经 splunks。

于 2013-07-27T19:34:36.483 回答
2

我的观点是,仅仅因为错误消失了,并不意味着您解决了问题。HTTP 协议给出一个同步响应。因此,如果您达到阈值,无论是容量限制,还是业务协议阈值,HTTP 响应代码都会作为指示。使用 Sumo Logic,如果您超过了突发速率限制,我们将返回 429 响应代码。Heroku Logplex 没有针对负面响应代码进行调整,并且会丢弃数据。使用 syslog 端点,您也可能会丢失数据,除了 syslog 没有响应通道,因此它唯一的选择是删除数据。对于 Sumo Logic,您将在审核日志中看到指示正在应用限制的通知。发生这种情况时,您应该联系支持人员或您的客户团队,以调整您的限制,

于 2017-07-07T20:48:02.817 回答
0

对我来说,问题是应用程序由于错误而离线,并且不知何故 LogDNA 插件不喜欢这样。只需修复错误,重新部署并重新启动测功机就可以解决我的问题。

于 2022-01-29T15:41:40.077 回答