我一直在研究如何部署 NodeJS 应用程序以及如何在以后监控它们。我觉得我的术语可能有点不对,所以我将解释一下我想要的。
我有多个虚拟机在运行,每个虚拟机上都需要安装 2-3 个不同的应用程序。每个虚拟机的服务不同。目前,这些服务都是使用 Git 和 PM2 手动处理和部署的。有一些使用 GitHub webhook 和一些简单代码的自动部署,但我们希望将其移至更集中的位置。
我希望有一个中央应用程序,我们可以在其中配置应在每个 VM 上运行的应用程序,并列出正在运行的应用程序、其版本和“状态”(因为其中大多数是 Web 应用程序,所以我们只需 ping 即可)。中央应用程序还应处理更新的部署,最好还能处理回滚。
我研究过 Ansible、Chef、Puppet 等工具,但大多数工具似乎都只是“我们已完成此任务,并且成功完成。”因此没有关于该服务是否处于活动状态等更多信息。此外,大多数监控工具只是记录日志,而我正在寻找的是一种获取所有正在运行的应用程序及其状态列表的方法。这个工具的名称可能是其他名称。
有没有一个工具可以满足我的需要,或者我是否试图将两个应该分开的工具组合成一个工具?