Monitoring Spring boot admin:应用程序状态保持为“;“向上”;应用程序崩溃后

Monitoring Spring boot admin:应用程序状态保持为“;“向上”;应用程序崩溃后,monitoring,spring-boot-actuator,Monitoring,Spring Boot Actuator,SpringBootAdmin是一个很好的工具,可以让我的SpringBoot应用程序(在我的例子中是一个web服务器)的运行状况和指标可用。我已经遵循了,并最终可以让它运行,但有一个例外:服务器似乎无法识别客户机是否崩溃/停机 对于测试,我目前使用单独的应用程序,它们都运行在同一台主机上。在最终版本中,我计划让多个客户端(在单独的IP地址上运行)注册到一个单独的服务器(在其单独的IP地址上运行) 服务器(一个单独的spring启动项目) pom.xml MyMain: 客户端(我的WebApp

SpringBootAdmin是一个很好的工具,可以让我的SpringBoot应用程序(在我的例子中是一个web服务器)的运行状况和指标可用。我已经遵循了,并最终可以让它运行,但有一个例外:服务器似乎无法识别客户机是否崩溃/停机

对于测试,我目前使用单独的应用程序,它们都运行在同一台主机上。在最终版本中,我计划让多个客户端(在单独的IP地址上运行)注册到一个单独的服务器(在其单独的IP地址上运行)

服务器(一个单独的spring启动项目)

pom.xml

MyMain:

客户端(我的WebApp将被监控):

pom.xml:

通过此设置,我可以连接到以获取我的web应用程序或查看管理/监控UI。状态显示出来,我可以浏览mem/heap/traces/

现在的问题是,如果我杀死这个web应用程序,它的状态将保持为UP

  • 根据描述,我假设服务器属性
    spring.boot.admin.monitor.period
    每10秒检查一次客户端应用程序的状态
  • 或者,我是否需要此通知功能

  • 尝试从项目目录通过命令行运行应用程序-

    mvn spring启动:运行


    尝试从项目目录通过命令行运行应用程序-

    mvn spring启动:运行

    很简单

    spring.boot.admin.auto-deregistration=true 
    
    在application.properties中设置此选项

    请记住,只有当您的应用程序正常终止或使用SIGTERM(
    kill-15pid
    )时,这才有效

    如果您终止应用程序,应用程序将不会取消注册,因为上下文未正确关闭

    请参阅此处的详细信息-

    这很简单

    spring.boot.admin.auto-deregistration=true 
    
    在application.properties中设置此选项

    请记住,只有当您的应用程序正常终止或使用SIGTERM(
    kill-15pid
    )时,这才有效

    如果您终止应用程序,应用程序将不会取消注册,因为上下文未正确关闭


    请参阅此处的详细信息-

    您是否从IDE运行引导客户端?如果是的话,请尝试从终端运行spring引导客户端和admin,我遇到了同样的问题。您是从IDE运行引导客户端吗?如果是的话,那么请尝试从终端运行SpringBootClient和admin,我在我的案例中遇到了同样的问题。
    @Configuration
    @EnableAutoConfiguration
    @EnableAdminServer
    public class MyMain {
        public static void main(String[] args) {
            SpringApplication.run(MyMain.class, args);
        }
    }
    
    ...
    <!-- SPRING BOOT ADMIN (CLIENT) -->
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-client</artifactId>
    </dependency>
    ...
    
    server.port=8080
    spring.boot.admin.url=http://localhost:8081
    spring.boot.admin.client.management-url=http://localhost:8081
    spring.boot.admin.client.service-url=http://localhost:8080
    spring.boot.admin.client.name=my-rest-app
    
    spring.boot.admin.auto-deregistration=true