Welcome to MoSKito
[ Home | Demo | Docs | Download]
Don't want to read, want to get MoSKito right now or proceed with the demo-webapp?
What is MoSKito
MoSKito, which stands for Monitoring System Kit, is an open source framework for java application monitoring. By monitoring
we mean the ability of the application to produce performance data, not the tools for graphical evaluation. The goal of MoSKito is to help you gather
all relevant data you need for production system monitoring. We hope MoSKito will make monitoring of your production system a pleasure, at least it did it
for ours... One day, more text will follow :-)
News
2006-06-25 MoSKito 0.2 is released.
2007-02-01 new MoSKito nightly build available.
Features
Features already implemented:
- Interval based statistic framework
MoSKito is an interval based statistic framework. That means that MoSKito gathers all monitoring data for each of user specified
intervals as well, as for the whole running time (default interval). An interval is defined as the time between two measure points.
For example, if you want 5 minute intervals and start the application at 12:00 pm, your first 5 minute interval will be generated
at 12:05, next at 12:10 and so on. If you check the 5 minute value at 12:12 you will get the stats for 12:05 - 12:10.
You can define any interval you wish as long as it can be expressed in minutes, hours or days.
- Easy stats logging
MoSKito allows you to plug in own processors in the update cycle. You can get notified about an interval completion.
There are predefined listeners which perform basic logging of all monitored values upon interval updates. To add your own logger
you actually need one line of code. For java.util.Logger oder log4j even less, they are already prepared for you.
See the net.anotheria.moskitodemo.logging package for examples.
- Built-in monitoring for web-apps
MoSKito generate monitoring data for any kind of java application, not only webapps.
Since MoSKito doesn't know your architecture you have to plug-in the monitoring yourself.
However for webapps everything is already prepared. All you need is to extend the MoskitoHttpServlet instead of HttpServlet and
rename your doGet method in moskitoDoGet and you are done. MoSKito demo-webapp illustrates that.
If you use tomcat you can monitor your webapps directly by modifying context.xml and without changing code, read how.
- StatProducerRegistry for easy programmatic access to all available stat values.
- Webbased UI
The webbased user interface for MoSKito allows you to instantly check and monitor all producers (monitorable objects) in the current vm. It allows you to check the stats online, sort by
any of the generated values (hits, time, averages, errors), by categories (servlet/action/client/server/dao), implementations
or instances.
Features which are ready but in testing:
Following features are currently being tested and will be available pretty soon.
- Remote monitoring data collection
MoSKito can create snapshots of the statistics and is able to transport them over net to a remote server for
archiving or offline evaluation. You can store the snapshots as strings, xml or in a database (or whatever you choose).
Thus you will be able to find the difference in the application behaviour today compared to the behaviour a week ago. Or a month. Or a year.
- Virtual Stats
Virtual Stats are stats, that are cumulated from other stats. If you have an interface with 10 methods in it, you can add
stats for the interface (or impl) itself and count requests to it in every method, or you can define virtual stats which are updated
on each method stats update automatically. Saves coding and gives you the possibility to to create multiple virtual stats on the same interface, i.e. all write methodes, all query methods ...
Features to come:
- Standalone GUI
- Use Case based monitoring over multiple shared monitoring nodes
- Conditional guards
- ... feel free to suggest some :-)
Download MoSKito
You can download MoSKito from the MoSKito download page.
Roadmap
- Version 0.1 -> 24 Mai 2006
- Version 0.2 -> 25 June 2006
- Version 0.9 RC1 scheduled for March 2007. The 0.9 version will contain all 1.0 features, but will not yet provide full documentation. But it will provide the codebase for 1.0
Related
- 2006-05-28: We are switching to Atomics, Read why
Please send your comments, suggestions or any other kind of positive or negative feedback to rosenberg.leon at gmail.com.
Thank you for your interest in MoSKito.
Leon Rosenberg.