JMX Data Agent to support remoting-jmx protocol with WSO2 BAM - wso2

I was trying to monitor jboss EAP 6.0/jboss AS 7 MBeans in WS02 BAM 2.2.0 using JMX Data Agent. I followed the tutorial to expose JBOSS MBeans, remotely in jconsole.
In WSO2 BAM while adding JMX Server Profile, I enter the URL:
service:jmx:remoting-jmx://{host_name}:{port}]
It says protocol is not supported. I suspect protocol remoting-jmx is not supported, where as in previous case, I see rmi protocol was supported. How can I import Remote JBOSS AS 7 MBean to WSO2 BAM 2.2.0 ?

Related

how to launch wso2 micro-integrator 7.0.1?

I can't launch wso2 micro-integrator 7.0.1. I launch files micro-integrator.sh or launcher_micro-integrator.sh or command wso2mi, after that i have strings in logs (look below), after that nothing, MI isn't loaded later. What is wrong? My Java_Home is correct. User who launches MI has all permissions on MI directory.
INFO {org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager} - Pass-through HTTP Listener started on 0.0.0.0:8290
INFO {org.apache.axis2.transport.mail.MailTransportListener} - MAILTO listener started
INFO {org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager} - Pass-through HTTPS Listener started on 0.0.0.0:8253
INFO {org.wso2.micro.integrator.initializer.StartupFinalizer} - WSO2 Micro Integrator started in 4 seconds
According to the below log, your Micro integrator has started successfully.
INFO {org.wso2.micro.integrator.initializer.StartupFinalizer} - WSO2 Micro Integrator started in 4 seconds
Micro integrator is starting in a very little time compared to the WSO2 Enterprise integrator and does not have the Mgt console capability of WSO2 Enterprise Integrator. However, you can access MI monitoring dashboard by referring to this doc.
Please check this quick start guide for more details on WSO2 Micro integrator.

WSO2 MB vs Apache Kafka

I've been working with both Apache Kafka plus WSO2 Message Broker in order to publish and consume messages using Topics. But then apart from changing the jndi properties in WSO2 MB, the configurations in integrating the WSO2 CEP looks to be the same in both.
I'm sure it has it's own pros' & cons'. I've gone through the doc of Kafka and the WSO2 MB documentation. Are there any major differences when comparing one against the other? Any help would be appreciated.
Architecture
WSO2 MB: Built by extending Apache Qpid code base. Also it uses apache zookeeper and apache cassandra.
Apache Kafka:
Solution built from scratch.
Web Management Console
WSO2 MB: Native Management Console
Apache Kafka: No native Management Console. But there is some open source options: https://github.com/yahoo/kafka-manager and https://github.com/claudemamo/kafka-web-console
Community
Apache Kafka: used by giant companies checkout below
https://cwiki.apache.org/confluence/display/KAFKA/Powered+By
WSO2 MB: doesn't have proven use-cases in the market.
Protocols
WSO2 MB: Support JMS, AMQP and MQTT
Apache Kafka: It has its own protocol which built over TCP http://kafka.apache.org/protocol.html Kafka built for high throughput and large scale message processing applications.
Client Libraries
Apache Kafka: https://cwiki.apache.org/confluence/display/KAFKA/Clients
WSO2 MB: Java

Why do Data Services use the Servlet Ports as opposed to NIO/PT - WSO2

I've installed Dss 3.2.2 features onto Esb4.8.1.
When I create a proxy service the Service endpoints are as expected e.g
http://[ip]:8280/services/[proxy_service_name]
But when I create a dataservice , the service endpoints also show the same(NIO) port , contrary to the expected (mgmt) port :
http://[ip]:8280/services/[data_service_name]
But it should be
http://[ip]:9763/services/[data_service_name]
If I send a json post request to the 8280 for a dataservice , it does not receive any params :
"current_params": "{}"
Sending it to 9763 it reads my params:
"current_params": "{no=xxx, dump_size=10}"
Is there a config/way to fix this?
I believe you are using try-it tool shipped with WSO2 ESB by default. Let me explain what it the reason for this problem. WSO2 ESB exposes two HTTP ports (i.e NIO port which is 8280 and servlet port which is 9763) and when dataservice features are installed, data services are also exposed via both ports. By default ESB try-it uses NIO port(8280). The issue is ESB try-it tool does not handle invoking data service via NIO transport. It drops the parameters passed. That is why the current_params is empty. This is a known issue and will be fixed in a future release. As a workaround you can either use servlet port to invoke dataservice or any other soap client such as SoapUI.
Thanks

