Unknown table engine INNODB in Munin mysql_connections

Munin is een applicatie dat wordt gebruikt om te monitoren. Het genereerd statistieken en zet het om in overzichtelijke afbeeldingen.

In  deze post beschrijf ik hoe met Munin MySQL databases kan worden gemonitord.
Echter komt er een foutmelding als een InnoDB database wordt gemonitord.

InnoDB is is een snelle MySQL engine. Echter is deze deprecated.
Als InnoDB uit staat MySQL zal Munins plugin mysql_connections een foutmelding geven:

# munin-run mysql_connections
DBD::mysql::st execute failed: Unknown table engine 'INNODB' at /etc/munin/plugins/mysql_connections line 958.

Deze error verschijnt omdat de onderliggende foutmelding van MySQL is veranderd in de verschillende MySQL versies. Dit is nog niet geupdate in de mysql_ plugin.
Dit is vrij makkelijk aan te passen door de foutmelding aan te passen in het bestand:

/usr/share/munin/plugins/mysql_

Het volgende moet worden aangepast op regel 958 :

if ($@) {
 	        if ($@ =~ /Cannot call SHOW INNODB STATUS because skip-innodb is defined/) {
 	            $data->{_innodb_disabled} = 1;
 	            return;
 	        }
 	        die $@;

Moet worden aangepast naar:

if ($@) {
 	        if ($@ =~ /Unknown table engine 'INNODB'|Unknown storage engine 'innodb'|Cannot call SHOW INNODB STATUS because skip-innodb is defined/i) {
 	            $data->{_innodb_disabled} = 1;
 	            return;
 	        }
 	        die $@;

Sla dit op, en probeer nog een keer de plugin te runnen:

munin-run mysql_connections.

Nu zullen gewone waardes terug worden gegeven.

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *