Today I’ll be showing you how to monitor MySQL with Munin on a DirectAdmin platform. I’ve tested this setup for a customer on a CentOS box. It should be fairly easy to adapt this to Debian. You probably won’t even need to change credentials at all on a Debian box given the fact that it has an /etc/mysql/debian.cnf file by default. Although I’m not sure DirectAdmin puts it to good use. Any Debian/DirectAdmin users out there? Feel free to comment.
Let’s start off by checking the proper MySQL login credentials on our CentOS/RHEL box:
# cat /usr/local/directadmin/conf/mysql.conf user=da_admin passwd=removed
Easy enough. Let’s move on to installing munin and applying the credentials to the MySQL monitoring plugin. Munin isn’t available in the default repository. Not to worry, it’s in the Fedora Project’s EPEL repository for CentOS/RHEL. If you don’t have EPEL enabled yet be sure to check the excellent FAQ on the subject.
Or you could just move on to installing the repository.
For i386/i686:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/ epel-release-5-3.noarch.rpm
For x86_64:
For x86_64: # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/ epel-release-5-3.noarch.rpm
Now we can go on installing munin:
# yum install munin munin-node
Sadly this doesn’t install pull all the necessary dependencies. Not sure why the package maintainer missed out on this but it’s rather easy to fix it:
# yum install perl-Cache perl-Cache-Cache # yum install perl-IPC-ShareLite perl-DBD-MySQL
On to the credentials part. Edit the mysql plugin on line 132:
# vim +132 /usr/share/munin/plugins/mysql_
You should see something like this with the credentials left blank:
my %config = ( 'dsn' => $ENV{'mysqlconnection'} || 'DBI:mysql:mysql', 'user' => $ENV{'mysqluser'} || 'da_admin', 'password' => $ENV{'mysqlpassword'} || 'removed', );
As you can see I’ve already filled in the blanks.
Once the plugin has been configured we’re able to apply it. Before applying I’d suggest you take a look at what graphs are available:
# /usr/share/munin/plugins/mysql_ suggest mysql_bin_relay_log mysql_commands mysql_connections mysql_files_tables mysql_innodb_bpool mysql_innodb_bpool_act mysql_innodb_insert_buf mysql_innodb_io mysql_innodb_io_pend mysql_innodb_log mysql_innodb_rows mysql_innodb_semaphores mysql_innodb_tnx mysql_myisam_indexes mysql_network_traffic mysql_qcache mysql_qcache_mem mysql_replication mysql_select_types mysql_slow mysql_sorts mysql_table_locks mysql_tmp_tables
To apply all of them simply run the following:
# cd /etc/munin/plugins # ln -sf /usr/share/munin/plugins/mysql_ mysql_ # for i in `./mysql_ suggest`; \ do ln -sf /usr/share/munin/plugins/mysql_ $i; done
If you only need a few of them you can apply them this way:
# cd /etc/munin/plugins # ln -sf /usr/share/munin/plugins/mysql_ mysql_ # ln -sf /usr/share/munin/plugins/mysql_ mysql_bin_relay_log # ln -sf /usr/share/munin/plugins/mysql_ mysql_commands # ln -sf /usr/share/munin/plugins/mysql_ mysql_connections # ln -sf /usr/share/munin/plugins/mysql_ $any_other_graph
Be sure to reload munin-node:
# /etc/init.d/munin-node restart
And that’s it. Enjoy your graphs at http://127.0.0.1/munin. 🙂
[…] the article here: Penumbra » Monitoring MySQL with Munin on a DirectAdmin platform Posted in Uncategorized | Tags: direct, fairly-easy, munin, probably-won, […]
Big WTF! Changing /usr/share/munin/plugins/mysql_ ??? You realize that this change will be gone once you upgrade the package?
I don’t know the specifics on RedHat, but on debian you change /etc/munin/plugin-conf.d/munin-node :
[mysql*]
user someuser
env.mysqlopts –defaults-extra-file=/etc/mysql/debian.cnf
I’m pretty sure this is not something debian-specific and it will work on RH too…
I’ve looked into it and you’d still need to edit /usr/share/munin/plugins/mysql_ to apply it.
Which renders your “big wtf” pretty much useless.
Its giving Segmentation Fault error.
Which part is giving the segfault?
I’m having consistently this error even installing perl-Cache and perl-Cache-Cache.
# /usr/share/munin/plugins/mysql_ suggest
Missing dependency Cache::Cache at /usr/share/munin/plugins/mysql_ line 703.
I read the same message in several forums, but nobody has a good answer on that.
Could you please give me a clue?
Thanks in advance.
I had to install the following on Centos 5.5
yum install perl-IPC-ShareLite
You could use the following instead of editing the mysql_ plugin:
[mysql*]
user root
env.mysqluser da_admin
env.mysqlpassword removed
(For my charts the da_admin user needed SUPER privileges on the mysql server)
@dude: Thanks for sharing! I’ll update my post asap.
@Bruno: Have you tried to install the perl-IPC-ShareLite package?
[…] 1 2 […]
[…] in ที่มีปัญหา ออกจาก /etc/munin/plugins แหล่งลอก 1 2 […]
It is working.
Nice thankyou