用于存储微服务的集中日志数据的 Azure PaaS

Azure PaaS for Storing Centralized Log Data for Microservices

如果我们在 Azure AKS 中部署微服务,可能会有多个 pods 和相同服务的副本。如果微服务想要保留任何关于它的流或错误的自定义日志信息,那么在哪里更好地集中存储这些日志?有没有 PaaS 服务? e. G。蔚蓝存储?这里有什么真实的经验可以分享吗?

我建议 Azure Application Insigths. You can enrich your telemetry with aks details using this integration package:

... when using Microsoft Application Insights for Kubernetes, you will see Kubernetes related properties like Pod-Name, Deployment ... on all your telemetry entries. Proper values will also be set to make use of the rich features like enabling the Application Map to show the multiple micro services on the same map.

为了在您的应用程序中进行日志记录,您可以使用 ILogger 接口(如果使用 .net)并将其通过管道传输 to app insights

或者您可以使用 the sdk 编写您自己的日志记录,支持选定的语言。

对于 java 应用程序,您可以通过管道传输日志 as well. You probably have to manually add pod details to your telemetry using telemetry initializers,因为 Microsoft Application Insights for Kubernetes 包仅支持 .Net。据我所知,他们使用 kubernetes rest api 来查询详细信息。