-
Notifications
You must be signed in to change notification settings - Fork 21
IBM Proactive Technology Online on Tomcat Installation and Administration Guide
The IBM Proactive Technology Online runtime engine detects patterns on incoming events and the IBM Proactive Technology Online authoring tool is a web based user interface in which CEP applications, also known as Event Processing Networks, can be defined and deployed to an engine.
IBM Proactive Technology Online is a standard web application. It requires:
- Java SE 6 or later installed
- Apache Tomcat 7 or later installed (currently the only tested web server)
-
On Linux make sure CATALINA_HOME is defined as an environment variable pointing to the Apache Tomcat directory (e.g. /opt/apache-tomcat-7.0.29)
-
Configure manager access to application. Instructions are available here Configure Manager Application As a suggested reference, have the file under the Apache Tomcat directory ./conf/tomcat-users.xml include the following:
<tomcat-users> <role rolename="manager-gui" /> <role rolename="manager-status" /> <role rolename="manager-script" /> <role rolename="manager-jmx" /> <user username="manager" password="manager" roles="manager-gui,manager-status,manager-script,manager-jmx" /> <role rolename="admin-gui" /> <user username="admin" password="admin" roles="admin-gui" /> </tomcat-users>
-
Enable JMX access on Apache Tomcat. Instructions are available here [Enabling JMX Remote] (http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html#Enabling_JMX_Remote) As a suggested reference on:
- Windows-
Add the following to the file located in the Apache Tomcat directory ./bin/startup.bat
set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8686 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
set JRE_HOME={java_install_dir}\Java\jre6
- Linux-
Add the following to the file located in the Apache Tomcat directory ./bin/startup.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8686 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
JRE_HOME={java_install_dir}/jre
- Windows-
Add the following to the file located in the Apache Tomcat directory ./bin/startup.bat
Note: The actual jmxremote.port number maybe different. The Apache Tomcat default JMX port number is 8686. Remember this value as you will need to use it in [configuring the administrator application.](### Configuring the administration application)
The installation package contains four archived web applications and a sample folder. Deploy the four war files (ProtonOnWebServerAdmin.war, ProtonOnWebServer.war, AuthoringTool.war, AuthoringToolWebServer.war) to the Apache Tomcat server. Instructions on how to deploy applications to an Apache Tomcat server can be found at How To Deploy. As a suggested reference you may drop the four war files in the Apache Tomcat installation directory under ./webapps while the server is running. They should be deployed automatically by the server soon after.
Note: you will need to perform the [configuration](## Configuration) instructions before IBM Proactive Technology Online will work as expected.
- Rename ProtonOnWebServer.war provided by the install package
- Deploy the renamed war on to the Apache Tomcat server
- Follow the configuration instructions for an engine instance [Configuring an engine instance](### Configuring an engine instance)
- You may need to restart the application
IBM Proactive Technology Online administration application is responsible for the management of the definitions, event processing networks, repository (add, update, delete a definition) and the multiple engine instances (update definition of an instance, retrieve an instance state and start\stop and instance). The prerequisite installation instructions of setting up Apache Tomcat for management is crucial for the appropriate functioning of the admin application. After successful deployment of the admin application the following must be configured in the ProtonAdmin.properties file located under the Apache Tomcat directory in ./webapps/ProtonOnWebServerAdmin.
- Location of the definitions repository (make sure there are relevant credentials for read\write access)
definitions-repository={directory_of_choice}
- Apache Tomcat manager authentication details according to the suggested reference in [Setup Apache Tomcat for management](### Setup Apache Tomcat for management)
manager-username=manager
manager-password=manager
- Server port number of the Apache Tomcat server (default for Apache Tomcat is 8080)
tomcat-server-port={port}
- JMX services port of the Apache Tomcat server (default for Apache Tomcat is 8686 and should be the same as for the jmxremote.port property set in [Setup Apache Tomcat for management](### Setup Apache Tomcat for management)
tomcat-jmx-port={port}
There are two files for configuring an engine instance. Both files are located in the Apache Tomcat directory under ./webapps/{instance_name} where {instance_name} is an identifier of the engine instance , e.g. ProtonOnWebServer.
- The file called Proton.properties contains two port properties for the input and output adapters. Each engine instance should have a different value for these properties. The other properties should not be manually configured.
- In the file called logging.properties
No configuration is required
Instructions on how to define the input and output adapters to receive raw events and send derived events are given in the programmer guide IBM Proactive Technology Online Programmer Guide. The sample application that is provided with the installation uses file input and output adapters that are already defined and are ready for a sanity check.
Once the Prerequisites, Installation and Configurations instructions have been completed, IBM Proactive Technology Online should be up and running. In general, starting up the Apache Tomcat server and starting the applications (AuthoringTool, AuthoringToolWebServer, ProtonOnWebServerAdmin and Proton engine instances) constitutes a running product. Accessing the authoring tool is through the following link (after completing the host and port values) http://{host}:{port}/AuthoringTool/Main.html Administrating the product and pushing events to the engine instances is described in Complex Event Processing Open RESTful API Specification (PRELIMINARY)
To verify that IBM Proactive Technology Online is running:
- Access the Apache Tomcat administrator tool – http://{host}:{port}/manager and log in with user and password you configured in [Setup Apache Tomcat for management](### Setup Apache Tomcat for management). Identify that all applications are installed and running (AuthoringTool, AuthoringToolWebServer, ProtonOnWebServerAdmin and all engine instances, e.g. ProtonOnWebServer).
- Access the authoring tool - http://{host}:{port}/AuthoringTool/Main.html (tested on Google Chrome)
- [Run the sample](### Run the sample)
- Copy the sample directory included in the install package to the root directory of the Apache Tomcat installation
- Stop and then restart the ProtonOnWebServer application (you may use the Apache Tomcat manager tool or the Admin REST APIs offered by the GE).
- Observe the files that were generated in the sample directory. Expected results are as follows:
- DoSAttack_TrafficReport.txt -> a file representing a consumer for the TrafficReport events, the raw events.
Name=TrafficReport;Certainty=0.0;Chronon=null;Cost=0.0;Annotation=;DetectionTime=1342101349469;Duration=0.0;EventSource=;EventId=4d41820d-6147-4b64-82cb-3e66649cd748;volume=1000;ExpirationTime=null;OccurrenceTime=null;
Name=TrafficReport;Certainty=0.0;Chronon=null;Cost=0.0;Annotation=;DetectionTime=1342101349469;Duration=0.0;EventSource=;EventId=0ea035f1-6c17-4900-83b0-c7f7a3efb43e;volume=1600;ExpirationTime=null;OccurrenceTime=null;
Name=TrafficReport;Certainty=0.0;Chronon=null;Cost=0.0;Annotation=;DetectionTime=1342101349469;Duration=0.0;EventSource=;EventId=589c2533-4ed7-451f-8ca1-a67cf7b80909;volume=2500;ExpirationTime=null;OccurrenceTime=null;
- DoSAttack_SteepDemand.txt --> a file representing a consumer for the SteepDemand derived events that are generated during the test execution
Name=SteepDemand;DetectionTime=1342360040630;Duration=0.0;EventSource=;EventId=bd18fadf-db97-48e1-a2ad-ce5bbcf40652;Certainty=0.0;Chronon=null;ExpirationTime=null;Cost=10.0;OccurrenceTime=1342360040630;Annotation=;
- Apache Tomcat server running as a Java process.
- Apache Tomcat server and JMX ports are used (default **8080 **and **8686 **respectively)
- Each Proton engine instance uses two ports, one for input and one for output adapters as configured in Configuring an engine instance. The single instance called ProtonOnWebServer provided with the base installation has the following ports as default 3000, 3300.
No database is used in this release
IBM Proactive Technology Online logs with Apache Tomcat logging. The log files are located in the Apache Tomcat directory ./logs.
The required RAM is dependent on the event processing patterns defined by the event processing network and by the size and number of events that need to be held on to for detecting the patterns. Fortunately, a basic box available off-the-shelf is sufficient for most of the applications. Usually the disk size required during run time is negligible, unless the application uses adapters of type "File" and the input files or the generated output files are very big.
The resource consumption is highly dependent on the defined CEP application and on the event streams that are processed. There are no typical numbers.
- Ports 8080 and 8686 for administrating IBM Proactive Technology Online and for working against the authoring tool.
- Input (e.g. 3000) and Output (e.g. 3300) ports configured for engine instances see [Configuring an engine instance](https://github.com/ishkin/Proton/wiki/IBM-Proactive-Technology-Online-on-Tomcat-Installation-and-Administration-Guide# Configuring an engine instance) are used in receiving and notifying on events and integrating with other systems as producers and consumers of events. Most traffic will be observed on these ports.