Choreo integration WSO2 - Analytics - wso2

We trying to integrate our own project in WS02, to bring informations with Choreo
I followed the documentation (generate the key for authentication, but I'm not getting information from Choreo analytics,
Follow prints of what was done.
Config authentiction token:
Insights (doesn't working)

From the printscreen you sent it looks like there are some issues in the .toml file, first you should uncomment the "#" in front of [apim.analytics], if you don't do this, the configuration will not be processed correctly. There are also two letters on the same line that shouldn't be there "hy", you may remove that.
Do this, restart the WSO2 APIM nodes and send some requets to APIs served by the gateway, then check if the analytics data appears on Choreo.
Also, please notice that Choreo Analytics is an enterprise feature that is only available through an active WSO2 subscription. Without the subscription, the API key you generated will only last for 2 weeks before becoming unactive. If you wish to talk about getting a WSO2 Support Subscription for you company you can reach out to WSO2 through the link below:
https://wso2.com/contact/

Related

Publishing WSO2 api statisticcs

I'm following below links for publishing WSO2 statistics. But i'm getting "405 method not allowed" when i login to https://localhost:9443/admin-dashboard. So i'm unable to enable the statistics.
I'm using ws02 API 2.0 and ws02API analytics 2.0.
Could anyone help me on this.
Thanks,
Santosh
#santosh.a
I assume you have configured apim_wso2metrics_db datasource as common database for wso2am and wso2am-analytics. Next,Follow documentation to configure wso2am-analytics with wso2am-api-manager. Configuring APIM Analytics. Most important Step 2: Edit <APIM_HOME>/repository/conf/api-manager.xml and enable analytics and check the DASServerURL and DASRestApiURL, make sure it is pointing to analytics server IP.
Once configuration is enabled. you will be able to see analytics on API Store and API Publisher under statistics sections. You can also go to dashboard by https://<wso2am-analytics>/portal

WSO2 API Manager : API Creation Issue

I installed the APIM and started the APIM and created a new API. The ApI which i created comprises of a URL which points at our company production server. I gave the URL in the api creation mode to the production endpoint and sandbox Endpoint boxes. Then i set the required parameters under the GET method. Then i try it out at the store but the request does not hit the production server. I want to see the URL output from your api manager which passes to our production server. Because i want to see what is whether there is an error on that as it it doesnot hit our production server.
Can you help me with the issue?
Thanks in advance.
You can enable wire log to see the what are the requests which came to APIM and what are the requests APIM made for backend. Follow the steps in How to get wire logs from WSO2 ESB blog post to enable wire log. Those instructions are given for ESB, but they are valid for APIM as well.

WSO2 APi Manager Response Code 0

I'm trying to use WSO2 API Manager 1.10.0 on an existent micro-services project with REST APIs following WSO2 tutorial.
I have installed it on my computer as well as a copy of my application and configured AM to manage requests (GET, POST and DELETE) to my resource but I always obtain a "Response code 0" with Response Header
{
"error": "no response from server"
}
Trying to contact my application using Advanced REST Client I obtain 200 with the correct result.
My APIs use a token inside the header to authenticate the user passed so I have implemented a dummy API without authentication but I still have the same issue.
I have tried also the Cloud version with our test server but still obtaining the same result.
I found this guide http://wso2.com/blogs/cloud/video-setting-up-custom-url-for-api-store-and-gateway/ but I don't know if this can be a solution for the problem in localhost.
Setting up the custom url in WSO2 API Cloud wont help. Thats there for a different purpose. There are two things you can do.
If you are interested in going ahead with the cloud version, you can get help from them. You can send a support request and the cloud team will help.
You can troubleshoot your local instance. When doing so, first, try to invoke your api via curl and see whether it gets a response. Sometime, your api can work fine, but due to some reasons, the result might not reach the api console.
If the curl works fine or not, you can check the logs to see whether there are any errors printed. Some more questions:
Is your backend service exposed via http or https?
If it is https, then if its certificate is not a CA signed one, API Manager will fail during the handshake. If so, you will have to add the cert to api managers client-truststore.jks
In the cloud scenario, your backend should be accessible from internet and the certificate story is valid for cloud too.
Are you trying to access the api using swagger console (or any web application). There are couple of reasons you could encounter this issue. one could be certificate not installed in the browser.
If this happens you should see some error log in the api manager console (something related to CA not found). for that first you can copy the backend url (swagger console shows the url it used to send the request) and paste it on a new browser window and install the certificate to the browser.
also you can get an idea about the issue by using a tool like firebug and check the request. (it will show the error for not connecting the AM)
Finally I have found the issue: the API Manager does not accept plain text response, responding using a JSON solves the problem.
Using other mediatype such as XML or TEXT/HTML it reports 406, with text plain it returns Error 0.

wso2 api manager clustering

I am trying to set up a cluster for WSO2 api manager and I am following https://docs.wso2.com/display/CLUSTER44x/Clustering+API+Manager+1.10.0
I am using seperate VMs for each of the component and currently in my setup I am able to
Publish an api using the publisher which gets published in the Gateway (Visible in the log)
Subscribe to this API from the store and generate keys
However when I am trying to access this api using the generated key I get the following response
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode xmlns:axis2ns2="http://schemas.xmlsoap.org/soap/envelope/">axis2ns2:Client</faultcode>
<faultstring>Authentication Failure</faultstring>
<detail>Error while accessing backend services for API key validation</detail>
</soapenv:Fault>
In the gateway logs I can see only the below line. There is no further details in the logs
TID: [-1234] [] [2016-02-02 16:55:58,288] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticat
ionHandler} - API authentication failure due to Unclassified Authentication Failure {org.wso2.carbon.apimgt.gat
eway.handlers.security.APIAuthenticationHandler}
Please help me to resolve this issue.
That sounds like an issue with your API - API Manager doesn't actually "authenticate anything" unless you are using identity server see here for the difference between authentication and authorization (what WSO2 does through Oauth). Please try an API that is know to work such as http://petstore.swagger.io/ and report back the error.
This can happen due to many reason. Please check some of the reasons below
Key Manager's public certificate isn'y properly imported in the <GATEWAY_HOME>/repository/resources/security/client-truststore.jks
Open the api-manager.xml fie of the gateway and key manager nodes and change the <KeyValidatorClientType> to WSClient as bellow (default value is ThriftClient).
<KeyValidatorClientType>WSClient</KeyValidatorClientType>
The reason for this could be a result of misconfiguration between nodes. First you can double check the configurations (specially keyvalidator related configurations)
If you could not find any issue there, then you can enable debug logs and get some idea about the issue
add following entires in repository/conf/log4j.properties in gateway node
log4j.logger.org.wso2.carbon.apimgt.gateway.handlers.security=DEBUG
add following entires in repository/conf/log4j.properties in key manager node
log4j.logger.org.wso2.carbon.apimgt.keymgt=DEBUG
You might be able to find the issue by analyzing the logs

WSO2 ESB 4.0.3 - Can we stop service log getting replicated in to wso2carbon.log

Can we stop service logs getting replicated in to "wso2carbon.log" in WSO2 ESB 4.0.3?
We have set up per service logs and we do not want the per service log getting replicated in the "wso2carbon.log"
I would be really thankful if any body can let me know.
Here is my typical log4j configuration
log4j.category.SERVICE_LOGGER.TQS_RMA=INFO, TQS_RMA_APPENDER
log4j.additivity.SERVICE_LOGGER.TQS_RMA=false
log4j.appender.TQS_RMA_APPENDER=org.apache.log4j.RollingFileAppender
log4j.appender.TQS_RMA_APPENDER.File=${carbon.home}/repository/logs/${instance.log}/tqs-rma-service.log
log4j.appender.TQS_RMA_APPENDER.MaxFileSize=1000KB
log4j.appender.TQS_RMA_APPENDER.MaxBackupIndex=10
log4j.appender.TQS_RMA_APPENDER.layout=org.apache.log4j.PatternLayout
As you have tried, setting additivity false should prevent logs being directed to ancestors.
See docs for service logging with WSO2 ESB.
See also this blog post for information.