我们将使用Spring构建大量(微)服务。这些当然会产生大量的分离日志。管理这些日志并理解它们的选项和最佳实践是什么?谢谢你的帮助!
发布于 2016-02-23 23:15:54
这取决于您想要如何理解日志。您可以使用富日志聚合平台(如麋鹿 )收集和索引来自不同微服务实例的所有日志。使用它,您可以基于服务器IP、服务名称、日期范围等多个属性搜索日志。设置这一设置相当容易,尽管在生产中您希望使用最佳实践来实现高可用性。
如果您想在系统的不同分布式组件之间进一步关联日志,那么您可能需要做更多的工作。例如,如果您希望通过正在使用的所有微服务遵循相同的“请求”,您可以附加一个公共标识符(例如会话ID)来记录这些服务中的消息。您将需要以某种方式跨服务边界通信此公共标识符。例如,如果您的服务是通过HTTP访问的,您可以通过HTTP报头发送ID,并将上下文侦听器添加到您的微服务中,以检测特殊的标头,并在每个日志消息中包含ID。如果您在标准日志库周围开发了一个薄包装器,它将透明地向开发人员提供ID,这将使这变得更容易。这种方法的另一个好处是允许您在所有服务中强制执行日志消息格式。(也有其他方法可以做到这一点,比如在麋鹿体内使用过滤器)
然后,当稍后搜索聚合日志时,可以搜索特定的ID,并通过使用的所有微服务跟踪给定的请求。
https://stackoverflow.com/questions/35589045
复制相似问题