SpringBoot 是基于 Java Spring 框架的套件,它预装了 Spring 的一系列组件,让开发者只需要很少的配置就可以创建独立运行的应用程序。在云原生的世界,有大量的平台可以运行 SpringBoot 应用,例如虚拟机,容器等。但其中最有吸引力的,是以 Serverless 的方式运行 SpringBoot 应用。
我将通过一系列文章,从架构,部署,监控、性能、安全等5个方面来分析 Serverless 平台运行 SpringBoot 应用的优劣。为了让分析更有代表性,我选择了 github 上 star 数超过 50k 的电商应用 mall 作为示例。通过“SpringBoot Serverless 实战 - 部署”这篇文章,相信大家已经感受到 Serverless 应用上线的便捷。这是系列文章的第三篇, 向大家展示如何监控和调试 Serverless 应用。
实时日志
对运行在远端云平台上的应用而言,日志是调试的主要手段。分布式应用下有多个实例,日志的收集和分析是很有挑战的。虽然有很多成熟的开源产品,但要搭建和持续运维这些软件,成本不小。函数计算内置了对日志收集/分析的完整支持。用户只需要在应用逻辑中输出日志,这些日子被自动收集,并可以实时查看,通过多种方式聚合,查询。
在之前的文章中,我们通过 Serverless Devs 工具已经为应用自动创建创建了日志仓库,可以在函数计算控制台查看请求,应用级别的日志,也可使用 SQL 语言进行高级查询。除此之外,Serverless Devs 工具还提供了实时日志功能,对于应用调试非常有帮助。
在项目根目录下,即 s.yaml 所在的目录,执行下面的命令,将输出 s.yaml 中定义的所有服务的日志。