gel*_*ara 3 spring-boot spring-boot-actuator prometheus
我最近开始注意到 Prometheus 集成级别报告了一个奇怪的格式错误。错误堆栈如下所示。
知道是什么原因造成的吗?
谢谢!
我在 springboot 2.5.2
2021-07-15T11:53:30.530Z <> {session =,trace =,span =,user =,client =,thread = http-nio-9099-exec-9}错误:[org.apache.catalina.core .ContainerBase.[Tomcat-1].[localhost].[/].[dispatcherServlet]] org.apache.catalina.core.ContainerBase.[Tomcat-1].[localhost].[/].[dispatcherServlet]rlf(路径 [] 上下文中 servlet [dispatcherServlet] 的 Servlet.service() 抛出异常 [处理程序分派失败;嵌套异常为 java.lang.NoSuchFieldError: INFO],根本原因ask) java.lang.NoSuchFieldError: INFO at io.prometheus。 client.exporter.common.TextFormat.write004(TextFormat.java:72) ~[simpleclient_common-0.10.0.jar!/:?] 在 org.springframework.boot.actuate.metrics.export.prometheus.TextOutputFormat$2.write( TextOutputFormat.java:57) ~[spring-boot-actuator-2.5.2.jar!/:2.5.2] 在 org.springframework.boot.actuate.metrics.export.prometheus.PrometheusScrapeEndpoint.scrape(PrometheusScrapeEndpoint.java:58 ) ~[spring-boot-actuator-2.5.2.jar!/:2.5.2] 在 jdk.internal.reflect.GenerateMethodAccessor53.invoke(来源未知) ~[?:?] 在 jdk.internal.reflect.DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) ~[?:?] 在 java.lang.reflect.Method.invoke(Method.java:564) ~[?:?] 在 org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils. java:282) ~[spring-core-5.3.8.jar!/:5.3.8] 在 org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:74) ~[spring -boot-actuator-2.5.2.jar!/:2.5.2] 在 org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:60) ~[spring-boot-actuator-2.5。 2.jar!/:2.5.2] 在 org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$ServletWebOperationAdapter.handle(AbstractWebMvcEndpointHandlerMapping.java:291) ~[spring-boot-actuator-2.5.2.jar !/:2.5.2] 在 org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(AbstractWebMvcEndpointHandlerMapping.java:376) ~[spring-boot-actuator-2.5.2.jar!/: 2.5.2] 在 jdk.internal.reflect.GenerateMethodAccessor52.invoke(未知来源) ~[?:?] 在 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 在 java. lang.reflect.Method.invoke(Method.java:564) ~[?:?] 在 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.8 .jar!/:5.3.8] 在 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.8.jar!/:5.3.8] 在 org .springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在org.springframework.web.servlet。 mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 位于 org.springframework.web.servlet。mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework.boot.actuate.autoconfigure.web.servlet.CompositeHandlerAdapter.handle(CompositeHandlerAdapter.java:58) 〜[spring-boot-actuator-autoconfigure-2.5.2.jar!/:2.5.2] 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) 〜[spring-webmvc-5.3.8 .jar!/:5.3.8] 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework .web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:第898章 655 !/:?] 在 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 javax.servlet.http.HttpServlet .service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) ~[tomcat- embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar!/:? ] 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:97) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0 .48.jar!/:?] 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache. catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.48.jar!/:?] 位于 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.48.jar!/:?] at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764) [tomcat-embed-core-9.0.48.jar!/ :?] 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.coyote.http11.Http11Processor。服务(Http11Processor.java:382) [tomcat-embed-core-9.0.48.jar!/:?] 位于 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0 .48.jar!/:?] 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache. tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) [tomcat-embed-core-9.0.48.jar!/:?] 在组织。apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.48.jar!/:?] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:第1130章 1130 java:61) [tomcat-embed-core-9.0.48.jar!/:?] 在 java.lang.Thread.run(Thread.java:832) [?:?] 2021-07-15T11:53:45.162 Z <> {session=、trace=、span=、user=、client=、thread=http-nio-9099-exec-8} 错误:[org.apache.catalina.core.ContainerBase.[Tomcat-1]。 [localhost].[/].[dispatcherServlet]] org.apache.catalina.core.ContainerBase.[Tomcat-1].[localhost].[/].[dispatcherServlet]rlf(Servlet.service() for servlet [dispatcherServlet] ] 在路径 [] 的上下文中抛出异常 [处理程序调度失败;嵌套异常是 java.lang.NoSuchFieldError: INFO] ,根本原因ask) java.lang.NoSuchFieldError: INFO at io.prometheus.client.exporter.common.TextFormat.write004 (TextFormat.java:72) ~[simpleclient_common-0.10.0.jar!/:?] 在 org.springframework.boot.actuate.metrics.export.prometheus.TextOutputFormat$2.write(TextOutputFormat.java:57) ~[spring -boot-actuator-2.5.2.jar!/:2.5.2] 在 org.springframework.boot.actuate.metrics.export.prometheus.PrometheusScrapeEndpoint.scrape(PrometheusScrapeEndpoint.java:58) ~[spring-boot-actuator- 2.5.2.jar!/:2.5.2] 在 jdk.internal.reflect.GenerateMethodAccessor53.invoke(来源不明) ~[?:?] 在 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~ [?:?] 在 java.lang.reflect.Method.invoke(Method.java:564) ~[?:?] 在 org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) ~[spring-core -5.3.8.jar!/:5.3.8] 在 org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:74) ~[spring-boot-actuator-2.5.2. jar!/:2.5.2] 在 org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:60) ~[spring-boot-actuator-2.5.2.jar!/:2.5.2 ] 在 org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$ServletWebOperationAdapter.handle(AbstractWebMvcEndpointHandlerMapping.java:291) ~[spring-boot-actuator-2.5.2.jar!/:2.5.2] 在组织.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(AbstractWebMvcEndpointHandlerMapping.java:376)~[spring-boot-actuator-2.5.2.jar!/:2.5.2]位于jdk.internal。 Reflect.GenerateMethodAccessor52.invoke(来源未知) ~[?:?] 在 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 在 java.lang.reflect.Method.invoke(Method .java:564) ~[?:?] 在 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.8.jar!/:5.3.8]在 org.springframework.web.method.support.InvocableHandlerMethod。invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.8.jar!/:5.3.8] 在 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106 )〜[spring-webmvc-5.3.8.jar!/:5.3.8]在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)〜[spring-webmvc- 5.3.8.jar!/:5.3.8] 在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.8.jar!/ :5.3.8] 在 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework .boot.actuate.autoconfigure.web.servlet.CompositeHandlerAdapter.handle(CompositeHandlerAdapter.java:58) ~[spring-boot-actuator-autoconfigure-2.5.2.jar!/:2.5.2] 位于 org.springframework.web。 servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~ [spring-webmvc-5.3.8.jar!/:5.3.8] 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.8.jar!/: 5.3.8] 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.8.jar!/:5.3.8] 在 javax.servlet.http.HttpServlet。服务(HttpServlet.java:655)〜[tomcat-embed-core-9.0.48.jar!/:?]在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)〜[spring-webmvc -5.3.8.jar!/:5.3.8] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.48.jar!/:?] 在组织.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) ~[tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:163) ~[tomcat-embed-core-9.0.48.jar!/:?] 位于 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0. 48.jar!/:?] 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [ tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.48.jar!/: ?] 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.catalina.valves.RemoteIpValve.invoke (RemoteIpValve.java:764) [tomcat-embed-core-9.0.48.jar!/:?] 位于 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core- 9.0.48.jar!/:?] 位于 org.apache。coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-embed-core-9.0.48.jar!/:?] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat -embed-core-9.0.48.jar!/:?] 位于 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.48.jar!/:? ] 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) [tomcat-embed-core-9.0.48.jar!/:?] 在 org.apache.tomcat.util。 net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.48.jar!/:?] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:? ] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?] 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat -embed-core-9.0.48.jar!/:?] 在 java.lang.Thread.run(Thread.java:832) [?:?]
该异常表明问题发生在TextFormat所引用的第 72 行Collector.Type.INFO。在Prometheus 的 Java 客户端 0.10.0 版本中INFO添加。
我可以从堆栈跟踪中看出您正在使用 0.10.0 的simpleclient_common. 正是这个罐子里装着TextFormat。Collector.Type是客户端simpleclient模块的一部分。您必须使用此模块的早期版本,因此INFO枚举中缺少该值Collector.Type。
您需要更新您的build.gradle或pom.xml文件以更正依赖项的版本,以确保您使用的每个 Prometheus 客户端模块都具有相同的版本。
| 归档时间: |
|
| 查看次数: |
2679 次 |
| 最近记录: |