Monitor your MySQL servers as done before, for free!

With genuine respect to other products, the people making those products and the efforts involved, I would like to make an issue:

Some things have been done before, done pretty well (if I may say so), and for free.

mycheckpoint is a free monitoring tool for MySQL. It uses an unorthodox approach of monitoring your MySQL servers by storing the monitored data in SQL format (actually, within a MySQL server). This allows you to either use the fancy JavaScript charting (by running mycheckpoint as HTTP server), or Do-It-Yourself diagnostics.

It allows for a great many more things, among which are custom queries and charts: you may add your own queries, to be included in the monitoring scheme. Query your AUTO_INCREMENT values to detect growth rate, query your INFORMATION_SCHEMA tables (if you dare) to learn about your data dimensions, query for query response time to detect performance issues with your website/database, or query your data itself (e.g. sales per day) to get insight about your product. Here are sample charts to illustrate.

Adding a custom query is as easy as producing an INSERT command. And of course you can set up alert conditions. You can set them up on your normal monitored data (e.g. seconds behind master) or on your custom monitored data (e.g. time it takes to execute cart-items query is too long, rate of purchases is below some threshold etc.). It works the same since all monitored data, standard & custom, is stored in SQL format: rows, columns, a table.

This also means you can retroactively check for different thresholds; you can query your data anyway you like! mycheckpoint provides you with a good visualization tool, but, like a good command like client, leaves the data intact for you to analyze the way you like it.

Of course you can get emailed once an alert pops up. But wait, not so fast: you can ask the alert to pop up only if the threshold is trespassed for a given amount of time. For example, it may be OK for OS load average to increase for a few moments, but you may wish to be alerted if this happens for over 30 minutes continuously.

The thing is, you get all these in an uncompressed 222K single python script (43K compressed), and there’s no trial period. mycheckpoint is completely free to download and use under the BSD license. It is listed in 10 essential MySQL tools for admin, and is well documented.

I’m not suggesting the scope of mycheckpoint levels with that of other products. It is lightweight; it does not have the full featured web interface as others do; there’s work to be done. It only provides basic OS monitoring, and there are missing parts, like replication topology monitoring. But it is feature rich. As the author of mycheckpoint I take notice of using it on production for my own servers. It gets the job done.

It uses some ideas based on existing tools, and a few original ones. Before you say “like never before”, take a look at mycheckpoint.

7
Leave a Reply

avatar
7 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
shlomiJonathan LevinPeter Laursen Recent comment authors

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of
Peter Laursen
Guest

Thanks for linking to MONyog. The main difference between concepts (not discussing features) are, I think 1) MONyog does not at all touch the server(s) monitored. Nothing stored here. Also nothing executable to run on the servers monitored. MONyog is ‘agentless’. I don’t know if you can monitor 200 MySQL servers and have only one mycheckpoint instance to maintain? Can you (more or less easily) have a unified view of multiple MySQL servers in one page? 2) MONyog has built in its own HTTP daemon, its own database and its own script-intepreter (javascript) and does not depend on availability of… Read more »

Peter Laursen
Guest

OK .. thanks for taking the time to reply so detailed. I think I should reply back to 2 points:

1)
“Why do you say python is non-cross platform though?”. I was referring Windows where Python is not ‘native’. It may be installed of course. But most Windows users are unfamiliar with handling such Unix-style environments.

2)
MONyog has been available to the public for 4+ years now.

Jonathan Levin
Guest

I have to say that I do like this tool. I especially like the ‘custom queries’ features. I have had a lot of requests for custom queries such as – can you tell me how many orders we sold yesterday, because if its under a certain amount there may be a problem with the thing-a-mi-jig in the warehouse again. You can technically set that up in nagios, however. As for the comment above, I do not feel that the mycheckpoint’s current measurements inflicts too much load on the server for me to worry about. There may be a case that… Read more »