假设我们有许多 Web API 微服务,它们是用不同的语言/框架编写的(有些是 ASP.NET Web API,有些是 NodeJS,有些是 Flask 等)。
我想记录对任何服务的每个请求,我更喜欢集中式日志。
我应该使用什么方法/工具?
问候,丹尼尔
假设我们有许多 Web API 微服务,它们是用不同的语言/框架编写的(有些是 ASP.NET Web API,有些是 NodeJS,有些是 Flask 等)。
我想记录对任何服务的每个请求,我更喜欢集中式日志。
我应该使用什么方法/工具?
问候,丹尼尔
有一种非常著名的方法叫做 ELK:
因此,所有信息都由 Logstash 收集,存储在 Elasticsearch 中并使用 Kibana UI 进行可视化。
有了这个堆栈,谁在生成信息(或使用什么技术)就无关紧要了。
如果您的日志变得更大(例如 TB 级别),您将需要一个大数据解决方案。我建议使用Apache Hadoop和Apache Flume和Elasticsearch。定期收集最新的日志数据并将其泵入 Elasticsearch,通过 Flume 代理将日志数据输入 HDFS 或HBase。
您可以有效地使用任何语言/日志记录工作框架。您需要做的就是在您的服务系列中再引入一项服务,即日志记录服务。您的所有服务都将日志发布到服务总线,服务总线依次将日志路由到日志服务以实现持久性。