google-cloud-platform - 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
问题?
解决方案
推荐阅读
- git - 使用 git subtree push 推送标签
- postgresql - 跟踪用户最后一次 API 使用日期时间的最佳实践
- mysql - 如何加快 ADODB 连接
- python - 如何不按值而是按值范围合并两个数据框?
- python - 删除与 Python 中的正则表达式模式不匹配的所有内容
- haskell - 没有由文字 '1.0' 产生的 (Fractional [Double]) 实例
- c# - 从文本框中打开下面的新 winform
- javascript - 浏览器使用 FontFace 延迟加载字体
- powershell - 在powershell中返回大文件的url和状态码
- python - 使用 'loc' 选择多个列