azure - 相同服务的 Kubernetes 多个 POD 实例的日志配置

标签 azure spring-boot kubernetes logback

我们最近为我们的企业应用程序转向了基于微服务的架构。我们使用 Kubernetes 集群来托管我们所有的微服务。

目前我们没有配置 ELK 来管理我们的日志,只是将应用程序日志存储到 azure blob 存储中。

当多个 POD 实例为一项服务运行时,我们面临问题,因为所有实例都使用相同的日志文件来更新内容。因此,实例会卡住并出现内存泄漏问题。

我已经在 docker 容器中配置了挂载路径,并且我的 logback 属性具有以下用于写入日志的条目。

<property name="DEV_HOME" value="/mnt/azure/<service-name>/logs" />

有没有办法在日志配置中获取 Pod 实例名称,以便我可以再向下添加一个级别,以便为不同的实例提供单独的日志。

或者有更好的方法来处理这种情况。

<property name="DEV_HOME" value="/mnt/azure/<service-name>/<instances>/logs" />

最佳答案

应该可以将Pod信息(包括名称)设置为环境变量,如提到的here 。在应用程序中读取环境变量并适当记录。

关于azure - 相同服务的 Kubernetes 多个 POD 实例的日志配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52757588/

相关文章:

java - Spring Boot Pojo 的 Pojo 验证不起作用

java - Minikube/kubernetes pod 无法连接到 Mongodb Atlas

azure - 我只想在项目的特定模块中使用 LUIS

java - 如何在 Spring boot 中使用非实时数据源创建 Jar 文件?

wcf - 名称解析失败,Windows Azure

java - 在 JOOQ 中动态构建条件

kubernetes - Azure Kubernetes 服务 : using an NGINX ingress controller with a Ocelot-based API gateway

kubernetes - 将 skaffold 配置文件绑定(bind)到命名空间

azure - Terraform 无法在 azure 上创建免费的 Web 应用程序

asp.net-mvc - 如何调试部署在 Azure 中的 ASPNET Core MVC 应用程序