kubernetes 日志管理通过 filebeat 到 logstash

kubernetes log management via filebeat to logstash

我正在将一些服务迁移到 kubernetes,我正在研究日志文件管理的解决方案。所述服务可能相当嘈杂(日志说话),因为它们将在各种容器中,我计划使用 logstash->elasticsearch 集中日志。

如果这些是 VM id,可能会设置 filebeat 来抓取日志,并将 logrotate 设置为非常坚定,不要让任何文件超过一天。这是适合 kubernetes 的机制吗?我不想通过填满磁盘在 kube 主机上造成问题。

本质上:每个容器都有一个服务+filebeat+严格的logrotate策略。日志将被转发到中央 logstash 实例。

这样合理吗?

使用任何类型的日志聚合器都没有限制。如果适用,您可以使用 service + filebeat + strict logrotate 策略。此外,作为替代方案,您可以使用 fluend-bit 作为日志聚合器,然后将其发送到 ELK。

official documentation 中您可以找到如何使用 ELK + fluend 的好方法。