Spring-boot-admin:应用崩溃后,应用状态仍为“UP”

时间:2016-09-21 11:44:37

标签: monitoring spring-boot-actuator

Spring boot admin是一个很棒的工具,可以使我的Spring启动应用程序(在我的例子中是一个Web服务器)的运行状况和指标可用。我跟着reference guide并最终可以运行它,但有一个例外:服务器似乎无法识别客户端是否崩溃/停机。

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

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

的pom.xml

...
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server</artifactId>
</dependency>
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server-ui</artifactId>
</dependency>
...

application.properties:

server.port=8081

MyMain:

@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class MyMain {
    public static void main(String[] args) {
        SpringApplication.run(MyMain.class, args);
    }
}

客户端(我要监控的WebApp):

的pom.xml:

...
<!-- SPRING BOOT ADMIN (CLIENT) -->
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
...

application.properties:

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

通过此设置,我可以连接到http://localhost:8080以获取我的网络应用或http://localhost:8081以查看管理/监控用户界面。状态显示UP,我可以浏览mem / heap / traces /...

现在的问题是,如果我杀了网络应用程序,状态仍为UP。

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

2 个答案:

答案 0 :(得分:1)

尝试从项目目录 -

通过命令行运行应用程序
  

mvn spring-boot:run

答案 1 :(得分:1)

这很简单。

kill -15 PID

在application.properties中设置它。

请注意,这仅适用于您的应用程序正常终止或使用SIGTERM(mM[iRow,j] = p[k])。

如果你杀了你的应用程序,应用程序将不会取消注册,因为上下文没有正确关闭。

在此处查看更多内容 - Apache JMeter Properties Customization Guide