Skywalking Illegal character in hostname at index

    技术2022-07-17  78

    ERROR 2020-07-02 14:04:09:379 SkywalkingAgent-5-GRPCChannelManager-0 GRPCChannelManager : Create channel to apm-skywalking_oap:11800 fail. java.lang.IllegalArgumentException: Invalid host or port: apm-skywalking_oap 11800 at org.apache.skywalking.apm.dependencies.io.grpc.internal.GrpcUtil.authorityFromHostAndPort(GrpcUtil.java:488) at org.apache.skywalking.apm.dependencies.io.grpc.netty.NettyChannelBuilder.<init>(NettyChannelBuilder.java:133) at org.apache.skywalking.apm.dependencies.io.grpc.netty.NettyChannelBuilder.forAddress(NettyChannelBuilder.java:119) at org.apache.skywalking.apm.agent.core.remote.GRPCChannel.<init>(GRPCChannel.java:38) at org.apache.skywalking.apm.agent.core.remote.GRPCChannel.<init>(GRPCChannel.java:29) at org.apache.skywalking.apm.agent.core.remote.GRPCChannel$Builder.build(GRPCChannel.java:101) at org.apache.skywalking.apm.agent.core.remote.GRPCChannelManager.run(GRPCChannelManager.java:115) at org.apache.skywalking.apm.util.RunnableWithExceptionProtection.run(RunnableWithExceptionProtection.java:33) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.net.URISyntaxException: Illegal character in hostname at index 16: //apm-skywalking_oap:11800 at java.base/java.net.URI$Parser.fail(URI.java:2913) at java.base/java.net.URI$Parser.parseHostname(URI.java:3448) at java.base/java.net.URI$Parser.parseServer(URI.java:3297) at java.base/java.net.URI$Parser.parseAuthority(URI.java:3216) at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3158) at java.base/java.net.URI$Parser.parse(URI.java:3125) at java.base/java.net.URI.<init>(URI.java:685) at org.apache.skywalking.apm.dependencies.io.grpc.internal.GrpcUtil.authorityFromHostAndPort(GrpcUtil.java:486) ... 13 more

    该问题是由于Skywalking agent连接到 oap-server,对于oap-server的主机名或者域名不能带有 _ 下划线,比较扯,docker swarm中生成的全名为 stack_servicename,对于swarm service直接使用servicename即可,总之skywalking不支持 _ 下划线的服务地址。需要避免该问题

    Processed: 0.020, SQL: 9