skywalking oap-server 域名配置
大家好,我是烤鴨:
????????由于skywalking 的 -Dskywalking.collector.backend_service 的后端服務(wù)過(guò)多,想通過(guò)配置域名的方式簡(jiǎn)化上報(bào)端agent配置,也更靈活。
報(bào)錯(cuò)了,先看代碼
報(bào)錯(cuò)信息:
org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException: INTERNAL: http2 exception at org.apache.skywalking.apm.dependencies.io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:262) at org.apache.skywalking.apm.dependencies.io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:243) at org.apache.skywalking.apm.dependencies.io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:156) at org.apache.skywalking.apm.network.language.agent.v3.JVMMetricReportServiceGrpc$JVMMetricReportServiceBlockingStub.collect(JVMMetricReportServiceGrpc.java:181) at org.apache.skywalking.apm.agent.core.jvm.JVMMetricsSender.run(JVMMetricsSender.java:82) at org.apache.skywalking.apm.util.RunnableWithExceptionProtection.run(RunnableWithExceptionProtection.java:33) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.skywalking.apm.dependencies.io.netty.handler.codec.http2.Http2Exception: First received frame was not SETTINGS. Hex dump for first 5 bytes: 485454502f at org.apache.skywalking.apm.dependencies.io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:103) at org.apache.skywalking.apm.dependencies.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.verifyFirstFrameIsSettings(Http2ConnectionHandler.java:338) at org.apache.skywalking.apm.dependencies.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:239)因?yàn)檫@個(gè)問(wèn)題,有個(gè)人還專門(mén)提了issue和提交。
https://github.com/apache/skywalking/issues/6040
想使用grpc的話(還沒(méi)有證書(shū)),開(kāi)啟配置。
agent.config 中設(shè)置 agent.force_tls 為 true 或者腳本中增加
-Dskywalking.agent.force_tls=trueagent.force_tls=${SW_AGENT_FORCE_TLS:true}代碼片段:
GRPCChannelManager.run 方法里的初始化 channel 里的 new TLSChannelBuilder()
managedChannel = GRPCChannel.newBuilder(ipAndPort[0], Integer.parseInt(ipAndPort[1])).addManagedChannelBuilder(new StandardChannelBuilder()).addManagedChannelBuilder(new TLSChannelBuilder()).addChannelDecorator(new AgentIDDecorator()).addChannelDecorator(new AuthenticationDecorator()).build();nginx 配置
按照以前的 http_proxy的方式是不行的,skywalking 是通過(guò) grpc 方式通信的。
# grpc 代理配置 server {listen 11800 http2; # grpc方式對(duì)外暴露端口server_name xxx.xx.com;# access_log logs/access.log main;location / {grpc_pass grpc://127.0.0.1:11800; # 此處配置grpc服務(wù)的ip和端口} }# http 代理配置 server {listen 80; # http方式對(duì)外暴露端口server_name localhost;# access_log logs/access.log main;location / {proxy_pass http://127.0.0.1:8210; # 此處配置http服務(wù)的ip和端口} }重點(diǎn)注意!!!
http2 和 http的端口不能重復(fù)。
具體原因看這篇。
https://blog.csdn.net/Angry_Mills/article/details/118227489
修改配置
-Dskywalking.collector.backend_service=xxx.xx.com:11800總結(jié)
以上是生活随笔為你收集整理的skywalking oap-server 域名配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 最大全零子矩阵
- 下一篇: [单选题]$array = array(