Setting up Application Performance Monitoring is a big task, but like
everything else it can be broken down into simple steps. You have to know
what you want to achieve and subsequently where to start. So let’s start at
the beginning and take a top-down approach
Know What You Want
The first thing to do is to be clear of what we want when monitoring the
application. Let’s face it: we “do not want to” ensure CPU utilization
to be below 90 percent or a network latency of under one millisecond. We are
also not really interested in garbage collection activity or whether the
database connection pool is utilized. We need to monitor all of these things
in order to reach our main goal. And the main goal for this article series is
to ensure the health and stability of our application and business services.
To ensure that we need to leverage all of the mentioned metrics.
What ... (more)
Anyone who ever monitored or analyzed an application uses or has used
averages. They are simple to understand and calculate. We tend to ignore just
how wrong the picture is that averages paint of the world. To emphasis the
point let me give you a real-world example outside of the performance space
that I read recently in a newspaper.
The article was explaining that the average salary in a certain region in
Europe was 1900 Euro's (to be clear this would be quite good in that
region!). However when looking closer they found out that the majority,
namely 9 out of 10 people, only ea... (more)
In a recent article we have shown how the Java Garbage Collection MXBean
Counters have changed for the Concurrent Mark-and-Sweep Collector. It now
reports all GC runs instead of just major collections. That prompted me to
think about what a major GC actually is or what it should be. It is actually
quite hard to find any definition of major and minor GCs. This well-known
Java Memory Management Whitepaper only mentions in passing that a full
collection is sometimes referred to as major collection.
One of the more popular definitions is that a major GC is a stop-the-w... (more)
Traditional Enterprise Database vendors often bring up the lack of
professional monitoring and management tool support for NoSQL solutions.
Their argument is that enterprise applications require sophisticated tuning
and monitoring of the database in order to ensure a performant and smooth
operation. NoSQL Vendors, while arguing that this lack is not enough to favor
RDBMS over their respective solutions, do agree. Several vendors try to
differentiate themselves by providing enterprise level monitoring and
management software, for example, Cassandra, MongoDB, HBase or others. Both ... (more)
Over the last couple of months I have been talking to more and more customers
who are either bringing their Hadoop clusters into production or have already
done so and are now getting serious about operations. This leads to some
interesting discussions about how to monitor Hadoop properly and one thing
pops up quite often: Do they need anything beyond Ganglia? If yes, what
should they do beyond it?
As in every other system, monitoring in a Hadoop environment starts with the
basics: System Metrics - CPU, Disk, Memory you know the drill. Of special
importance in a Hadoo... (more)