提问人:Siva Tharun 提问时间:3/9/2023 更新时间:3/9/2023 访问量:245
GCP 日志记录和云跟踪 API 返回 503 UNAVAILABLE 错误
GCP logging and Cloud tracing API returning 503 UNAVAILABLE Error
问:
我是GCP云服务的新手,我正在尝试为Spring Boot存储库之一设置云日志记录/跟踪,因此我正在使用Spring Boot云GCP库来执行相同的操作。
我尝试在我的本地开发环境中运行该服务,我已经将GOOGLE_APPLICATION_CREDENTIALS文件位置设置为应用程序的环境变量。我已确保服务帐户具有正确的角色集,用于将日志和跟踪写入 GCP 操作套件 (stackdriver)。
但是,我注意到我收到了 cloudtrace.googleapis.com 和 logging.googleapis.com REST/grpc 调用的 503 UNAVAILABLE 响应状态。
我已经确保,通过使用下面的gcloud CLI命令,为我的项目启用了上述两个API。
gcloud 服务支持 cloudtrace.googleapis.com
gcloud 服务支持 logging.googleapis.com
当我尝试通过 gcloud cli 插入日志时,它按预期工作。
这些是作为 DefaultCredentialsProvider 配置的一部分设置为的凭据范围 -
[https://www.googleapis.com/auth/bigquery, https://www.googleapis.com/auth/trace.append, https://www.googleapis.com/auth/logging.admin, https://www.googleapis.com/auth/sqlservice.admin, https://www.googleapis.com/auth/devstorage.read_only, https://www.googleapis.com/auth/monitoring.write, https://www.googleapis.com/auth/pubsub, https://www.googleapis.com/auth/logging.write, https://www.googleapis.com/auth/spanner.admin, https://www.googleapis.com/auth/cloudruntimeconfig, https://www.googleapis.com/auth/devstorage.read_write, https://www.googleapis.com/auth/cloud-platform, https://www.googleapis.com/auth/spanner.data, https://www.googleapis.com/auth/datastore, https://www.googleapis.com/auth/cloud-vision]
请在下面找到用于设置应用程序的示例 java 配置。
application.properties
spring.cloud.gcp.logging.enabled=true
spring.cloud.gcp.trace.enabled=true
stackdriver.log.name=service.log
spring.cloud.gcp.credentials.scopes=DEFAULT_SCOPES,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/trace.append
management.tracing.sampling.probability=1.0
应用程序日志
io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at io.grpc.Status.asRuntimeException(Status.java:535)
at zipkin2.reporter.stackdriver.internal.AwaitableUnaryClientCallListener.onClose(AwaitableUnaryClientCallListener.java:100)
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:463)
Caused by: io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: No route to host: cloudtrace.googleapis.com/2404:6800:4007:81c:0:0:0:200a:443
Caused by: java.net.NoRouteToHostException: No route to host
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:482)
at sun.nio.ch.Net.connect(Net.java:474)
java.lang.RuntimeException: com.google.cloud.logging.LoggingException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at com.google.cloud.logging.LoggingImpl$9.onFailure(LoggingImpl.java:943)
at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:68)
at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1132)
Caused by: io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: No route to host: logging.googleapis.com/2001:4860:4802:32:0:0:0:174:443
Caused by: java.net.NoRouteToHostException: No route to host
at sun.nio.ch.Net.connect0(Native Method)
logback-spring.xml
<configuration>
<include resource="com/google/cloud/spring/logging/logback-appender.xml" />
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="com/google/cloud/spring/logging/logback-json-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="STACKDRIVER" />
</root>
</configuration>
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.8</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
<spring-cloud-gcp.version>3.2.0</spring-cloud-gcp.version>
<spring-cloud.version>2021.0.1</spring-cloud.version>
</properties>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>spring-cloud-gcp-starter</artifactId>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-trace</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>spring-cloud-gcp-dependencies</artifactId>
<version>${spring-cloud-gcp.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
答: 暂无答案
评论