导出projectName=XXX的TimeSeries时抛出异常

问题描述 投票:0回答:1

我正在尝试为部署在 GCP 云运行中的 springboot 应用程序之一启用客户端/服务器端指标,并将数据写入 Bigtable。

在启用客户端/服务器端指标之前,应用程序运行良好,并且在处理请求时没有问题。由于我们启用了指标编写器,我不断地看到不同的错误。

"com.google.api.gax.rpc.UnknownException: io.grpc.StatusRuntimeException: UNKNOWN: Authentication backend unknown error.
    at com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:119)
    at com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:41)
    at com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:86)
    at com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:66)
    at com.google.api.gax.grpc.GrpcExceptionCallable$ExceptionTransformingFuture.onFailure(GrpcExceptionCallable.java:97)
    at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:67)
    at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1132)
    at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
    at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1270)
    at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1038)
    at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:808)
    at io.grpc.stub.ClientCalls$GrpcFuture.setException(ClientCalls.java:574)
    at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:544)
    at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
    at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
    at com.google.api.gax.grpc.ChannelPool$ReleasingClientCall$1.onClose(ChannelPool.java:535)
    at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:563)
    at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70)
    at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:744)
    at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:723)
    at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
    at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
    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.google.cloud.monitoring.v3.MetricServiceClient.createServiceTimeSeries(MetricServiceClient.java:1876)
        at com.google.cloud.bigtable.stats.BigtableCreateTimeSeriesExporter.export(BigtableCreateTimeSeriesExporter.java:80)
        at com.google.bigtable.veneer.repackaged.io.opencensus.exporter.metrics.util.MetricReader.readAndExport(MetricReader.java:167)
        at com.google.bigtable.veneer.repackaged.io.opencensus.exporter.metrics.util.IntervalMetricReader$Worker.readAndExport(IntervalMetricReader.java:177)
        at com.google.bigtable.veneer.repackaged.io.opencensus.exporter.metrics.util.IntervalMetricReader$Worker.run(IntervalMetricReader.java:170)
        ... 1 common frames omitted
Caused by: io.grpc.StatusRuntimeException: UNKNOWN: Authentication backend unknown error.
    at io.grpc.Status.asRuntimeException(Status.java:539)
    ... 14 common frames omitted

我添加的新代码是

BigtableDataSettings.enableBuiltinMetrics();

我已经检查了 IAM 政策,一切看起来都很好。不确定我在这里缺少什么,任何帮助将不胜感激。谢谢!

java spring-boot google-cloud-platform terraform-provider-gcp google-cloud-bigtable
1个回答
0
投票

身份验证后端未知应该是暂时性错误。它是一直发生还是至少可以重现?您是否看到导出时间序列引发的其他错误?

如果您对 Bigtable 客户端有任何特殊设置,则应使用

BigtableDataSettings.enableBuiltinMetrics(Credentials credentials);
为您的指标设置凭据。确保您已遵循 Bigtable 身份验证的所有步骤:https://cloud.google.com/bigtable/docs/authentication 并且您已启用云监控 API https://cloud.google.com/bigtable /docs/client-side-metrics-setup#enable-the-cloud-monitoring-api.

© www.soinside.com 2019 - 2024. All rights reserved.