How can I disable features WSO2 ESB 4.0.3?

We are in final few steps of WSO2 ESB / Data services implementation.
We are trying to pass the Information Security review of our WSO2 ESB implementation. We are using 4.0.3 EAB with 3.2.2 DSS feature.
Information security group has objected for following things in default WSO2 ESB
QPID / AMQP server listening to 5672 / 8672 ports. Can we disable the default message broker so that QPID will not start. If we disable, will it affect any other functionality? We are NOT using message brokers / any JMS related applications, mainly Data Services.
How to block JMX console being started? The JMX console starts at 11111 / 9999 be default.
We have already disabled Admin UI, however is there any way where I can turn the logging levels for individual loggers with out Admin UI and WITHOUT re- starting the ESB?
Can stop starting jmx server through CARBON_HOME/repository/conf/etc/jmx.xml by setting,
<StartRMIServer>false</StartRMIServer>
If the admin console was enabled, then you can configure the logging from the UI. Since you have disabled the admin console, then you can configure the loggers using the lgo4j.properties file in CARBON_HOME/repository/conf. But then you have to restart the server.
There is no other way to configure logging without restarting.
You can disable QPID server listening on 8672 TLS port with the following configuration change.
Go to /repository/conf/advanced/qpid-config.xml file and change the entry as below.
<broker>
<connector>
<!-- To enable SSL edit the keystorePath and keystorePassword
and set enabled to true.To disasble Non-SSL port set sslOnly to true -->
<ssl>
**<enabled>false</enabled>**
<sslOnly>false</sslOnly>
<keystorePath>repository/resources/security/wso2carbon.jks</keystorePath>
<keystorePassword>wso2carbon</keystorePassword>
</ssl>
After that QPID Broker will not be starting on TLS port. However regarding disabling the Qpid Server in 5672 TCP port, ESB 4.0.3 version comes with an embedded QPID broker which is tightly coupled with other ESB components. Therefore unfortunately it is not possible to detach the broker from the ESB with a configuration setting.This is changed after ESB 4.5.x versions where the embedded Qpid broker is no longer shipped with ESB, therefore if it is possible, you can upgrade the ESB version in order to meet this requirement.

Getting error when running WSO2 API Manager with WSO2 BAM Server

I got the following error when runnning WSO2 API Manager 1.3.1 to use the WSO2 BAM Server 2.0.1.
TID: [0] [AM] [2013-05-02 18:58:40,609] ERROR
{org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher}
- Error initializing APIMgtUsageDataBridgeDataPublisher {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher}
org.wso2.carbon.databridge.agent.thrift.exception.AgentException:
Error when finding event stream definition for :
org.wso2.apimgt.statistics.request 1.0.0
Both API Manager and BAM are running on the same machine and I changed offset to 1 in /home/jtao/api/wso2bam-2.0.1/repository/conf/carbon.xml based on Monetization of API Usage.
I also checked that BAM_HOME/repository/conf/etc/cassandra-component.xml doesn't exist in BAM 2.0.1. as someone suggested in the answer of another question "Configuring WSO2 API Manager to use the WSO2 BAM Server"
Any ideas?
I ran the same scenario described in guide and it works without any error. May be your have missed a part in the configuration guide? Make sure BAM_HOME is set correctly and BAM server is started before the AM server.
The following guide too can be used to integrate AM 1.3.1 with BAM 2.0.1
http://docs.wso2.org/wiki/display/AM131/Monitoring+and+Statistics
Ishara