XE Toolkit is a network-aware, multi-platform, secure performance monitoring solution for tactical analysis of enterprise computing systems.
The one thing that is always the same in performance monitoring is that no two environments are ever the same. As much as developers try to build software products that intuit the needs of a performance analyst, there is always something missing. This is because all environments are different and the requests and requirements of performance analysts are always different. In order for a performance monitoring software package to be truly useful, it must be malleable enough to either morph the existing tools into something new or provide a programmable environment where the analyst can develop a new tool that meets their need.
The SE Toolkit had great success because it met this important requirement. The XE Toolkit also meets this requirement but in a different way. SE provided a scripting language that was a subset of C and C++ so the analyst could build scripts to monitor the information that was important to them. XE uses Java which has a large user group and tremendous forward momentum. XE provides an API in the form of Java jar files that contain the programmatic interfaces needed to craft custom tools. It remains a toolkit, perhaps more complex than SE, but also far more versatile.
Just as SE contained many "example" programs, so too does XE provide several utilities that show how to use its interfaces and gadgets. Although simple tools like CpuMeter can be used in their own right, they are single function tools that demonstrate how to use the performance objects contained within the API. Using a larger application, such as Top is more useful since it provides a CPU pie chart on its gadget panel while still providing far more value as a tactical diagnostic tool.
Due to the popularity of some of the examples bundled with SE, the functionality they provided has been carried forward to tools within XE. Specifically, the encapsulated rule logic that gives analysts a one-glance view of a host's performance has been rewritten and modernized for newer hardware. The names of the programs have changed, but the capabilities that made them so popular has not been lost.
The following image is a snapshot of a Top display. This shows the integration of SE's Toptool and Zoom applications into a single application that can monitor multiple hosts and apply operating system specific rules to each host and display the overall state of the host on its tab. As alert conditions arise, the display is automatically resorted on the key that most closely reflects the performance metric of interest. This instance of Top is monitoring MacOS X, Solaris SPARC, Linux x64, Solaris x64, Windows XP, FreeBSD, Windows 2003 Server and Linux x86 hosts simultaneously.
Development of New Tools
SE provided the ability to develop new tools through the use of its SymbEL language. The client side of XE is written completely in Java and allows the developer far greater flexibility in creating new applications with unlimited expressive power. Instead of working within the restrictions of a programming language that lacked the flexibility to solve certain classes of problems, Java allows the developer to leverage any Java technology so building performance monitoring applications has no limit. The development of applications must be done within the context of the licensing structure discussed in the paragraphs above.
Adding New Performance Metrics
XE client side applications derive their performance metrics from the Captive Metrics performance data collection server, CaptiveCollector. This is a Java based server process that is extensible in its ability to provide new metrics for those that can write new performance classes and build them into a jar file for use by the plug-in architecture of CaptiveCollector. Although the collector delivers extensive performance data out of the box, the ability to add new plug-in classes for performance metrics such as log file filters, application specific monitors or middleware monitors makes CaptiveCollector far more powerful and desirable as an enterprise performance data collector.
XE Toolkit Licensing - Free for Free Uses
In developing the license model for The XE Toolkit, the two goals that were the driving motivation were "free for free uses" and "reasonable fee for revenue generating uses". This means that XE will use the Open Source Software model and be freely available to those intending to use XE as a monitoring solution only or to develop other OSS applications based on the Captive Metrics APIs. The source code for XE is at http://sourceforge.net/projects/xe-toolkit and is licensed under the GNU Public License, Version 2. As is the case with other OSS projects, this is a work-in-progress. The goal is to have an easily accessible code base that can be downloaded and built into a working product with no fee for those intending to use XE for non-revenue generating uses. To that end, the sourceforge project will use Subversion (svn) access and the entire tree will be build-able with an easy to use mechanism that works on as many platforms as possible.
XE is also available as a pre-built package in the native packaging format of the target operating system. The version 1.0 packages are available for free from the Downloads page and starting with version 1.1, the packages are available from the Captive Metrics Store at a reasonable cost.
Regardless of how XE is acquired, it is covered by a dual-license mechanism. If used for free purposes, as is explained in the following text, then XE is covered under the GPL Version 2. If used for non-free uses, then XE is covered under the XE Commercial License. The following paragraph explains concisely the limitations of use of XE and whether an XE
Commercial License is needed.
XE has two uses. First, it is a collection of tools. Second, XE contains jar files with the Captive Metrics API which can be used to build new performance monitoring tools. If XE is used as a collection of tools by an individual or organization for their own use and they do not charge others for the use of XE, then XE is free. If an individual or organization wishes to use the API to build new tools that they distribute as Open Source Software under the GPL Version 2, then XE is free. As long as XE is used as a set of tools or to build new open source tools, XE is free. If XE is used to build proprietary tools for internal use or to build new tools to be sold commercially, then an XE Commercial License must be obtained. If a consultant uses XE as a tool for diagnosing performance problems for a customer, the consultant must take care to charge the customer solely for the services rendered. Any charge to the customer for XE itself is a violation of the license agreement. Also, if the consultant uses XE to develop tools that are only used by the consultant for diagnosing customer problems and those tools are not made open source, then the consultant must purchase a Commercial License. If XE is used as the base for the development of a new product or to replace functionality within an existing product or to further enhance an existing product that is or will be sold commercially, then a Commercial License is required. Any development use of the APIs within XE or the applications within XE that result in a product that is not open source requires a Commercial License.
In summary, the open source license allows you to
· Use XE for its tools only and not develop new tools.
· Develop open source software tools that are released under the GPL Version 2.
· New tools created with the GPL Version 2 can be uploaded to the tools repository on xetoolkit.com so your work can be shared with the world.
The XE Commercial License allows you to:
· Build new tools for your own use that are not released under the GPL Version 2.
· Build new tools that will be sold as commercial applications.
· Specify your own license terms for the new tools that you develop.
· There are no additional royalties, runtime licenses, or hidden fees for the XE Commercial License.
· The XE Commercial License is a per-developer license and is associated with a specific person. The license is transferable, but only once per calendar quarter and only within the same organization that acquired the license. To transfer an XE Commercial License to a new person or to discuss other licensing options, contact Captive Metrics Sales.
Our goal is to foster widespread use of XE and the "Free for Free Uses" policy should be the means to that end. However, Captive Metrics is a commercial entity and we must generate revenue in order to continue providing users with software like XE. And this cannot be done if other companies are using our own code to compete against us without paying license fees.
XE was written in Java 5. This was done to leverage the powerful features offered by that release of the language as compared to Java 4 and to prepare the entire code base for future enhancements that will come with updates to Java. Also, the tools were written such that they can be plugged into future Captive Metrics products and provide the functionality that you've grown accustomed to inside an enterprise product suite such as Captivity. It all goes back to the original Captive Metrics' concept of building software as components that operate independently but all aggregate together to create a larger more functional solution.
What's New in This Release:
The latest release of XE is available from the Captive Metrics Store. With this release comes support for AIX. The reference port was AIX 5.3L so newer versions should also work. Version 1.2 comes much later than anticipated due to the inclusion of ports beyond the AIX port which was expected.
Includes Full Support for Linux on IBM Hardware
Version 1.2 carries the Ready for IBM Systems with Linux mark. That means XE works on every release of Linux available on IBM hardware. Whether you're running Linux on xSeries, pSeries, iSeries or zSeries, XE works! This further demonstrates Captive Metrics' commitment to providing uniform performance metrics across all platforms.
Is LSB 3.1 Certified
In addition to the IBM mark, XE v1.2 has also been certified by The Linux Foundation to be compliant with the Linux Standard Base 3.1 specification. As such, we display the LSB 3.1 mark. This certifies that the interaction between XE and the Linux operating system is bounded by the specifications of LSB 3.1 and as such, any Linux distribution that is LSB 3.1 certified will run XE.
XE 1.2 is Groovy!
Check out the Groovy scripts in this release of XE! For those that are accustomed to writing Groovy scripts and don't really want to write Java programs, these scripts can show the way. It's a fun and easy way to create powerful scripts around CaptiveCollector's metrics. The included Big Brother script is a great example. Monitor multiple clients from one drone. Give it a shot! It's fun!