This provides me with a list of connections, users, hosts, databases, commands etc, updated every second. It's a real-time "who's doing what right now?" solution.
Apart from running cacti to graph the mysql performance over time, we have mysqltuner.com setup to send us a daily report of any variables on the server we should be keeping an eye on.
We use hyperic, it is an open source application, but there is a commercial product as well if you want. It also monitors the operating system, web servers etc.
Don't forget to monitor the underlying platform. I would monitor
IOPS on the log, data and tmp devices (you do have those on three seperate LUNs don't you ?)
Swapping (more than a few pages / second is bad for mysql, google "mysql swappiness" to find out why)
Memory statistics for the host OS. A general rule of thumb I follow is to allocate no more than 80% to the mysql process to leave some room for the OS and the buffer cache
You can use SNMP and Cacti to monitor all of these things
Try MySQL Cacti Templates.
mytop provides some handy CLI info, it's free (*unix only).
Mysql has a free one called Mysql Administrator which is part of the mysql GUI tools package.
Mysql Administrator connection documentation.
There is also the Mysql Enterprise Monitor which has many more monitoring features. You can monitor Mysql on other servers see faq question 7.
As basic as it is, I've used:
This provides me with a list of connections, users, hosts, databases, commands etc, updated every second. It's a real-time "who's doing what right now?" solution.
Very simple, but also useful.
innotop
has been fantastic for monitoring. i believe its recommended in both editions ofhigh performance mysql
.Apart from running cacti to graph the mysql performance over time, we have mysqltuner.com setup to send us a daily report of any variables on the server we should be keeping an eye on.
I have a custom Zabbix configuration for extracting useful data points from MySQL. I should get around to opening these scripts up to the community.
I like SQLyog for remote administration of mySQL. Nice GUI environment, and there is a free community edition.
This company also makes MONyog, a mySQL monitoring solution, but it's not free and I haven't played with it.
We use hyperic, it is an open source application, but there is a commercial product as well if you want. It also monitors the operating system, web servers etc.
Don't forget to monitor the underlying platform. I would monitor
You can use SNMP and Cacti to monitor all of these things