如此处https://docs.wso2.com/display/AM210/Configuring+APIM+Analytics#StandardSetup
中所述如果在WSO2 APIM中启用了电子邮件用户名,则必须为admin @ wso2.com @ carbon.super。同样的用户名也保存在WSO2 APIM中的user-mgmt.xml中。好了,这种设置正在中断,我看不到WSO2 APIM发布者的分析。启用电子邮件用户名后,有人知道分析出了什么问题吗?以下是WSO2 APIM和Analytics(分析)的日志。请注意,在下面的日志中,我已经截断了一些日志行,因为它们可能如此,并且在发布时造成了问题,但是正确显示了主要错误行。
WSO2 APIM日志:
TID: [-1] [] [2019-01-02 12:55:31,408] ERROR {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker} - Error while trying to connect to the endpoint. Cannot borrow client for ssl://das.wso2-test:7712. {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker}
org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException: Cannot borrow client for ssl://das.wso2-test:7712.
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:131)
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:125)
... 6 more
Caused by: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
分析日志:
TID: [-1234] [] [2019-01-02 11:55:33,464] INFO {org.wso2.carbon.databridge.core.DataBridge} - user admin@wso2.com@carbon.super connected {org.wso2.carbon.databridge.core.DataBridge}
TID: [-1234] [] [2019-01-02 11:55:33,464] ERROR {org.wso2.carbon.identity.authentication.AuthenticationServiceImpl} - Invalid User : admin@wso2.com {org.wso2.carbon.identity.authentication.AuthenticationServiceImpl}
TID: [-1234] [] [2019-01-02 11:55:33,464] ERROR {org.apache.thrift.server.TThreadPoolServer} - Thrift error occurred during processing of message. {org.apache.thrift.server.TThreadPoolServer}
org.apache.thrift.protocol.TProtocolException: Required field 'message' was not present! Struct: ThriftAuthenticationException(message:null)
TID: [-1234] [] [2019-01-02 11:55:33,465] WARN {org.apache.thrift.transport.TIOStreamTransport} - Error closing output stream. {org.apache.thrift.transport.TIOStreamTransport}
java.net.SocketException: Socket is closed
我尝试了文档中提到的所有可能方法,但是当使用电子邮件用户名时,分析仍然无法正常工作。 WSO2 APIM 2.1.0中是否已经存在此问题?我问是因为我在github https://github.com/wso2/analytics-apim/issues/583
中发现了完全相同的问题api-manager.xml :
<ThrottlingConfigurations>
<EnableAdvanceThrottling>true</EnableAdvanceThrottling>
<DataPublisher>
<Username>admin@wso2.com@carbon.super</Username>
<Analytics>
<DASUsername>admin@wso2.com@carbon.super</DASUsername>
<DASPassword>${admin.password}</DASPassword>
usr-.xml :
<UserName>admin@wso2.com@carbon.super</UserName>
<Password>admin</Password>
碳水化合物:
<EnableEmailUserName>true</EnableEmailUserName>
还更改了 jndi.properties :
connectionfactory.TopicConnectionFactory = amqp://admin!wso2.com!carbon.super:admin@clientid/carbon?brokerlist='tcp://${xxx.trafficManager.host}:${xxx.trafficManager.jms.port}'
connectionfactory.QueueConnectionFactory = amqp://admin!wso2.com!carbon.super:admin@clientID/test?brokerlist='tcp://${xxx.trafficManager.host}:${xxx.trafficManager.jms.port}'
即使启用了电子邮件用户名,分析工具也应能工作。