Blog


Our recent posts

What's going on?

Sometimes the applications just freeze and you know that something going on but not what. Something just seems to hang there. If a similar thing happens to a database you have your slow query log (if you were lucky enough to enable it), but there is no such thing for a regular web-application. You could try to analyse what's happening with jstack, but this is a cumbersome undertaking. That's where Now Running jumps in. (more…)

Leon December 10, 2020

Kill'em all

People have been asking us time over time, if it's possible to disable MoSKito in a running system completely. Also we don't understand why you'd ever want to do it, after first pull request for this feature has been opened, we understood that people are quite serious about it. Well your wish, is our command, so here it goes. (more…)

Leon March 30, 2019

New built-in tags

We continuously monitor how other developers use MoSKito with a wide variety of their web-apps, we carefully listen to their feedback and in response we keep adding new features along with tweaking existing ones to make MoSKito more and more robust with every released version.   Today we would like to introduce you two more built-in tags. These new tags were found to be highly useful in real working environments. They will save you a lot of time and they will allow you to understand reasons behind certain bugs much easier. (more…)

Leo Ertuna May 22, 2018

Links

MOSKITO Homepage: https://www.moskito.org Recipes: https://confluence.opensource.anotheria.net/display/MSK/Recipes twitter: https://twitter.com/search?q=%23moskitojava #moskitojava Anotheria OpenSource https://www.anotheria.org POPULAR GUIDES Integration with…

anotheria April 21, 2018

Better MoSKito Dashboard with Chart and Producer Patterns

Custom dashboards are clearly one of the most useful visualization features MoSKito has to offer. The ability to see all related information at a glance collected in one place improves the analytic capabilities and help tracking the anomalies. However, until now, configuring a dashboard could be cumbersome especially with high amount of charts and producers. Also adding a new producer to the system would require to add it to the dashboard explicitly, a step that could easily be overlooked. With MoSKito 2.8.7 we improved! (more…)

Leon April 21, 2018

Distributed subject observer pattern with ano-plass and DistributeMe

Asynchronous notification aka publisher/subscriber model is a powerful pattern. Both ano-plass and DistributeMe offered a way to do it, one with subject/observer pattern, the other with the classical EventChannels. The ano-plass subject/observer pattern was limited to the current vm. Now it can become global. (more…)

Leon April 16, 2018

Recipe: Monitoring a simple process with counters

From time to time we are asked by the users of MoSKito, how to do this or that, and how to implement a specific use-case with MoSKito. This is why we started a recipes section in our documentation and now also on the blog. A recipe will describe how to achieve a specific goal. So the original question which led to this recipe: "Lets say I have a process, some kind of job, which is running every x seconds, and I want to monitor the number of successful and unsuccessful executions, with least possible effort". And here how it goes. (more…)

Leon February 4, 2018

Using Tags to catch unexpected bugs

MoSKito has many powerful features, it can monitor almost every aspect of your application, it is the worlds best open-source APM for Java. But sometimes all this functionality can be a bit overwhelming to the user, and you might run into some issues figuring out how monitor your app efficiently. To address this, and give you an example of problem solving with MoSKito, today we will give you an insight on a real life case of tracing bugs and optimizing your application using MoSKito. (more…)

Leo Ertuna January 28, 2018

Monitoring existing application using MoSKito Javaagent

In this tutorial we will demonstrate how to use MoSKito Javaagent to monitor existing web-application with no changes to the app's source code. We will show how to add MoSKito Javaagent to the app deployed in Tomcat servlet container, and how to connect to this app using MoSKito Inspect. (more…)

Leo Ertuna January 3, 2018

All my errors.

We programmers never make mistakes. Or so we think and say. However, from time to time errors manage to sneak to production systems and no one seems to know how. Well MoSKito won't change this, but it can help you hunting errors. And here is how. (more…)

Leon June 13, 2017

How to control your loadbalancer

Applications grow. At least successful applications. At some point your growing application will require a loadbalancer. It may be for scaling or availability purpose or something else. The day your application runs behind the loadbalancer first time will make you proud. And it will make you ask, how can I control what the loadbalancer thinks of my application availability? This is how. (more…)

Leon May 11, 2017

Merry Christmas and Happy New Year

wishes MoSKito to all its users and monitored systems.

Leon December 22, 2016

Newest. Hottest. Tracers.

