Changeset 1288
- Timestamp:
- 24/08/07 15:47:45 (5 years ago)
- Files:
-
- trunk/server/Munin.pm.in (modified) (1 diff)
- trunk/server/munin-limits.in (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/server/Munin.pm.in
r1287 r1288 84 84 "version", "tls_certificate", "tls_private_key", "tls_pem", 85 85 "tls_verify_certificate", "tls_verify_depth", "graph_data_size", 86 "colour", "graph_printf" 86 "colour", "graph_printf", "ok", "unknown" 87 87 ); 88 88 trunk/server/munin-limits.in
r1145 r1288 151 151 my $filename = "$config->{dbdir}/$domain/$name-$clientname-$key-". 152 152 lc substr (($client->{"$key.type"}||"GAUGE"),0,1) . ".rrd"; 153 my $value = sprintf "%.2f",&munin_fetch("$filename"); 153 my $value = &munin_fetch("$filename"); 154 # De-taint. 155 if (!defined $value) { 156 $value = "unknown"; 157 } else { 158 $value = sprintf "%.2f",$value; 159 } 154 160 155 161 # Some fields that are nice to have in the plugin output … … 166 172 167 173 logger ("value: $domain -> $name -> $clientname -> $key : $value") if $DEBUG; 168 if ((defined ($critical->[0]) and $value < $critical->[0]) or 174 if ($value eq "unknown") { 175 $critical->[0] ||= ""; 176 $critical->[1] ||= ""; 177 $client->{'worst'} = "UNKNOWN" if $client->{"worst"} eq "OK"; 178 $client->{'worstid'} = 3 if $client->{"worstid"} == 0; 179 $notes{$domain}{$name}{$clientname}{"$key.state"} = "unknown"; 180 $notes{$domain}{$name}{$clientname}{"$key.unknown"} = 181 (defined $client->{"$key.extinfo"} ? "unknown: " . $client->{"$key.extinfo"} : "Value is unknown."); 182 if (!defined ($oldnotes->{'domain'}->{$domain}->{'node'}->{$name}->{'client'}->{$clientname}->{"$key.state"}) or 183 $oldnotes->{'domain'}->{$domain}->{'node'}->{$name}->{'client'}->{$clientname}->{"$key.state"} ne "unknown") 184 { 185 $client->{'state_changed'} = 1; 186 } 187 } 188 elsif ((defined ($critical->[0]) and $value < $critical->[0]) or 169 189 (defined ($critical->[1]) and $value > $critical->[1])) { 170 190 $critical->[0] ||= ""; … … 189 209 $warning->[0] ||= ""; 190 210 $warning->[1] ||= ""; 191 $client->{'worst'} = "WARNING" if $client->{"worst"} eq "OK";192 $client->{'worstid'} = 1 if $client->{"worstid"} == 0;211 $client->{'worst'} = "WARNING" if $client->{"worst"} ne "CRITICAL"; 212 $client->{'worstid'} = 1 if $client->{"worstid"} != 2; 193 213 $notes{$domain}{$name}{$clientname}{"$key.state"} = "warning"; 194 214 $notes{$domain}{$name}{$clientname}{"$key.warning"} = … … 269 289 my %stats = ('critical' => [], 'warning' => [], 'unknown' => [], 'foks' => [], 'ok' => []); 270 290 291 logger ("generating service message: $domain -> $name -> $clientname") if $DEBUG; 271 292 foreach my $key (keys %{$notes{$domain}{$name}{$clientname}}) 272 293 { … … 283 304 elsif ($key =~ /^([^\.]+)\.unknown$/) 284 305 { 285 $worst = "unknown" unless $worst;306 $worst = "unknown" if (!$worst or $worst eq "ok"); 286 307 push @{$stats{'unknown'}}, $1; 287 308 } … … 433 454 } 434 455 $pipe = $config->{'contact'}->{$c}->{'pipe'}; 456 logger ("sending message: \"$txt\"") if ($DEBUG); 435 457 print $pipe $txt, "\n" if (defined $pipe); 436 458 $config->{'contact'}->{$c}->{'num_messages'}++;
