Generic server monitoring with Monitis & M3

Had I been told to monitor a cat chasing a mouse with Monitis, my answer would have been – “Yes, it’s probably possible”.
With the not-so-recent addition of M3 to the arsenal of monitoring tools Monitis can utilize, it is possible to monitor anything. However this alone is far from being enough. Smart implementations of proper applicative monitoring is what should be practiced.
A guest blog post from Alexander Podelko, a performance expert currently working for Oracle:
A Few Thoughts about APM and Its Future
APM is a vague term. There is no agreement even on what it stands for: Application Performance Monitoring or Application Performance Management. Some background information can be found here Industry Watch: Behind the APM and DevOps buzzwords. If I had to define the terms, I’d say that the term Application Performance Monitoring befits the existing products on the market whereas Application Performance Management is more akin to what the industry wants and needs as it promises so much more than is currently available.
Website visitors have a low attention span. We’ve mentioned many times how crucial it is not to let page load times exceed 2-3 seconds. This was demonstrated by a test done at Amazon which showed that every 100ms increase in load time resulted in a 1% drop in sales. With Amazon’s annual turnover close to $50B, that would result in lost sales of $5B if the site took just 1 second longer to load.
We analyzed our own website, which is based on Joomla Content Management System, and our blog, based on WordPress. We found that even from monitoring locations closest to our servers, there’s a 100ms wait to get first byte. That may sound reasonable, but if the browser is making multiple requests to your website (for media files or javascript, etc.) it reduces full page load times significantly.
Posted by glenn.chen | Posted in Performance Management | Posted on 13-02-2012

To read the Zen of Python, type import this in your Python interpreter. A sharp reader new to Python will notice the word “interpreter”, and realize that Python is another scripting language. “It must be slow!”
No question about it: Python program does not run as fast or efficiently as compiled languages. Even Python advocates will tell you performance is the area that Python is not good for. However, YouTube has proven Python is capable of serving 40 million videos per hour. All you have to do is writing efficient code and seek external (C/C++) implementation for speed if needed. Here are the tips to help you become a better Python developer:
Unleashing the power of M3 & timers

During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers.
M3 execution procedure was outlined in this previous article.
The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocation of monitors in order to actually provide counters over time, graphing performance.
The periodic invocation method suggested up until today was to integrate M3 with crontab.
Crontab, in a nutshell, is a Linux/Unix service for periodic invocation of executables. Implementing M3 with crontab properly meant M3 would run every X minutes, producing a Monitis counter update every X minutes, should everything run properly.
In the following article I’ll outline the changes done to support timers in M3.
Posted by Casey.Strouse | Posted in Performance Management | Posted on 08-02-2012
A lot of bloggers and technologists like to talk about Ruby as if it can’t perform on-par with other dynamic/interpreted programming languages; however, these critics tend to rely on specific benchmarking techniques and ignore the overall performance profile of the language. They also tend not to take into consideration the various factors of their choice of libraries and application architecture before blasting Ruby as being non-performant.
Ruby’s various versions and implementations have different performance profiles also and this must be taken into consideration before a decision can be made definitively about Ruby’s overall performance. Benchmarking is a flawed means of determining the real performance of a tool because it relies too heavily on the system configuration on which the tests are ran and what activity is occurring on the system during test runs.
Need for Speed?
With its first public release in 2004, NGINX now is the second most used web server in the world. This is quite impressive considering NGINX was born among several big players including Apache, Microsoft IIS, and other popular web server software. By sharing best practices and a few tips today, we would like to bring NGINX’s new blood up to speed. Even if you come from the Apache world, you will learn how to build an Apache server that married NGINX, an extremely fast and high-performance web server. Let’s go:
In this article we’ll go into VDI (virtual desktop interface) monitoring on Windows Server Hyper-V and in particular what and where to monitor and what counters to utilize to determine of your virtual machine is overloaded and what resources are used. This article focuses on measuring networking, storage, and CPU usage.
Windows Hyper-V has three main components, each of which can be monitored; the virtstack, devices, and the hypervisor. When Windows 2008 boots the system it launches the virtstack and hypervisor. The virtstack handles the emulated devices, manages virtual machines, services I/O, etc. The Hypervisor schedules the virtual processors, manages interrupts, services timers, and controls other chip-level functions.

Cassandra is a robust and highly scalable NoSQL datastore that usually consists of multiple nodes spread out across multiple datacenters. If you are the system administrator for a large Cassandra deployment then you might be curious as to how your cluster is doing. In fact your job probably depends on it! So how can you combine a great service like Monitis with Cassandra to make sure you cluster is buzzing along smoothly?
We have done a little bit of the work for you and created an open source Monitis-Cassandra project that can help you monitor your Cassandra clusters in style.Let’s get started, first you need to grab the code:

The Internet is a great resource, but it is sometimes too much to wade through hundreds of web pages looking for tips about using Tomcat with a database. So we at Monitis have done it for you! Below are some of the more useful tips found in various places on the Internet.