答案 0 :(得分:4)
免责声明:我不为Swisscom工作,所以我不知道他们的平台是如何配置的。那就是说,我相信我仍然可以回答你的问题。
这个缓冲区有多大?
我相信你要找的价值是doppler.maxRetainedLogMessages
,默认为100。
https://github.com/cloudfoundry/loggregator/wiki/Loggregator-Component-Properties
那就是说,我会认为缓冲的行数无关紧要。最近的日志功能纯粹是一种便利,它不是日志存储的意思。如果你试图以一种你需要知道它将缓冲多少的方式来使用它,那么你可能会错误地使用它,并且可能应该考虑不同的选项。
--recent
缓冲区可能不够大的几种常见情况和解决方案:
场景1 :您正在排除故障(可能是应用启动或阶段失败),而cf logs --recent
没有向您显示足够的信息。
在第二个终端中运行cf logs
并重复您的操作。这将显示您机器上本地保存的整个日志输出。您还可以使用cf logs <app> > some-file.log
重定向到文件。
场景2 :您正在运行生产应用。
您需要可靠的日志存储,以获得持续且可预测的时间。在这种情况下,您需要设置日志消耗,以便将日志发送到平台之外的某个位置以进行长期存储。
https://docs.cloudfoundry.org/devguide/services/log-management.html#user-provided
如果您有其他方案,请随时添加评论。可能有一种不同/更好的方法来处理它。
我可以自己更改吗?
我上面提到的设置是由您的平台运营商配置的。
希望有所帮助!
答案 1 :(得分:0)
感谢to Daniel Mikusa了解您的见解和有用的解释。我可以确认Swisscom Application Cloud使用默认值。
从我们的部署清单中引用:
loggregator:
(...)
maxRetainedLogMessages: 100
outgoing_dropsonde_port: 8081