Page tree
Skip to end of metadata
Go to start of metadata

This page is out of date, it will be updated shortly, please use http://blog.anotheria.net/msk/the-complete-moskito-integration-guide-step-4-central-storage/ for instructions on moskito-central

Why Remote Mode?

There are 2 modes for MoSKito-Central deployment:

  1. Remote (Standalone app).
  2. Embedded.

In Remote mode, MoSKito-Central is working as a separate application and uses:

  • DistributeMe and REST EndPoints for receiving data from other applications.
  • Dedicated machine's filesystem for processing and storing the received performance data.

The Remote (Standalone) Mode is useful when you need to monitor multiple application instances (multiple JVM's) and consolidate the obtained performance data in one place.

The Embedded mode cannot be used here, since we gather info from multiple servers (not a single JVM), and MoSKito-Central needs to have a separate space for data storage.

How Remote Mode Works

The flowchart below shows how the process is set up, step by step.

The workflow stages are the following:

  1. MoSKito-Central is instantiated on a remote (dedicated) machine.
  2. MoSKito plug-in, initiated on a app server (like Tomcat), fetches performance data from MoSKito-Essential, which resides in the target (monitored) web application.
  3. The collected data is transferred to MoSKito-Central in one of the following ways:
    1. directly, through EmbeddedConnector,
    2. via RMI, through DistributeMeConnector, or 
    3. via HTTP, through RESTConnector.
  4. The data is processed and stored in application memory, file system (json, xml or csv files) or database. 

How to Set It Up

To set up MoSKito-Central in Remote mode, you'll need to:

  1. Declare dependencies.

  2. Enable MoSKito-Central.
  3. Configure storages.

Declare Dependencies 

Make a reference to MoSKito-Central in pom.xml of your project:

pom.xml
<dependency>
    <groupId>net.anotheria</groupId>
    <artifactId>moskito-central</artifactId>
    <version>2.2.3</version>
</dependency>

Please refer to maven for the latest version: http://search.maven.org/#search%7Cga%7C1%7Cmoskito-central

If you use another build tool, you will need to put moskito-central.jar and other libs in your project.

Enable MoSKito-Central

To enable MoSKito-Central, add the corresponding plug-in to moskito.json configuration file.

For transferring data via HTTP with REST Connector:

RESTConnector
"@pluginsConfig": {
	"@plugins": [
    	{
        	"name": "RESTRemoteCentralConnector",
            "configurationName": "rest-connector",
            "className": "org.moskito.central.connectors.rest.RESTConnector"
        }
	]
},

For transferring data via RMI with DistributeMe Connector:

DistributeMeConnector
"@pluginsConfig": {
	"@plugins": [
    	{
        	"name": "DiMeRemoteCentralConnector",
            "configurationName": "dime-connector",
            "className": "org.moskito.central.connectors.dime.DiMeCentralConnector"
        }
	]
},

Storage Configuration

Storage configuration is the same for both Embedded and Remote Modes.

That is why it is fully described in Configure MoSKito-Central Storage section.