adapt cadvisor to new counter template
This commit is contained in:
parent
844ba7d589
commit
593ecc14b5
|
@ -30,15 +30,14 @@ my $instance_mode;
|
||||||
sub custom_usage_perfdata {
|
sub custom_usage_perfdata {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
my $extra_label = '';
|
||||||
|
$extra_label = '_' . $self->{result_values}->{label} if (!defined($options{extra_instance}) || $options{extra_instance} != 0);
|
||||||
my $label = 'used';
|
my $label = 'used';
|
||||||
my $value_perf = $self->{result_values}->{used};
|
my $value_perf = $self->{result_values}->{used};
|
||||||
if (defined($instance_mode->{option_results}->{free})) {
|
if (defined($instance_mode->{option_results}->{free})) {
|
||||||
$label = 'free';
|
$label = 'free';
|
||||||
$value_perf = $self->{result_values}->{free};
|
$value_perf = $self->{result_values}->{free};
|
||||||
}
|
}
|
||||||
my $extra_label = '';
|
|
||||||
$extra_label = '_' . $self->{result_values}->{perf} if (!defined($options{extra_instance}) || $options{extra_instance} != 0);
|
|
||||||
$extra_label .= '_' . $self->{result_values}->{device} if (!defined($options{extra_instance_lvl2}) || $options{extra_instance_lvl2} != 0);
|
|
||||||
my %total_options = ();
|
my %total_options = ();
|
||||||
if ($instance_mode->{option_results}->{units} eq '%') {
|
if ($instance_mode->{option_results}->{units} eq '%') {
|
||||||
$total_options{total} = $self->{result_values}->{total};
|
$total_options{total} = $self->{result_values}->{total};
|
||||||
|
@ -82,9 +81,9 @@ sub custom_usage_output {
|
||||||
sub custom_usage_calc {
|
sub custom_usage_calc {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
$self->{result_values}->{label} = $self->{instance};
|
||||||
$self->{result_values}->{container} = $options{new_datas}->{$self->{instance} . '_container'};
|
$self->{result_values}->{container} = $options{new_datas}->{$self->{instance} . '_container'};
|
||||||
$self->{result_values}->{pod} = $options{new_datas}->{$self->{instance} . '_pod'};
|
$self->{result_values}->{pod} = $options{new_datas}->{$self->{instance} . '_pod'};
|
||||||
$self->{result_values}->{perf} = $options{new_datas}->{$self->{instance} . '_perf'};
|
|
||||||
$self->{result_values}->{total} = $options{new_datas}->{$self->{instance} . '_limit'};
|
$self->{result_values}->{total} = $options{new_datas}->{$self->{instance} . '_limit'};
|
||||||
$self->{result_values}->{used} = $options{new_datas}->{$self->{instance} . '_used'};
|
$self->{result_values}->{used} = $options{new_datas}->{$self->{instance} . '_used'};
|
||||||
$self->{result_values}->{free} = $self->{result_values}->{total} - $self->{result_values}->{used};
|
$self->{result_values}->{free} = $self->{result_values}->{total} - $self->{result_values}->{used};
|
||||||
|
@ -105,14 +104,18 @@ sub set_counters {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
$self->{maps_counters_type} = [
|
$self->{maps_counters_type} = [
|
||||||
{ name => 'containers', type => 3, cb_prefix_output => 'prefix_containers_output', message_multiple => 'All containers storages usage are ok',
|
{ name => 'containers', type => 3, cb_prefix_output => 'prefix_containers_output', cb_long_output => 'long_output',
|
||||||
counters => [ { name => 'storage', type => 1, cb_prefix_output => 'prefix_storage_output', message_multiple => 'All storages usage are ok' } ] },
|
message_multiple => 'All containers storages usage are ok', indent_long_output => ' ',
|
||||||
|
group => [
|
||||||
|
{ name => 'storage', display_long => 1, cb_prefix_output => 'prefix_storage_output',
|
||||||
|
message_multiple => 'All storages usage are ok', type => 1, skipped_code => { -10 => 1 } },
|
||||||
|
]
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
$self->{maps_counters}->{storage} = [
|
$self->{maps_counters}->{storage} = [
|
||||||
{ label => 'usage', set => {
|
{ label => 'usage', set => {
|
||||||
key_values => [ { name => 'used' }, { name => 'limit' }, { name => 'container' }, { name => 'pod' },
|
key_values => [ { name => 'used' }, { name => 'limit' }, { name => 'container' }, { name => 'pod' } ],
|
||||||
{ name => 'perf' } ],
|
|
||||||
closure_custom_calc => $self->can('custom_usage_calc'),
|
closure_custom_calc => $self->can('custom_usage_calc'),
|
||||||
closure_custom_output => $self->can('custom_usage_output'),
|
closure_custom_output => $self->can('custom_usage_output'),
|
||||||
closure_custom_perfdata => $self->can('custom_usage_perfdata'),
|
closure_custom_perfdata => $self->can('custom_usage_perfdata'),
|
||||||
|
@ -122,10 +125,22 @@ sub set_counters {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub prefix_container_output {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
return "Container '" . $options{instance_value}->{display} . "' ";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub long_output {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
return "Checking container '" . $options{instance_value}->{container} . "' [pod: " . $options{instance_value}->{pod} . "]";
|
||||||
|
}
|
||||||
|
|
||||||
sub prefix_storage_output {
|
sub prefix_storage_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
return "Container '" . $options{instance_value}->{container} . "' [pod: " . $options{instance_value}->{pod} . "] Device '" . $options{instance_value}->{device} . "' ";
|
return "Storage '" . $options{instance_value}->{display} . "' ";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
|
@ -196,10 +211,10 @@ sub manage_selection {
|
||||||
|
|
||||||
foreach my $result (@{$results}) {
|
foreach my $result (@{$results}) {
|
||||||
next if (!defined($result->{metric}->{$self->{labels}->{pod}}) || !defined($result->{metric}->{$self->{labels}->{container}}));
|
next if (!defined($result->{metric}->{$self->{labels}->{pod}}) || !defined($result->{metric}->{$self->{labels}->{container}}));
|
||||||
|
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{display} = $result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}};
|
||||||
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{container} = $result->{metric}->{$self->{labels}->{container}};
|
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{container} = $result->{metric}->{$self->{labels}->{container}};
|
||||||
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{pod} = $result->{metric}->{$self->{labels}->{pod}};
|
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{pod} = $result->{metric}->{$self->{labels}->{pod}};
|
||||||
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{device} = $result->{metric}->{$self->{labels}->{device}};
|
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{device} = $result->{metric}->{$self->{labels}->{device}};
|
||||||
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{perf} = $result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}};
|
|
||||||
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{$result->{metric}->{__name__}} = ${$result->{value}}[1];
|
$self->{containers}->{$result->{metric}->{$self->{labels}->{pod}} . "_" . $result->{metric}->{$self->{labels}->{container}}}->{storage}->{$result->{metric}->{$self->{labels}->{device}}}->{$result->{metric}->{__name__}} = ${$result->{value}}[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue