Spring Webflux 2.4.2 - 执行器 /auditevents /httptrace /integrationgraph /sessions 端点上的 404

Posted

技术标签:

【中文标题】Spring Webflux 2.4.2 - 执行器 /auditevents /httptrace /integrationgraph /sessions 端点上的 404【英文标题】:Spring Webflux 2.4.2 - 404 on actuator /auditevents /httptrace /integrationgraph /sessions endpoints 【发布时间】:2021-05-09 20:13:41 【问题描述】:

关于一些返回 404 的执行器端点的小问题。 我有一个基于 Webflux 2.4.2 的网络应用程序,仅用于测试这个问题,我正在使用

management.endpoints.web.exposure.include=*

Actuator 正在工作,因为 curl 将获得 /health /metrics 和其他端点的响应。

但是,对于那些端点 /auditevents /httptrace /integrationgraph /sessions,除了 http 404 之外,我什么也得不到。

[05/Feb/2021:13:00:18 +0000] "OPTIONS /auditevents HTTP/1.1" 404 141 55 毫秒

请问我错过了什么? 请问启用 /auditevents 端点的步骤是什么? 请问启用 /httptrace 端点的步骤是什么?我有侦探和 Zipkin 工作 请问启用 /integrationgraph 端点的步骤是什么? 请问启用 /sessions 端点的步骤是什么?

这些确实是唯一返回 404 的端点,但仍然不知道为什么。 不想向每个端点发送一个问题相同的问题。所有其他执行器端点都很好。

谢谢

【问题讨论】:

春季开机版? 从日志行看来您正在使用 OPTIONS http 方法。我相信您应该对/auditevents 使用GET http 方法。如果你使用 curl 来测试这些端点,你可以传入-X GET 哦,是的,谢谢。但是得到完全相同的机智 -X GET,仍然是 404 【参考方案1】:

根据Spring Boot Reference Docs:

要在执行器中启用/httptrace,您必须在自定义@Configuration 类中创建一个InMemoryHttpTraceRepository 类的bean,以提供请求和响应的跟踪。

@Bean
public HttpTraceRepository htttpTraceRepository() 
  return new InMemoryHttpTraceRepository();

要在执行器中启用/auditevents,您必须在自定义@Configuration 类中创建一个InMemoryAuditEventRepository 类的bean,以公开审计事件信息。

@Bean
public AuditEventRepository auditEventRepository() 
  return new InMemoryAuditEventRepository();

要在执行器中启用/integrationgraph,您必须在 pom.xml 中添加spring-integration-core dependency(根据文档):

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-core</artifactId>
</dependency>

或者如果你有一个 spring-boot 项目,那么添加这个:

  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-integration</artifactId>
  </dependency>

/actuator/sessions 默认启用。但您仍然可以显式添加它来检查行为。

在 application.properties 中添加这个。

management.endpoint.sessions.enabled = true

【讨论】:

非常。公认。非常感谢您的明确解释 请不要发布文本截图,在答案中包含文本,并带有文本链接并使用 quote 功能。 meta.***.com/a/285557/1840146 链接引用:You should not post code (or error/exception messages, log files, configuration files, project files, or anything else that is represented in textual form) @Toerktumlare 更新了我的答案。已删除屏幕截图。

以上是关于Spring Webflux 2.4.2 - 执行器 /auditevents /httptrace /integrationgraph /sessions 端点上的 404的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 Spring webflux 项目的默认 Threadpool 执行器的效果如何?

如何使用 Spring WebFlux 为执行器端点添加 URL 别名?

Spring Boot v2.0.0.M2 webflux 和执行器

在 Spring Webflux 中执行阻塞 JDBC 调用

如何在 Spring Webflux / Reactor Netty Web 应用程序中执行阻塞调用

深入剖析 Spring WebFlux