Service 关于如何监控(微型)服务的建议?
我们正在从在monolith应用服务器上构建应用程序过渡到在Spring Boot上构建更多面向微服务的应用程序。我们将通过HTTP或JMX向SB启动器发布健康信息Service 关于如何监控(微型)服务的建议?,service,spring-boot,monitoring,microservices,spring-boot-actuator,Service,Spring Boot,Monitoring,Microservices,Spring Boot Actuator,我们正在从在monolith应用服务器上构建应用程序过渡到在Spring Boot上构建更多面向微服务的应用程序。我们将通过HTTP或JMX向SB启动器发布健康信息 监控服务的选项/最佳实践有哪些,总共大约30-50个?谢谢你的意见 由于不太了解您的体系结构和服务的详细信息,以下是一些建议,它们代表了我在生产环境中工作过的系统中经过验证的策略(其中的一个子集)。为此,我假设每个微服务使用一个容器/VM: 如果您的服务是无状态的(应该是:-),并且您有冗余(应该是:-),那么您可以设置负载平衡器
监控服务的选项/最佳实践有哪些,总共大约30-50个?谢谢你的意见 由于不太了解您的体系结构和服务的详细信息,以下是一些建议,它们代表了我在生产环境中工作过的系统中经过验证的策略(其中的一个子集)。为此,我假设每个微服务使用一个容器/VM:
- 如果您的服务是无状态的(应该是:-),并且您有冗余(应该是:-),那么您可以设置负载平衡器来调用每个实例上的/health,如果运行状况检查失败,那么负载平衡器应该使该实例停止旋转。根据系统的容忍度,您可以设置定义故障的各种规则,而不仅仅是单个故障(例如连续3次等)
- 在每个实例上运行一个Nagios代理,该代理在本地主机上调用运行状况检查(/health)。如果失败,则生成一个警报,指定哪个实例失败李>
- 您还希望确保,如果给定服务的任何实例都不正常,则会生成更高级别的警报。您可以在负载平衡器中进行设置,也可以在负载平衡器外部设置一个监视进程,定期调用您的服务,如果它没有得到任何响应(即没有任何实例响应),那么它应该发出所有警报。希望在生产中不会触发这种情况,因为您处理了其他警报李>
- 高级:在云环境中,您可以使用自动缩放功能连接警报。这样,每当监控系统认为某个服务实例不健康时,就会删除不健康的实例,并自动启动健康的实例
- 如果您的服务是无状态的(应该是:-),并且您有冗余(应该是:-),那么您可以设置负载平衡器来调用每个实例上的/health,如果运行状况检查失败,那么负载平衡器应该使该实例停止旋转。根据系统的容忍度,您可以设置定义故障的各种规则,而不仅仅是单个故障(例如连续3次等)
- 在每个实例上运行一个Nagios代理,该代理在本地主机上调用运行状况检查(/health)。如果失败,则生成一个警报,指定哪个实例失败李>
- 您还希望确保,如果给定服务的任何实例都不正常,则会生成更高级别的警报。您可以在负载平衡器中进行设置,也可以在负载平衡器外部设置一个监视进程,定期调用您的服务,如果它没有得到任何响应(即没有任何实例响应),那么它应该发出所有警报。希望在生产中不会触发这种情况,因为您处理了其他警报李>
- 高级:在云环境中,您可以使用自动缩放功能连接警报。这样,每当监控系统认为某个服务实例不健康时,就会删除不健康的实例,并自动启动健康的实例