In This Section
Overview
To go over the basics of Lumino Deployment and monitoring, this section will walk through deploying and launching the Talon Starter application using Lumino.
Prerequisites
Building the Talon Starter App
This section assumes that you have are somewhat familiar with and have already built the talon starter application as described in Talon's getting started guide. If you have not give it a quick read and follow the instructions in the Talon Manual to "Get the Starter App" to package up the Talon Starter app to deploy on Lumino. Once you have completed these steps you should find a nvx-talon-starter-<version>.xar in the project's 'target' folder. The XAR contains all of the binaries, configuration, and resources needed for the Talon Starter system to be deployed.
You should ensure that the version of the Talon Starter app that you are building is not newer than the instance of Lumino that you are using since it isn't guaranteed that a Lumino instance can manage newer versions of the platform than the one it is based on.
Installing Lumino
On-Premise
If you would like to install Lumino on one of your own Linux machines, we recommend a machine with at least 4Gb of RAM and 4 cores to get started. The guide is oriented around the starter bundle which bundles the Lumino Server, a Lumino Agent, and an Influx DB instance, but the below instructions generally apply if you installed the Lumino components independently. Follow the Lumino Starter Bundle instructions to get a Lumino Server up and running.
The instructions below will utilize ActiveMQ as a messaging provider, so you should install an ActiveMQ broker on the same machine as the Lumino Agent as well. You can download ActiveMQ from here.
Amazon EC2
Another quick way to get started is to provision an EC2 instance from one our AMIs. See Lumino EC2 Controller AMI for instructions to get started with an EC2 instance of Lumino. Because we will be launching all of the applications on the same host as Lumino, at least a t2.medium instance is recommended.
Launching the Talon Starter System
Now that you have built the Talon Starter app and have a Lumino instance up and running, you are ready to upload and deploy it to Lumino!
In this section, we will show how to upload and provision the talon starter system to run all applications on the same machine as our Lumino Agent which is the simplest configuration to get started with. The steps we will follow are:
- Upload the Talon Starter XAR file ... the application archive that contains the app and its resources.
- Localize the system – configure the system to the Lumino Agent's environment.
- Provision the application – deploy the system's XVMs out to their run locations.
- Launch the system – launch the XVMs and check their status.
- Send some Messages – use the starters driver apps to send and consume messages.
Upload the Talon Starter XAR
Step 1: Log into the Lumino Server as 'admin' with password 'admin' at http://<lumino-public-ip>:8001.
Step 2: Click the upload button found on the home page and navigate to the nvx-app-talon-starter-<3.8.1>.xar file of the
Once the application is uploaded to Lumino it will be pushed to the agent that is currently selected (in this case the agent named 'Local Agent'. It may take several seconds for the agent to unpack and parse it.
Step 3: Validate that the Talon Starter application is visible in the Systems Overview Tree.
The system should show up as Offline/Unreachable because it has not yet been provisioned or launched.
Above you can see the Talon Starter System (
) is made up of 4 XVMs ( ) named processor-1, processor-2, receiver and sender). The processor-1 and processor-2 XVMs each hold an instance of the processor app ( ) which will form an HA cluster when started. The sender and receiver XVMs contain driver applications to drive traffic through the processor application.Localize the System
X applications are highly configuration driven. Here you will customize the Lumino Agent environment with some variables that will control how the Talon Starter system is configured by:
- Overriding the processor application's replication interface to use localhost.
- Activating the talon starter app's activemq profile so that it uses activemq for messaging.
A Lumino Agent's environment can be modified by Lumino admins by clicking on the "Agents" entry from the upper left corner drop down menu.
And then clicking on the agent for which to configure the environment:
Which will bring up the agent configuration page:
Add the following to the section labeled "Robin Configuration" (Robin is used to source the Agent's Environment):
And then click "Save and Test".To understand how the above variables affect the Talon Starter system's configuration lets peek at its config:
The first substitution made was to set the PROCESS_REPLICATION_INTERFACE variable to "localhost". This is an example of a DDL Environment Variable Substitution, the simplest form of localizing an application's config. Here we've substituted the default value which binds to all interfaces and have instead limited it to accepting connections on localhost only.
The second tweak made to the agent's environment is to activate the talon starter system's activemq profile. DDL profiles provide a powerful means of making a single DDL configuration document more portable to different environments, by allowing the specification of profiles that can be activated to augment and override the structure of the DDL. The Talon starter app defines such a profile that changes its bus connection info to use ActiveMQ when the profile is activated:
The profile in this case is activated by the presence of nvx-app-talon-starter-bus-provider=activemq being set in the agent's environment.
There is lot more you can do with DDL Configuration and Substitution. As you start to author your own systems, circle back and give the DDL Reference a closer read, but for now we are ready to provision and launch the system.
Provision the System
Now that you have set up the environment for the starter app, you can provision out each of the XVMs and the applicaiton binaries in preparation for launch. The Talon Starter app bundles scripts to help with provisioning the system as a whole. These can be accessed via the script execution dialog which is launched by clicking the
scripts button next to the system:Clickking on the scripts button brings up the script execution dialog:
Choose "Provision All XVMs" from the drop-down box and client Run. The status Output tabe will take focus and you can watch as each XVMs run location is provisioned. In this case, since we are deploying all applications local to the Lumino Agent these locations will be separate folders on disk in the agent's default run location (<lumino-agent-home>/data/robin/run/nvx-app-talon-starter-<version>).
Launch the System
Now that all the XVMs in the system have been provisioned you can launch them. Navigate back to the "Run" tab in the system scripts dialog, select "Launch All" and then click "Run".
Once all of the XVMs have launched you should see their updated status in the Systems Overview:
Note in the above that all XVMs are online, and that the processor instance in the processor-2 XVMs is blue (started but not active) which means that that instance is in the backup role for the Active instance in the processor-1 xvm.
Now that the system has come up, take a moment to look at the dashboards by clicking on the The Host Stats Dashboard, the processor-1 XVM to see the The XVM Dashboard, and the processor-1 application to see the The App Stats Dashboard. In particular you you may be interested in see the resource usage for CPU, Disk, and Memory on the Host and XVM stats dashboards.
icon next to the host to see theSend Some Messages
Before you send any messages, navigate to the receiver's app stats dashboard by clicking on the
button next to it:Note that its Msgs In Count shows 0. So let's send the processor some messages to generate some traffic for it!
The Talon Starter's send driver application exposes a command that instructs it to send some messages to the processor application:
Clicking on the
next to the sender application:Will bring up the command execution dialog. Select Send Messages from the dropdown list in the run tab. Note that the command and its arguments are exposed just as annotated in the source code:
Enter the following values to send 1000 messages at a rate of 100 messages/sec without waiting for a response:
- count = 1000
- rate = 100
- Async = checked.
We've recommended a slow rate here because this is against ActiveMQ, and the talon starter system is not really optimally tuned at this point (everything is running on one box which we're assuming may not be very powerful). Once you click run, you should start seeing the message count increasing for the processor app. You may also want to increase the dashboards refresh rate to 5 seconds and show a more recent time interval which you can do with the time selector in the upper right corner of the screen.
Once the sender has completed you should see that the process has received all 1000 messages. You can also select the sender or receiver application from the drop-down on the app stats dashboard to verify their message counts as well.
Shutting the System Down
To shutdown all XVMs click the systems scripts
button to launch the Script Execution Dialog and select Shut down all XVMs:Alternatively, you can stop or kill each XVM independently by launching the command execution dialog next
Need Help?
If you get stuck along the way, reach out to us at support@neeveresearch.com, we're happy to help and want to hear your feedback!
Running The Starter Apps on Multiple Hosts
This portion of the Getting Started Guide has not yet been completed. Check back soon!