Do we want an Open Source MySQL Monitoring tool ?

Matt Reid wants to know what we want in an Open Source MySQL monitoring solution ?

He is working on the second incarnation of Monolith and wants input from the MySQL community.

Now for me the bigger question is if we want an isolated tool that runs stand alone, or a tool which we can integrate it in something we already have.

To me there is a difference between a tool that I want to use to debug my environment, such as Mytop or MySQL Activity Report, in that case I need some tool that quickly installs with little dependencies and little impact.

On the other side I want a tool that is constantly there, that tells me about trends and performance history. But there I don't want an isolated toool, I want something fully integrated where I can correlate different measurements from disk io, memory usage etc , that tool should also tell me about the things that go
wrong.

We did some research earlier this year to figure out the current state of Open Source monitoring tools. Different tools have a different audience.. some go for the network layer, others take the os level and other even try to go deep inside the applications.

Given that knowledge we even had the idea to refocus that research comparing different monitoring tools such as Zabbix, Zenoss, Hyperic and Nagios again but this time with a focus on monitoring MySQL and submit that as an abstract for the upcoming MySQL conference, we didn't .. maybe next time.

There's plenty of frameworks already that will allow you to send alerts on all of the occasions you list, or allow you to graph all the values you want. And yes we want to see those values too.

But do we want yet another tool , yet another URL to browse to or do we want those alerts and graphs integrated in an existing tool such as Zabbix, Zenoss or
Hyperic .. I guess I prefer the integrated approach.

Comments

themattreid's picture

#1 themattreid : However, we don't get the following from other tools

Reinventing the wheel and adding necessary features to the wheel are totally different approaches. I have no interest in spending hundreds of hours designing something that already exists. The whole reason for this application is to fill the need for something that does not already exist in the open source community. That said...

Except for MySQL Enterprise Dashboard (which costs $1999 - $4999 per server per year) you're not getting the following from Zenoss (which we use for our systems level stuff), Nagios, Cacti, or any of the other monitoring systems I've found:

1. automated performance tuning reports to improve your servers
2. automated alerting for >50 custom mysql variables
3. trend graphing for things that actually matter for mysql servers - not like zenoss's defaults that are sorely lacking
4. an API that will let you integrate with other monitoring systems if you so choose
5. environment wide (not just single server) reports on data+index sizes, schema numbers and table statistics, etc
6. etc etc etc


Matthew Montgomery's picture

#2 Matthew Montgomery : MySQL's own monitoring

MySQL's own monitoring solution relies upon Hyperic's SIGAR API to collect stats in an integrated way.

http://www.hyperic.com/news/releases/10_30_2006b.html

It seems every monitoring community out there have developed a mysql plugin for their platform of choice.

http://support.hyperic.com/display/hypcomm/MySQL
http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F1479.html;d=1
http://www.xaprb.com/blog/2008/04/27/improved-cacti-monitoring-templates...

Working with those already out there to continue their improvement would be the direction I'd take rather than re-inventing the wheel.


Kris Buytaert's picture

#3 Kris Buytaert : Exactly

Exactly .. you got my point..

Obviously you've been here before and you read my earlier rants on other people wanting to reinvent the wheel :)


Arjen Lentz's picture

#4 Arjen Lentz : but...

unfortunately the mysql enterprise monitoring tool itself does not integrate into a platform, it just stands on its own. This IMHO makes it extremely awkward to deal with, as MySQL is never the only thing that you need to monitor.

So, Kris, I firmly agree with you - there are enough mature platforms out there, anything sensible should integrate with them.


Kris Buytaert's picture

#5 Kris Buytaert : Zabbix, Zenoss , Hyperic

Obviously Zabbix isn't the only tool that does this.. so does Hyperic , so does ... :)


Mike C's picture

#6 Mike C : A Zabbix solution

I put this together for Zabbix, though it is stil rough: http://www.zabbix.com/wiki/doku.php?id=extensive_mysql_monitoring_includ...