首页 > 解决方案 > Stackdriver Monitoring API 在获取时间序列指标数据时抛出错误

问题描述

我收到错误

找不到有效的认证路径

从这段代码:

MetricServiceClient mServiceClient = MetricServiceClient.create()
ListTimeSeriesResponse response = mServiceClient.listTimeSeriesCallable().call(request);

错误的堆栈跟踪:

java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    ... 3 more
    Suppressed: com.google.api.gax.rpc.AsyncTaskException: Asynchronous task failed
            at com.google.api.gax.rpc.ApiExceptions.callAndTranslateApiException(ApiExceptions.java:57)
            at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112)
            at com.vmware.adapter3.gcp.builder.GoogleCloudMonitoringManager$MetricsCollector.lambda$null$6(GoogleCloudMonitoringManager.java:235)
            at java.util.ArrayList.forEach(ArrayList.java:1257)
            at com.vmware.adapter3.gcp.builder.GoogleCloudMonitoringManager$MetricsCollector.lambda$call$7(GoogleCloudMonitoringManager.java:207)
            at java.util.ArrayList.forEach(ArrayList.java:1257)
            at com.vmware.adapter3.gcp.builder.GoogleCloudMonitoringManager$MetricsCollector.call(GoogleCloudMonitoringManager.java:194)
            at com.vmware.adapter3.gcp.builder.GoogleCloudMonitoringManager$MetricsCollector.call(GoogleCloudMonitoringManager.java:165)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            ... 3 more Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception Channel Pipeline: [SslHandler#0,

ProtocolNegotiators$ClientTlsHandler#0, WriteBufferingAndExceptionHandler#0, DefaultChannelPipeline$TailContext#0] at io.grpc.Status.asRuntimeException(Status.java:533) ... 24 更多原因:javax.net.ssl.SSLHandshakeException:一般 OpenSslEngine 问题在 io.grpc.netty.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslEngine.handshakeException(ReferenceCountedOpenSslEngine.java:1728) 在 io.grpc.netty.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslEngine.wrap(ReferenceCountedOpenSslEngine. java:770) 在 javax.net.ssl.SSLEngine.wrap(SSLEngine.java:509) 在 io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:1043) 在 io .grpc.netty.shaded.io.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:934) 在 io.grpc.netty.shaded.io.netty。handler.ssl.SslHandler.unwrap(SslHandler.java:1392) 在 io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1224) 在 io.grpc.netty.shaded。 io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1271) 在 io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:505) 在 io.grpc。 netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:444) 在 io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:283) 在io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) 在 io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext。在 io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) 在 io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline $ 调用ChannelRead(AbstractChannelHandlerContext.java:360) HeadContext.channelRead(DefaultChannelPipeline.java:1422) 在 io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) 在 io.grpc.netty.shaded.io.netty.channel。 AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) 在 io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931) 在 io.grpc.netty.shaded.io.netty.channel。 nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) 在 io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:700) 处NioEventLoop.java:635) 在 io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) 在 io.grpc.netty.shaded.io.netty.channel.nio。 NioEventLoop.run(NioEventLoop.java:514) at io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) at io.grpc.netty.shaded.io.netty .util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ... 1 更多: sun.security.validator。ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法在 sun.security.validator 的 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) 处找到请求目标的有效证书路径。 PKIXValidator.engineValidate(PKIXValidator.java:302) 在 sun.security.validator.Validator.validate(Validator.java:262) 在 sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) 在 sun.security.ssl .X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:281) 在 sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136) 在 io.grpc.netty.shaded.io.netty.handler.ssl.OpenSslTlsv13X509ExtendedTrustManager.1350000 .java:221) 在 io.grpc.netty.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback.verify(ReferenceCountedOpenSslClientContext.java:248) 在 io.grpc.netty.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslContext$ AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:699) at io.grpc.netty.shaded.io.netty.internal.tcnative.SSL.readFromSSL(Native Method) at io.grpc.netty.shaded.io.netty.handler.ssl .ReferenceCountedOpenSslEngine.readPlaintextData(ReferenceCountedOpenSslEngine.java:589) 在 io.grpc.netty.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1172) 在 io.grpc.netty.shaded.io.netty .handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:第1289章)在io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler .unwrap(SslHandler.java:1329) ... 21 更多原因:sun.security.provider.certpath.SunCertPathBuilderException:无法在 sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder .java:141) 在 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) 在 java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) 在 sun.security.validator.PKIXValidator。 doBuild(PKIXValidator.java:392) ... 还有 35 个199) 在 io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1329) ... 21 更多原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到在 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) 在 java.security.cert 的 sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) 请求目标的有效认证路径.CertPathBuilder.build(CertPathBuilder.java:280) 在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ... 35 更多199) 在 io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1329) ... 21 更多原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到在 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) 在 java.security.cert 的 sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) 请求目标的有效认证路径.CertPathBuilder.build(CertPathBuilder.java:280) 在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ... 35 更多无法在 java 的 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) 的 sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) 中找到请求目标的有效认证路径。 security.cert.CertPathBuilder.build(CertPathBuilder.java:280) 在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ... 还有 35 个无法在 java 的 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) 的 sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) 中找到请求目标的有效认证路径。 security.cert.CertPathBuilder.build(CertPathBuilder.java:280) 在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ... 还有 35 个

我需要添加哪个证书?我没有看到任何用于在 Google API 中添加证书的 API。我错过了什么,还是有任何依赖JAR问题?

标签: google-cloud-platformgoogle-cloud-stackdriver

解决方案


推荐阅读