0
votes

Canario: APIM and APIM-Analytics (both in 2.6.0) at the same localhost machine. Identity Server in other Machine Use the doc to make configuration between APIM and Analytics. Setup te Datasources for external Oracle DB instance: IS strat Ok, Analytics Worker start ok, Analytics Dashboard Start Ok, Analytics Manager Start Ok

After default configuration, Apim start with connection issue:

...

ERROR{org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker} -  
          Error while trying to connect to the endpoint. Cannot borrow client for 
          ssl://localhost:7712. 
          {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker}
          org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException: 
          Cannot borrow client for ssl://localhost:7712.
                at 
        org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:134)
                at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:59)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                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.wso2.carbon.databridge.agent.exception.DataEndpointLoginException: Error while trying to login to the data receiver.
                at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint.login(ThriftDataEndpoint.java:54)
                at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:128)
                ... 6 more
        Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketTimeoutException: Read timed out
                at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161)
                at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:65)
                at org.wso2.carbon.databridge.commons.thrift.service.secure.ThriftSecureEventTransmissionService$Client.send_connect(ThriftSecureEventTransmissionService.java:104)
                at org.wso2.carbon.databridge.commons.thrift.service.secure.ThriftSecureEventTransmissionService$Client.connect(ThriftSecureEventTransmissionService.java:95)
                at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint.login(ThriftDataEndpoint.java:47)
                ... 7 more
        Caused by: java.net.SocketTimeoutException: Read timed out
                at java.net.SocketInputStream.socketRead0(Native Method)
                at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
                at java.net.SocketInputStream.read(SocketInputStream.java:171)
                at java.net.SocketInputStream.read(SocketInputStream.java:141)
                at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
                at sun.security.ssl.InputRecord.read(InputRecord.java:503)
                at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975)
                at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
                at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:750)
                at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
                at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
                at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
                at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)
                ... 11 more
    ...

When I had access the consoles Analytics (PUBLISHER, STORE or ADMIN), the API Usage analtyics interface become stucked.

I try to mak few changes inside api-manager.xml. Now the ANALYTICS part is lik follows:

    <!-- Enable Analytics for API Manager -->
    <Enabled>true</Enabled>

    <StreamProcessorServerURL>{tcp://localhost:7612}</StreamProcessorServerURL>
    <!--StreamProcessorAuthServerURL>{ssl://localhost:7712}</StreamProcessorAuthServerURL-->
    <!-- Administrator username to login to the remote StreamProcessor server. -->
    <StreamProcessorUsername>admin</StreamProcessorUsername>
    <!-- Administrator password to login to the remote StreamProcessor server. -->
    <StreamProcessorPassword>admin</StreamProcessorPassword>

    <!-- For APIM implemented Statistic client for RDBMS -->
    <StatsProviderImpl>org.wso2.carbon.apimgt.usage.client.impl.APIUsageStatisticsRestClientImpl</StatsProviderImpl>

   <!-- StreamProcessor REST API configuration -->
    <StreamProcessorRestApiURL>https://localhost:9444</StreamProcessorRestApiURL>
    <StreamProcessorRestApiUsername>admin</StreamProcessorRestApiUsername>
    <StreamProcessorRestApiPassword>admin</StreamProcessorRestApiPassword>

I expect to discovery why this is happen, If i follow de default documentation (https://docs.wso2.com/display/AM260/Configuring+APIM+Analytics) thanks

1
In analytics worker logs, do you see "Siddhi apps getting deployed"?Niveathika
Also, by default, <StreamProcessorRestApiURL>localhost:7444</StreamProcessorRestApiURL> Is in 7444 port as the store api functionality differs from rest of the API.. Any reason for this chhange?Niveathika
Hi Niveathika. Thanks for the tips. I change the StreamProcessoRestAPI port para 7444 (default port) and Still give to me the same error. About other question: Yes the Siddhi apps was depployed. For instance: "INFO {org.wso2.carbon.stream.processor.core.internal.StreamProcessorService} - Siddhi App APIM_FAULT_SUMMARY deployed successfully"ChelloFera

1 Answers

0
votes

This problem it was solved by import the Analytics certificate to wso2carbon.jks and client-truststore.jks. In the beginning I just import to client-truststore.jks and miss wso2carbon.jks. It's important to use the full qualified name to create the new certificates and keystore, and use to make correct link between tools at api-manager.xml Remember to add the full qualified name at hosts file.

Thanks