I usually find sticking this code in an existing plugin resolve the problem
if(!defined $data->{$ds->{name}}) { $data->{$ds->{name}} = 0; }
egĀ Use of uninitialized value in printf at /usr/local/etc/munin/plugins/mysql_innodb_io_pend line 885.
so I stuck the code in just before line 885.
The red highlighted text is the added code, the orange is the code which was throwing up the warning
sub show {
my $graph_name = shift;
die 'Unknown graph ' . ($graph_name ? $graph_name : '')
unless $graphs{$graph_name};
my $graph = $graphs{$graph_name};
update_data();
die "Can't show data for '$graph_name' because InnoDB is disabled."
if $graph_name =~ /innodb_/ && $data->{_innodb_disabled};
for my $ds (@{$graph->{data_sources}}) {
if(!defined $data->{$ds->{name}}) { $data->{$ds->{name}} = 0; }
printf "%s.value %s\n",
clean_fieldname($ds->{name}), $data->{$ds->{name}};
}
return 0;
}