Today MoSKito 2.7.3 is released, and it contains the hottest feature since long time. But decide for yourself. The feature request goes back some years to Dec 02, 2010 to my time at Parship, as Malte once asked, if it would be possible to know where a call to a method actually came from. It was on the list since then, but time was hard to find. So what are tracers anyway? Tracers have 3 purposes or aspects: Tracers allow you to find out which part of your code has been calling some methods in a class of your application you are interested in. They achieve it by guarding the class in question (works with most monitoring points) and triggering and saving a stack trace once something passes by. This is useful if you see strange behavior of some method/class in the MoSKito monitoring, but don't know who is actually using this class. After the execution has passed the tracer, the tracer start to record everything that happens afterwards. This means that a TracedCall (part of MoSKito Journey) is created on the fly and recorded. Every call on the monitored class will be noted, along with parameters and return values. To round this up, tracer will gather some amount of traces (code passing by). Depending on how you configured MoSKito, the tracers could collect only calls with largest duration or simply oldest or newest calls. This way you can run a tracer over a long period of time, collect all slow calls and investigate what slows them down. (more…)

Leon April 12, 2016

Connect Moskito-Central to MongoDB

Today we are going to connect MoSKito-Central to MongoDB database. In a few words, MoSKito-Central is a service (remote or embedded) that receives your MoSKito statistics and stores it in the place of your choice (Filesystem, Database, …). Our choice for now is MongoDB and MoSKito-Central in embedded mode. (more…)

Andrii Skrypnyk April 22, 2015

Enable logback in JBoss

About 10 years ago log4j was the logging framework for java. Years passed and many logging frameworks emerged. For many people, including myself, logback is the new log4j (and that is not only because of Ceki). Unfortunately it is not possible to run logback as slf4j implementation OOTB in JBoss like in Tomcat. The following 5 steps explain you how to get it running. (more…)

Leon March 16, 2015

The Road to IntelliJ IDEA

When it comes to choosing an IDE for Java development,…

Alexandr Osadchy December 15, 2014

Moskito Integration: A user report

About me Hello everyone, My name is Malte Pickhan and I am a Java Developer at tyntec GmbH, located in Dortmund (Germany). And this is my personal MoSKito-Story :-) (more…)

Malte September 30, 2014

MoSKito Hackathon in Kiev - a report

The first MoSKito Hackathon this year took place in Kiev on June 17th. This is the report. (more…)

Leon June 23, 2014

Case Study: Monitoring a cluster of java daemon processes

Hello, today I am going to speak about a concrete example of the MoSKito Control capabilities. Today we will build up a monitoring system, but not for WebApps as in previous posts, but for just plain java processes, that we are going to call daemons. Daemon, in my understanding, is just a plain old java bean/thread running in background in a separate JVM and doing some work. To make the post easier to write I created a small project on github that serves me as example: https://github.com/dvayanu/moskito-control-rmi-cluster-example (more…)

Leon April 11, 2014

The complete MoSKito integration guide – Step 6 – Watching the big app with MoSKito-Control

In all previous steps, we integrated MoSKito into our application and set up data storage. In simple words, we learned how to monitor our app's performance and store the obtained MoSKito data for later analysis. What's next? Here's the good news: our burgershop is now the world's leading burger-seller, with million revenues. It has become a big distributed app, with multiple instances and servers. The bad news: even the smallest fail might lead to a thousand-euro loss per minute. The question: how to keep trace of hundreds of producers on a dozen of instances? It's the moment to call Superman another hero! So, today we're setting up MoSKito-Control, a tool for monitoring multi-node web applications. (more…)

Aleksey Khilkevich February 4, 2014

The complete MoSKito integration guide – Step 5 – MoSKito-Central in remote mode

In the previous step we integrated MoSKito-Central in embedded mode, today is exactly the promised fine day to integrate MoSKito-Central in remote (standalone) mode. You may ask "Why do we need it?",  the answer is: our burgershop has become a real empire with multiple application instances and we want to monitor all of them and consolidate the obtained performance data in one place. So, let's start! (more…)

Eugen Smakula February 3, 2014

The complete MoSKito integration guide – Step 4 – Central storage

Today we are going to unlock even more MoSKito power: more persisting, more centralising. As you know, we can access MoSKito producer's statistics while application is running: http://localhost:8080/burgershop/mui/mskShowAllProducers. But what if:  we want to check statistics for some time ago, like the last night, when we were sleeping? we want to have and check statistics for all our applications, not only a single burgershop (as good businessmen, we surely have various projects to be safe from total fail one day!)? we want to automatically analyse the collected (in time and space) data and make some strategical changes, based on results of this analysis? The answer to all these if's is: MoSKito-Central. (more…)

Valeriy Kazhdan January 31, 2014

Id Based Locking

We ‘invented’ (at least we say we invented it, until…

Leon January 30, 2014

MoSKito Seasonal Greetings

Dear MoSKito-rians and those to become MoSKitorians in the next…

michael.schuetz December 24, 2013