2016-05-16 2 views
1

J'ai configuré le gestionnaire d'API pour envoyer des données au serveur d'analyse de données WSO2.Le gestionnaire d'API WSO2 n'envoie pas de données à WSO2 DAS (serveur d'analyse de données)

Ma configuration sur le serveur API est:

événement récepteur Configurations: {tcp: //wso2-dac-svc.libre-dev.com: 7611} Data Analyzer: Configurations https://wso2-dac-svc.libre-dev.com:8443

Le CAD serveur J'ai installé API_Manager_Analytics.car qui a des définitions de récepteurs d'événements.

Sur le serveur API, j'ai importé le certificat du serveur DAC à l'aide de keytool. J'ai redémarré les deux serveurs.

Je vois l'erreur suivante dans le journal:

TID: [-1] [] [2016-05-16 16:06:11,417] ERROR {org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher} - Error while connection to event receiver {org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher} 
org.wso2.carbon.databridge.commons.exception.AuthenticationException: Access denied for user admin to login TCP,wso2-dac-svc.libre-dev.com:7611,TCP,wso2-dac-svc.libre-dev.com:7711 
     at org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:54) 
     at org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273) 
     at org.wso2.carbon.databridge.agent.thrift.DataPublisher.<init>(DataPublisher.java:161) 
     at org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:843) 
     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:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.wso2.carbon.databridge.agent.thrift.exception.AgentAuthenticatorException: Thrift exception 
     at org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.ThriftAgentAuthenticator.connect(ThriftAgentAuthenticator.java:51) 
     at org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:51) 
     ... 8 more 
Caused by: org.apache.thrift.transport.TTransportException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found 
     at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:147) 
     at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:163) 
     at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:91) 
     at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62) 
     at org.wso2.carbon.databridge.commons.thrift.service.secure.ThriftSecureEventTransmissionService$Client.send_connect(ThriftSecureEventTransmissionService.java:82) 
     at org.wso2.carbon.databridge.commons.thrift.service.secure.ThriftSecureEventTransmissionService$Client.connect(ThriftSecureEventTransmissionService.java:73) 
     at org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.ThriftAgentAuthenticator.connect(ThriftAgentAuthenticator.java:47) 
     ... 9 more 
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found 
     at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) 
     at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949) 
     at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) 
     at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) 
     at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509) 
     at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) 
     at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979) 
     at sun.security.ssl.Handshaker.process_record(Handshaker.java:914) 
     at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062) 
     at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) 
     at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747) 
     at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) 
     at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:145) 
     ... 15 more 
Caused by: sun.security.validator.ValidatorException: No trusted certificate found 
     at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:394) 
     at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:133) 
     at sun.security.validator.Validator.validate(Validator.java:260) 
     at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) 
     at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) 
     at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) 
     at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491) 
     ... 23 more 
TID: [-1] [] [2016-05-16 16:06:41,363] ERROR {org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher} - Reconnection failed fortcp://wso2-dac-svc.libre-dev.com:7611 {org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher} 
TID: [-1] [] [2016-05-16 16:07:11,004] WARN {org.apache.synapse.core.axis2.TimeoutHandler} - Expiring message ID : urn:uuid:6ed9fae5-d1fb-4cdf-885b-e101e79faf40; dropping message after timeout of : 30 seconds {org.apache.synapse.core.axis2.TimeoutHandler} 
TID: [-1] [] [2016-05-16 16:07:11,371] ERROR {org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher} - Reconnection failed fortcp://wso2-dac-svc.libre-dev.com:7611 {org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher} 
TID: [-1] [] [2016-05-16 16:07:34,514] WARN {org.apache.synapse.transport.passthru.TargetHandler} - http-outgoing-9: Connection time out while in state: REQUEST_DONE {org.apache.synapse.transport.passthru.TargetHandler} 

Fondamentalement, je ne peux pas obtenir des statistiques de l'API envoyée au serveur DAS. Toute aide est appréciée.

+0

Avez-vous modifié les fichiers keystore/truststore dans APIM ou DAS? –

+0

Le serveur WSO2 DAS se présentait sous la forme d'un hôte local et, par conséquent, le tableau de bord ne fonctionnait pas. J'ai donc dû créer un nouveau certificat et le remplacer dans wso2carbon.jks et client-truststore.jks. –

+0

Votre problème a donc été résolu? –

Répondre

0

Basé sur le journal des erreurs de la question semble être l'esprit

Analytic Data Server Thrift fonctionne sur le port 7711 utilise les « » wso2carbon.jks situé dans/repository/ressources/sécurité par Deault. Par conséquent lorsque nous avons besoin de configurer cela /repository/conf/carbon.xml comme indiqué ci-dessous

<Security> <br> 
    <!--<br> 
     KeyStore which will be used for encrypting/decrypting passwords<br> 
     and other sensitive information. 
    --><br> 
    <KeyStore><br> 
     <!-- Keystore file location--><br> 
     <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location><br> 
     <!-- Keystore type (JKS/PKCS12 etc.)--><br> 
     <Type>JKS</Type><br> 
     <!-- Keystore password--><br> 
     <Password>wso2carbon</Password> 
     <!-- Private Key alias--><br> 
     <KeyAlias>wso2carbon</KeyAlias> 
     <!-- Private Key password--> 
     <KeyPassword>wso2carbon</KeyPassword><br> 
    </KeyStore><br> 

Pour ajouter un nouveau magasin clé s'il vous plaît suivez les étapes ci-dessous
1. Placez la clé de stockage dans «/dépôt/ressources/sécurité/» dossier
2. Mise à jour de la section 'sécurité/KeyStore /' de /repository/conf/carbon.xml en conséquence
3. Mettez à jour les références keystore des données-agent config.xml en conséquence
4. Importez le certificat du nouveau fichier de clés dans le fichier de clés certifiées ESB situé dans /repository/resources/security/client-truststore.jks. Enfin, une fois la clé privée modifiée, son certificat associé doit être importé dans le fichier de clés certifiées API-Manager situé dans /repository/resources/security/client-truststore.jks.

Espérons que ces étapes permettront de trier les problèmes sur le journal des erreurs donné.