集中部署在 Kubernetes 中的 spring 启动微服务的日志的正确方法是什么?

What are the proper ways to centralize the logs of spring boot microservices deployed in Kubernetes?

我希望有一种方法可以将多个应用程序的日志集中在一个 Kubernetes 集群中运行。

最重要的是,如果有一种方法可以查询它们,这样我就可以在 UI 上显示它们。

有什么想法/建议吗?

根据Jordanm的建议,可以使用flientd + ES和Kibana(显示日志)。

我还建议检查相同的堆栈 Graylog、Elasticsearch 和 MongoDb。

你在 Kubernetes 上,所以这样也可以很容易地集成 Graylog,它是 open-source 工具。您可以使用官方的 helm chart 并部署它来存储中央日志。

用于部署 Graylog 的 Helm 图表:https://charts.kong-z.com/

Graylog 官方网站:https://www.graylog.org/

我还建议使用 Graylog 检查 Gelf UDP 选项,以便您的应用程序必须通过 UDP 协议发送日志,这样在巨大的流量下您的应用程序也可以生存并写入日志而无需等待 ack.