-
Notifications
You must be signed in to change notification settings - Fork 15
UGInstallation
This section will describe how to install Overlord Runtime Governance in different environments.
This section describes how to install Overlord Runtime Governance into JBoss EAP.
-
Download the JBoss EAP distribution (version 6.1 and 6.3 are currently supported), and unpack it in a suitable location.
-
Download SwitchYard (version 2.0.0.Final or higher) and install it into the JBoss EAP environment. We recommend using the switchyard installer, which can be unpacked in a temporary location, and run 'ant' in the root folder to be prompted for the location of the JBoss EAP environment.
-
Download the latest release from the Overlord Runtime Governance website, then unpack the distribution into a suitable location.
-
Download Apache Ant and follow the installation instructions.
-
The final step is to perform the installation of Overlord Runtime Governance using ant. To do the installation, use the following command from the root folder of the installation:
ant deploy -Dplatform=eap6 -Dpath=<EAP-root-folder> [ -Dtype=<installation-type> ]
The 'installation-type' value can be:
Value | Description |
---|---|
all |
This will result in the full server configuration being installed into the server, including activity collector (for obtaining activities generated within that server), activity server (for receiving activity information whether from a remote client or internal activity collector), event processor network (to analyse the events), active collections (to maintain result information) and a collection of REST services to support remote access to the information. This is the default value. |
client |
This will result in only the activity collector functionality being installed, using a RESTful client to communicate with a remote Runtime Governance server. |
To uninstall, simply perform the following command in the root folder of the installation:
ant undeploy -Dplatform=eap6 -Dpath=<EAP-root-folder> [ -Dtype=<installation-type> ]
The configuration properties for the Runtime Governance capability within a JBoss EAP environment can be found in the file $JBOSS_HOME/standalone/configuration/overlord-rtgov.properties. Although there will be some properties that are independent of the installation type, some will be specific and therefore are listed in separate sections below.
Common
The common properties available across all installation types are:
Property | Description |
---|---|
collectionEnabled |
This property will determine whether activity information is collected when the server is initially started. This value can be changed at runtime using the ActivityCollector MBean (see the chapter on Managing the Infrastructure). |
ActivityServerLogger.activityListQueueSize |
This property defines the queue size for pending activity lists, that are awaiting being reported to the Activity Server. |
ActivityServerLogger.durationBetweenFailureReports |
To avoid logs being overlorded with failure reports, failures will only be reported once within the defined time interval (in milliseconds). |
ActivityServerLogger.freeActivityListQueueSize |
This property defines the queue size to manage free activity lists that can be reused. |
ActivityServerLogger.maxThreads |
This property is an integer that represents the maximum number of threads that should be used to report activity events to the server (whether remote or embedded). |
BatchedActivityUnitLogger.maxTimeInterval |
The maximum wait interval (in milliseconds) before sending any held activity units to the Activity Server. |
BatchedActivityUnitLogger.maxUnitCount |
The maximum number of activity units that should be held before sending as a batch to the Activity Server. |
All Type
Property | Description |
---|---|
ActiveCollectionManager.houseKeepingInterval |
Time interval (in milliseconds) between house keeping tasks being invoked. |
ActivityStore.class |
The class associated with the Activity Store implementation to be used. |
Elasticsearch.server |
URL to the Elasticsearch server (HTTP port). |
infinispan.container |
The infinispan container to use. |
MVELSeverityAnalyzer.scriptLocation |
Optional location of a MVEL script used to determine severity levels for nodes and links within the service overview diagram. |
SituationStore.class |
The class associated with the Situation Store implementation to be used. |
Note
|
Activity and Situation Store implementation specific properties will be discussed in the database section below. |
When installing the full Runtime Governance server, modification to the configuration will generally only be necessary if running in a clustered environment and/or wishing to use a particular database (described below).
However, specific technologies used in the Activity Server, Event Processor Network or Active Collection modules may need to use different configuration properties to work correctly within a clustered environment. More details will be provided in sections discussing those technologies, however here we will present the common changes that may be required.
Client Type
This installation type is used to configure an execution environment that will be sending its activity information to a remote Runtime Governance server using REST. The relevant properties are:
Property | Description |
---|---|
RESTActivityServer.serverURL |
This is the URL of the activity server collecting the activity events. |
RESTActivityServer.serverUsername |
The username used to access the REST service. |
RESTActivityServer.serverPassword |
The password used to access the REST service. |
Note
|
This is the default "out of the box" configuration. |
To use Elasticsearch as the Activity and Situation Store implementation, the following property values need to be defined:
Property | Value |
---|---|
ActivityStore.class |
org.overlord.rtgov.activity.store.elasticsearch.ElasticsearchActivityStore |
SituationStore.class |
org.overlord.rtgov.analytics.situation.store.elasticsearch.ElasticsearchSituationStore |
with the additional support properties:
Property | Description |
---|---|
Elasticsearch.hosts |
List of <host>:<port> values representing nodes in the Elasticsearch cluster, the port representing the TCP transport connection. Default value is: localhost:9300 |
Elasticsearch.schedule |
When using batched mode, the interval (in milliseconds) between updates being sent to the Elasticsearch server. |
To use a SQL database as the Activity and Situation Store implementation, the following property values need to be defined:
Property | Value |
---|---|
ActivityStore.class |
org.overlord.rtgov.activity.store.jpa.JPAActivityStore |
SituationStore.class |
org.overlord.rtgov.analytics.situation.store.jpa.JPASituationStore |
with the additional support properties:
Property | Description |
---|---|
JPAActivityStore.jndi.datasource |
The JNDI name used to retrieve the datasource. |
JPAEventProcessor.jndi.datasource |
The JNDI name used to retrieve the datasource. |
JPASituationStore.jndi.datasource |
The JNDI name used to retrieve the datasource. |
JpaStore.jtaPlatform |
The JTA platform Java implementation class. |
The database is defined by the datasource configuration located here: $JBOSS_HOME/standalone/deployment/overlord-rtgov/rtgov-ds.xml as part of the 'server' installation type.
The default SQL database is the H2 file based database, and is created during the installation of the 'all' type.
Note
|
The following sections discuss changes to the standalone-full.xml configuration file. If using a clustered environment, then these changes should be applied to the standalone-full-ha.xml instead. |
MySQL
-
Create the folder $JBossAS/modules/mysql/main.
-
Put the MySQL driver jar in the $JBossAS/modules/mysql/main folder, e.g. mysql-connector-java-5.1.12.jar.
-
Create a module.xml file, within the $JBossAS/modules/mysql/main folder, with the contents:
<module xmlns="urn:jboss:module:1.1" name="mysql"> <resources> <resource-root path="mysql-connector-java-5.1.12.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
-
Edit the $JBossAS/standalone/configuration/standalone-full.xml file to include the MySQL driver:
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
.....
<drivers>
...
<driver name="mysql" module="mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
-
Update the rtgov datasource file, $JBossAS/standalone/deployments/overlord-rtgov/rtgov-ds.xml, the contents should be:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource jndi-name="java:jboss/datasource/OverlordRTGov" pool-name="OverlordRTGov" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/rtgov</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password></password>
</security>
</datasource>
</datasources>
Postgres
-
Create the $JBossAS/modules/org/postgresql/main folder.
-
Put the postgresql driver jar in the $JBossAS/modules/org/postgresql/main folder, e.g. postgresql-9.1-902.jdbc4.jar.
-
Create a module.xml file, within the $JBossAS/modules/org/postgresql/main folder, with the contents:
<module xmlns="urn:jboss:module:1.1" name="org.postgresql"> <resources> <resource-root path="postgresql-9.1-902.jdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
-
Edit the $JBossAS/standalone/configuration/standalone-full.xml file to include the PostgresSQL driver:
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
.....
<drivers>
...
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
-
Update the rtgov datasource file, $JBossAS/standalone/deployments/overlord-rtgov/rtgov-ds.xml, the contents should be:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource jndi-name="java:jboss/datasource/OverlordRTGov" pool-name="OverlordRTGov" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/rtgov</connection-url>
<driver>postgresql</driver>
<security>
<user-name>....</user-name>
<password>....</password>
</security>
</datasource>
</datasources>
The EPN and Active Collection mechanisms both have the ability to make use of caching provided by infinispan. When running the server in clustered mode (i.e. with standalone-full-ha.xml).
First step is to uncomment the 'infinispan.container' property in the overlord-rtgov.properties file and set it to the JNDI name of the cache container ('java:jboss/infinispan/container/rtgov' in the example below). This property represents the default cache container to be used by EPN and Active Collection Source configurations that do not explicitly provide a container JNDI name.
The next step is to create the cache container configuration, and the specific caches, under the 'infinispan' subsystem in the standalone-full-ha.xml file. As an example, the following cache entry for the "Principals" cache has been defined, for use with the Policy Enforcement examples:
<cache-container name="rtgov" jndi-name="java:jboss/infinispan/container/rtgov" start="EAGER"> <transport lock-timeout="60000"/> <replicated-cache name="Principals" mode="SYNC"> <locking isolation="REPEATABLE_READ"/> <transaction mode="FULL_XA" locking="PESSIMISTIC"/> </replicated-cache> </cache-container>
This section describes how to install Overlord Runtime Governance into Fuse.
-
Download the Fuse distribution (version 6.1), and unpack it in a suitable location.
-
Set up the properties in the ${fuse}/etc folder:
-
Start the fuse console, using the ${fuse}/bin/fuse command, and then enter the following commands:
<HOW TO EXPLAIN ABOUT RUNNING SAMPLES IN FUSE?> - don’t want them to download the distribution just for a readme?