似乎AM容器与分析节点之间存在连接问题。这就是为什么它显示此异常的原因。
我正在Docker中为API-M和API-M Analytics运行3个图像:
wso2am:3.0.0-centos7是API-M的图像(link)
wso2am-analytics-worker:3.0.0-centos7是API-M Analytics Worker(link)
]的图像>wso2am-analytics-dashboard:3.0.0-centos7是API-M Analytics仪表板(link)
问题是我不知道如何配置运行这些图像的容器。
wso2am:3.0.0-centos7->名为am的容器(IP:172.17.0.3)端口:
0.0.0.0:5672-> 5672 / tcp,0.0.0.0:7611->7611/tcp,0.0.0.0:7711->7711/tcp,0.0.0.0:8243->8243/tcp,0.0.0.0: 8280-> 8280 / tcp,0.0.0.0:9099-> 9099 / tcp,0.0.0.0:9443-> 9443 / tcp,0.0.0.0:9611-> 9611 / tcp,0.0.0.0:9711-> 9711 / tcp ,0.0.0.0:9763->9763/tcp、0.0.0.0:9999->9999/tcp、0.0.0.0:10397->10397/tcp、0.0.0.0:11111->11111/tcp
wso2am-analytics-worker:3.0.0-centos7->名为worker的容器(IP:172.17.0.2)。端口:
0.0.0.0:7071-> 7071 / tcp,0.0.0.0:7444->7444/tcp,0.0.0.0:7612->7612/tcp,0.0.0.0:7712->7712/tcp,0.0.0.0: 9091-> 9091 / tcp,0.0.0.0:9444->9444/tcp,0.0.0.0:9612-9613->9612-9613/tcp,0.0.0.0:9712-9713-> 9712-9713 / tcp
wso2am-analytics-dashboard:3.0.0-centos7->名为仪表板的容器(IP:172.17.0.4)。端口:
0.0.0.0:7613-> 7613 / tcp,0.0.0.0:7713->7713/tcp,9613 / tcp,0.0.0.0:9643->9643/tcp,9713 / tcp
我在容器am中配置了/wso2am-3.0.0/repository/conf/deployment.toml的[apim.analytics]部分:
[apim.analytics] enable = true #store_api_url = "https://localhost:7444" #username = "$ref{super_admin.username}" #password = "$ref{super_admin.password}" #event_publisher_type = "default" #event_publisher_impl = "org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher" #publish_response_size = true
...... / wso2am-analytics-3.0.0 / conf / dashboard / deployment.yaml在容器仪表板中的部分:
auth.configs: type: apim ssoEnabled: true properties: adminScope: apim_analytics:admin_carbon.super allScopes: apim_analytics:admin apim_analytics:product_manager apim_analytics:api_developer apim_analytics:app_developer apim_analytics:devops_engineer apim_analytics:analytics_viewer apim_analytics:everyone openid apim:api_view apim:subscribe adminServiceBaseUrl: https://172.17.0.3:9443 adminUsername: admin adminPassword: admin kmDcrUrl: https://172.17.0.3:9443/client-registration/v0.15/register kmTokenUrlForRedirection: https://172.17.0.3:9443/oauth2 kmTokenUrl: https://172.17.0.3:9443/oauth2 kmUsername: admin kmPassword: admin portalAppContext: analytics-dashboard businessRulesAppContext : business-rules cacheTimeout: 900 baseUrl: https://localhost:9643 grantType: authorization_code publisherUrl: https://172.17.0.3:9443 #storeUrl: https://172.17.0.3:9443
因此,在我配置并重新标记了这些容器之后,容器am中显示的错误是:
[2020-01-14 04:16:39,026] WARN - DataEndpointGroup No receiver is reachable at reconnection, will try to reconnect every 30 sec [2020-01-14 04:16:39,030] ERROR - DataEndpointConnectionWorker Error while trying to connect to the endpoint. Cannot borrow client for ssl://localhost:7712 org.wso2.carbon.databridge.agent.exception.DataEndpointAuthenticationException: Cannot borrow client for ssl://localhost:7712 at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:147) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:59) [org.wso2.carbon.databridge.agent_5.2.12.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_222] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Caused by: org.wso2.carbon.databridge.agent.exception.DataEndpointSecurityException: Error while trying to connect to ssl://localhost:7712 at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftSecureClientPoolFactory.createClient(ThriftSecureClientPoolFactory.java:81) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.wso2.carbon.databridge.agent.client.AbstractClientPoolFactory.makeObject(AbstractClientPoolFactory.java:39) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212) ~[commons-pool_1.5.6.wso2v1.jar:?] at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:137) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] ... 6 more Caused by: org.apache.thrift.transport.TTransportException: Could not connect to localhost on port 7712 at org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:273) ~[libthrift_0.12.0.wso2v1.jar:?] at org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:173) ~[libthrift_0.12.0.wso2v1.jar:?] at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftSecureClientPoolFactory.createClient(ThriftSecureClientPoolFactory.java:64) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.wso2.carbon.databridge.agent.client.AbstractClientPoolFactory.makeObject(AbstractClientPoolFactory.java:39) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212) ~[commons-pool_1.5.6.wso2v1.jar:?] at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:137) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] ... 6 more Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_222] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_222] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_222] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_222] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_222] at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_222] at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666) ~[?:1.8.0_222] at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:426) ~[?:1.8.0_222] at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88) ~[?:1.8.0_222] at org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:269) ~[libthrift_0.12.0.wso2v1.jar:?] at org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:173) ~[libthrift_0.12.0.wso2v1.jar:?] at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftSecureClientPoolFactory.createClient(ThriftSecureClientPoolFactory.java:64) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.wso2.carbon.databridge.agent.client.AbstractClientPoolFactory.makeObject(AbstractClientPoolFactory.java:39) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212) ~[commons-pool_1.5.6.wso2v1.jar:?] at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:137) ~[org.wso2.carbon.databridge.agent_5.2.12.jar:?] ... 6 more
...,当我转到此链接https://localhost:9643/analytics-dashboard时,错误显示在容器仪表板中(它重定向到https://localhost:9643/analytics-dashboard/login?referrer=%2F):
[2020-01-14 03:24:42,837] INFO {org.apache.axis2.transport.http.HTTPSender} - Unable to sendViaPost to url[https://172.17.0.3:9443/services/AuthenticationAdmin] javax.net.ssl.SSLException: hostname in certificate didn't match: <172.17.0.3> != <localhost> OR <localhost> at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:435) at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:304) at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:277) at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:186) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:712) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:223) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:82) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:459) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:286) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:442) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) at org.wso2.carbon.authenticator.stub.AuthenticationAdminStub.login(AuthenticationAdminStub.java:1343) at org.wso2.analytics.apim.idp.client.LoginAdminServiceClient.authenticate(LoginAdminServiceClient.java:48) at org.wso2.analytics.apim.idp.client.ApimIdPClient.init(ApimIdPClient.java:140) at org.wso2.analytics.apim.idp.client.ApimIdPClient.login(ApimIdPClient.java:350) at org.wso2.carbon.analytics.auth.rest.api.impl.LoginApiServiceImpl.loginAppNamePost(LoginApiServiceImpl.java:146) at org.wso2.carbon.analytics.auth.rest.api.LoginApi.loginAppNamePost(LoginApi.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.wso2.msf4j.internal.router.HttpMethodInfo.invokeResource(HttpMethodInfo.java:187) at org.wso2.msf4j.internal.router.HttpMethodInfo.invoke(HttpMethodInfo.java:143) at org.wso2.msf4j.internal.MSF4JHttpConnectorListener.dispatchMethod(MSF4JHttpConnectorListener.java:218) at org.wso2.msf4j.internal.MSF4JHttpConnectorListener.lambda$onMessage$57(MSF4JHttpConnectorListener.java:129) 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) [2020-01-14 03:24:42,865] ERROR {org.wso2.analytics.apim.idp.client.ApimIdPClient} - Error occurred while creating Login admin Service Client.
我遵循了本教程的链接:https://apim.docs.wso2.com/en/latest/Learn/Analytics/configuring-apim-analytics/。但是似乎很难理解,如果我在Docker中使用这些产品,那么我需要执行所有步骤。
所以,我需要一些参考,或者一些内容显示我需要配置的所有文件(deployment.tolm,deployment.yaml或api-manager.xml,...我不知道每个文件的重要性)。
非常感谢。
我正在Docker中为API-M和API-M Analytics运行3个映像:wso2am:3.0.0-centos7是API-M的图像(链接)wso2am-analytics-worker:3.0.0-centos7是Docker的图像API-M Analytics Worker(链接)wso2am -...
似乎AM容器与分析节点之间存在连接问题。这就是为什么它显示此异常的原因。
[2020-01-14 04:16:39,030]错误-尝试连接到端点时出现DataEndpointConnectionWorker错误。无法借用ssl:// localhost:7712的客户端
为此,您需要按如下所示在repository / conf / deployment.toml中配置正确的分析URL。
[[apim.analytics.url_group]] analytics_url =["tcp://172.17.0.2:7612"] analytics_auth_url =["ssl://172.17.0.2:7712"] type = "loadbalance"
仪表板尝试连接到APIM时,您会遇到证书问题和主机名验证问题的仪表板容器。这是由于目标URL的主机名和证书CN不匹配。为此,请为您的部署生成新证书,并将其安装在AM / Analytics密钥库和trustores [1]中。
您可以尝试通过APIM Analytics对APIM v3进行docker-compose。 https://github.com/wso2/docker-apim/tree/v3.0.0.1/docker-compose/apim-with-analytics。
似乎AM容器与分析节点之间存在连接问题。这就是为什么它显示此异常的原因。
您可以尝试通过APIM Analytics对APIM v3进行docker-compose。 https://github.com/wso2/docker-apim/tree/v3.0.0.1/docker-compose/apim-with-analytics。