mirror of https://github.com/mikaku/Monitorix.git
added support for the new 'max_historic_years' option to the 'mysql' graph
This commit is contained in:
parent
292a3318f4
commit
ceb818aefb
31
lib/mysql.pm
31
lib/mysql.pm
|
@ -36,9 +36,15 @@ sub mysql_init {
|
||||||
|
|
||||||
my $info;
|
my $info;
|
||||||
my @ds;
|
my @ds;
|
||||||
|
my @rra;
|
||||||
my @tmp;
|
my @tmp;
|
||||||
my $n;
|
my $n;
|
||||||
|
|
||||||
|
my @average;
|
||||||
|
my @min;
|
||||||
|
my @max;
|
||||||
|
my @last;
|
||||||
|
|
||||||
if(!grep {$_ eq lc($mysql->{conn_type})} ("host", "socket")) {
|
if(!grep {$_ eq lc($mysql->{conn_type})} ("host", "socket")) {
|
||||||
logger("$myself: ERROR: invalid value in 'conn_type' option.");
|
logger("$myself: ERROR: invalid value in 'conn_type' option.");
|
||||||
return;
|
return;
|
||||||
|
@ -52,15 +58,30 @@ sub mysql_init {
|
||||||
push(@ds, substr($key, 3, index($key, ']') - 3));
|
push(@ds, substr($key, 3, index($key, ']') - 3));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(index($key, 'rra[') == 0) {
|
||||||
|
if(index($key, '.rows') != -1) {
|
||||||
|
push(@rra, substr($key, 4, index($key, ']') - 4));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(scalar(@ds) / 38 != scalar(my @ml = split(',', $mysql->{list}))) {
|
if(scalar(@ds) / 38 != scalar(my @ml = split(',', $mysql->{list}))) {
|
||||||
logger("Detected size mismatch between 'list' (" . scalar(my @ml = split(',', $mysql->{list})) . ") and $rrd (" . scalar(@ds) / 38 . "). Resizing it accordingly. All historic data will be lost. Backup file created.");
|
logger("$myself: Detected size mismatch between 'list' (" . scalar(my @ml = split(',', $mysql->{list})) . ") and $rrd (" . scalar(@ds) / 38 . "). Resizing it accordingly. All historical data will be lost. Backup file created.");
|
||||||
|
rename($rrd, "$rrd.bak");
|
||||||
|
}
|
||||||
|
if(scalar(@rra) != 12 + (4 * $config->{max_historic_years})) {
|
||||||
|
logger("$myself: Detected size mismatch between 'max_historic_years' (" . $config->{max_historic_years} . ") and $rrd (" . ((scalar(@rra) -12) / 4) . "). Resizing it accordingly. All historical data will be lost. Backup file created.");
|
||||||
rename($rrd, "$rrd.bak");
|
rename($rrd, "$rrd.bak");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!(-e $rrd)) {
|
if(!(-e $rrd)) {
|
||||||
logger("Creating '$rrd' file.");
|
logger("Creating '$rrd' file.");
|
||||||
|
for($n = 1; $n <= $config->{max_historic_years}; $n++) {
|
||||||
|
push(@average, "RRA:AVERAGE:0.5:1440:" . (365 * $n));
|
||||||
|
push(@min, "RRA:MIN:0.5:1440:" . (365 * $n));
|
||||||
|
push(@max, "RRA:MAX:0.5:1440:" . (365 * $n));
|
||||||
|
push(@last, "RRA:LAST:0.5:1440:" . (365 * $n));
|
||||||
|
}
|
||||||
for($n = 0; $n < scalar(my @ml = split(',', $mysql->{list})); $n++) {
|
for($n = 0; $n < scalar(my @ml = split(',', $mysql->{list})); $n++) {
|
||||||
push(@tmp, "DS:mysql" . $n . "_queries:GAUGE:120:0:U");
|
push(@tmp, "DS:mysql" . $n . "_queries:GAUGE:120:0:U");
|
||||||
push(@tmp, "DS:mysql" . $n . "_sq:GAUGE:120:0:U");
|
push(@tmp, "DS:mysql" . $n . "_sq:GAUGE:120:0:U");
|
||||||
|
@ -108,19 +129,19 @@ sub mysql_init {
|
||||||
"RRA:AVERAGE:0.5:1:1440",
|
"RRA:AVERAGE:0.5:1:1440",
|
||||||
"RRA:AVERAGE:0.5:30:336",
|
"RRA:AVERAGE:0.5:30:336",
|
||||||
"RRA:AVERAGE:0.5:60:744",
|
"RRA:AVERAGE:0.5:60:744",
|
||||||
"RRA:AVERAGE:0.5:1440:365",
|
@average,
|
||||||
"RRA:MIN:0.5:1:1440",
|
"RRA:MIN:0.5:1:1440",
|
||||||
"RRA:MIN:0.5:30:336",
|
"RRA:MIN:0.5:30:336",
|
||||||
"RRA:MIN:0.5:60:744",
|
"RRA:MIN:0.5:60:744",
|
||||||
"RRA:MIN:0.5:1440:365",
|
@min,
|
||||||
"RRA:MAX:0.5:1:1440",
|
"RRA:MAX:0.5:1:1440",
|
||||||
"RRA:MAX:0.5:30:336",
|
"RRA:MAX:0.5:30:336",
|
||||||
"RRA:MAX:0.5:60:744",
|
"RRA:MAX:0.5:60:744",
|
||||||
"RRA:MAX:0.5:1440:365",
|
@max,
|
||||||
"RRA:LAST:0.5:1:1440",
|
"RRA:LAST:0.5:1:1440",
|
||||||
"RRA:LAST:0.5:30:336",
|
"RRA:LAST:0.5:30:336",
|
||||||
"RRA:LAST:0.5:60:744",
|
"RRA:LAST:0.5:60:744",
|
||||||
"RRA:LAST:0.5:1440:365",
|
@last,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
my $err = RRDs::error;
|
my $err = RRDs::error;
|
||||||
|
|
Loading…
Reference in New Issue