If you’re running a CentOS 5/6 Server and installed Munin to graph the system stats, you’ll mostly likely notice that the generated graphs do not include MySQL.
Unfortunately, by default, Munin tries to read MySQL data using the root account and no password and fails.
But there’s an easy way to fix this:
Enter your MySQL Database Server administration interface and create a new user munin with a safe password (remember it, you’ll need it later), set it to only log in from localhost and add the Superuser permission.
Then navigate to Database Permissions and add the previously created munin user on database mysql, again only for localhost and only grant the Select table data permission.
Moving on, open the /etc/munin/plugin-conf.d/munin-node file in your favourite editor and add (or edit if already exists):
If you’re using innodb tables, you will need to create the /etc/munin/plugin-conf.d/mysql_innodb file and this in it to ignore error about it (which Munin will most likely generate):
Now it’s time to test if the plugin works. Run in the console:
munin-node-configure --suggest | grep mysql
You should get something like
mysql_ | yes | yes (+bin_relay_log +commands +connections +files_tables +innodb_bpool +innodb_bpool_act +innodb_insert_buf +innodb_io +innodb_io_pend +innodb_log +innodb_rows +innodb_semaphores +innodb_tnx +myisam_indexes +network_traffic +qcache +qcache_mem +replication +select_types +slow +sorts +table_locks +tmp_tables)
If you’re missing any required Perl modules, you’ll see a | no | no and the needed modules’ names.
mysql_ | no | no [Missing dependency Cache::Cache]
Install them and then try again.
yum install perl-Cache-Cache perl-IPC-ShareLite
If all is well, it’s time to activate the plugin by running
ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins
and then restart munin-node
service munin-node restart
Then just wait 10-20 minutes for your graphs to show up.