This commit is contained in:
garnier-quentin 2016-08-03 14:37:29 +02:00
parent 11aff4cf63
commit 5ba137ab57
35 changed files with 104 additions and 317 deletions

View File

@ -120,6 +120,7 @@ sub new {
vm_state_error => 'UNKNOWN',
host_state_error => 'UNKNOWN',
retention_dir => '/var/lib/centreon/centplugins',
case_insensitive => 0,
vsphere_server => {
#'default' => {'url' => 'https://XXXXXX/sdk',
# 'username' => 'XXXXX',
@ -262,7 +263,7 @@ sub load_module {
for (@_) {
(my $file = "$_.pm") =~ s{::}{/}g;
require $file;
my $obj = $_->new(logger => $self->{logger});
my $obj = $_->new(logger => $self->{logger}, case_insensitive => $self->{centreon_vmware_config}->{case_insensitive});
$self->{modules_registry}->{$obj->getCommandName()} = $obj;
}
}

View File

@ -71,25 +71,16 @@ sub run {
return if ($self->{statefile_cache}->error() == 1);
}
my %filters = ();
my $multiple = 0;
if (defined($self->{filter_time}) && $self->{filter_time} ne '' && $self->{connector}->{module_date_parse_loaded} == 0) {
$self->{manager}->{output}->output_add(severity => 'UNKNOWN',
short_msg => "Need to install Date::Parse CPAN Module");
return ;
}
if (defined($self->{datacenter}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datacenter}\E$/;
} elsif (!defined($self->{datacenter})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datacenter}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datacenter', is_regexp => 'filter');
my @properties = ('name', 'triggeredAlarmState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datacenter', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datacenter', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -71,7 +71,6 @@ sub run {
return if ($self->{statefile_cache}->error() == 1);
}
my %filters = ();
my $multiple = 0;
if (defined($self->{filter_time}) && $self->{filter_time} ne '' && $self->{connector}->{module_date_parse_loaded} == 0) {
@ -80,16 +79,9 @@ sub run {
return ;
}
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'triggeredAlarmState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -29,6 +29,7 @@ sub new {
bless $self, $class;
$self->{logger} = $options{logger};
$self->{case_insensitive} = defined($options{case_insensitive}) ? $options{case_insensitive} : 0;
return $self;
}
@ -66,4 +67,27 @@ sub set_connector {
alarm(300);
}
sub build_filter {
my ($self, %options) = @_;
my $filters = {};
if (defined($self->{$options{search_option}}) && !defined($self->{$options{is_regexp}})) {
if ($self->{case_insensitive} == 1) {
$filters->{name} = qr/^\Q$self->{$options{search_option}}\E$/i;
} else {
$filters->{name} = qr/^\Q$self->{$options{search_option}}\E$/;
}
} elsif (!defined($self->{$options{search_option}})) {
$filters->{name} = qr/.*/;
} else {
if ($self->{case_insensitive} == 1) {
$filters->{name} = qr/$self->{$options{search_option}}/i;
} else {
$filters->{name} = qr/$self->{$options{search_option}}/;
}
}
return $filters;
}
1;

View File

@ -74,17 +74,10 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'vm', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -82,18 +82,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'runtime.connectionState', 'summary.hardware.numCpuCores', 'summary.hardware.cpuMhz');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -86,24 +86,17 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'runtime.connectionState', 'runtime.powerState');
if (defined($self->{display_description})) {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
my @instances = ('*');

View File

@ -74,17 +74,10 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{datastore_name}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datastore_name}\E$/;
} elsif (!defined($self->{datastore_name})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datastore_name}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datastore_name', is_regexp => 'filter');
my @properties = ('summary.name', 'vm', 'summary.accessible');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -86,17 +86,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'config.fileSystemVolume.mountInfo', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -80,17 +80,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{datastore_name}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datastore_name}\E$/;
} elsif (!defined($self->{datastore_name})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datastore_name}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datastore_name', is_regexp => 'filter');
my @properties = ('summary.name', 'summary.accessible');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => $filters);
return if (!defined($result));
my $values = centreon::vmware::common::generic_performance_values_historic($self->{connector},

View File

@ -80,17 +80,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{datastore_name}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datastore_name}\E$/;
} elsif (!defined($self->{datastore_name})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datastore_name}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datastore_name', is_regexp => 'filter');
my @properties = ('summary.accessible', 'summary.name', 'vm', 'info');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -74,17 +74,10 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{datastore_name}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datastore_name}\E$/;
} elsif (!defined($self->{datastore_name})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datastore_name}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datastore_name', is_regexp => 'filter');
my @properties = ('summary.accessible', 'summary.name', 'browser');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -78,18 +78,11 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{datastore_name}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datastore_name}\E$/;
} elsif (!defined($self->{datastore_name})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datastore_name}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datastore_name', is_regexp => 'filter');
my @properties = ('summary');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -92,24 +92,17 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'datastore', 'runtime.connectionState', 'runtime.powerState');
if (defined($self->{display_description})) {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -58,17 +58,9 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'vm', 'config.product.version');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
$self->{manager}->{output}->output_add(severity => 'OK',

View File

@ -66,20 +66,11 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'runtime.healthSystemRuntime.hardwareStatusInfo', 'runtime.healthSystemRuntime.systemHealthInfo.numericSensorInfo',
'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -95,17 +95,10 @@ sub display_verbose {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'runtime.connectionState', 'runtime.powerState', 'config.cpuAllocation.limit', 'config.memoryAllocation.limit');
@ -116,7 +109,7 @@ sub run {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -58,19 +58,11 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{datacenter}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datacenter}\E$/;
} elsif (!defined($self->{datacenter})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datacenter}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datacenter', is_regexp => 'filter');
my @properties = ('name');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datacenter', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datacenter', properties => \@properties, filter => $filters);
return if (!defined($result));
if (!defined($self->{disco_show})) {

View File

@ -58,19 +58,11 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{datastore_name}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{datastore_name}\E$/;
} elsif (!defined($self->{datastore_name})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{datastore_name}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'datastore_name', is_regexp => 'filter');
my @properties = ('summary');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'Datastore', properties => \@properties, filter => $filters);
return if (!defined($result));
if (!defined($self->{disco_show})) {

View File

@ -59,9 +59,9 @@ sub run {
my $self = shift;
my %nic_in_vswitch = ();
my %filters = (name => $self->{esx_hostname});
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('config.network.pnic', 'config.network.vswitch', 'config.network.proxySwitch');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
# Get Name from vswitch

View File

@ -70,19 +70,11 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'runtime.inMaintenanceMode', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -82,17 +82,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'summary.hardware.memorySize', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -88,24 +88,17 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'summary.config.memorySizeMB', 'runtime.connectionState', 'runtime.powerState');
if (defined($self->{display_description})) {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
my $values = centreon::vmware::common::generic_performance_values_historic($self->{connector},

View File

@ -91,20 +91,13 @@ sub run {
return ;
}
my %filters = ();
my ($multiple, $number_nic) = (0, 0);
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'config.network.pnic', 'runtime.connectionState', 'config.network.vswitch');
if (!defined($self->{no_proxyswitch})) {
push @properties, 'config.network.proxySwitch';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -64,18 +64,10 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'runtime.connectionState', 'runtime.inMaintenanceMode', 'configManager.serviceSystem');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
my %host_names = ();

View File

@ -80,17 +80,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('snapshot.rootSnapshotList', 'name', 'runtime.connectionState', 'runtime.powerState');
@ -101,7 +94,7 @@ sub run {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
my %vm_consolidate = ();

View File

@ -64,18 +64,10 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'summary.overallStatus', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -64,24 +64,16 @@ sub initArgs {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'summary.overallStatus', 'runtime.connectionState');
if (defined($self->{display_description})) {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -82,17 +82,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -88,17 +88,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'runtime.connectionState', 'runtime.powerState');
@ -106,7 +99,7 @@ sub run {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
my $values = centreon::vmware::common::generic_performance_values_historic($self->{connector},
@ -140,8 +133,8 @@ sub run {
my $swap_in = centreon::vmware::common::simplify_number(centreon::vmware::common::convert_number($values->{$entity_value}->{$self->{connector}->{perfcounter_cache}->{'mem.swapinRate.average'}->{'key'} . ":"})) * 1024;
my $swap_out = centreon::vmware::common::simplify_number(centreon::vmware::common::convert_number($values->{$entity_value}->{$self->{connector}->{perfcounter_cache}->{'mem.swapoutRate.average'}->{'key'} . ":"})) * 1024;
my $exit1 = $self->{manager}->{perfdata}->threshold_check(value => $swap_in, threshold => [ { label => 'critical', 'exit_litteral' => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]);
my $exit2 = $self->{manager}->{perfdata}->threshold_check(value => $swap_out, threshold => [ { label => 'critical', 'exit_litteral' => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]);
my $exit1 = $self->{manager}->{perfdata}->threshold_check(value => $swap_in, threshold => [ { label => 'critical', exit_litteral => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]);
my $exit2 = $self->{manager}->{perfdata}->threshold_check(value => $swap_out, threshold => [ { label => 'critical', exit_litteral => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]);
my $exit = $self->{manager}->{output}->get_most_critical(status => [ $exit1, $exit2 ]);
my ($swap_in_value, $swap_in_unit) = $self->{manager}->{perfdata}->change_bytes(value => $swap_in);
my ($swap_out_value, $swap_out_unit) = $self->{manager}->{perfdata}->change_bytes(value => $swap_out);

View File

@ -86,17 +86,10 @@ sub display_verbose {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'config.hardware.device', 'runtime.connectionState', 'runtime.powerState');
@ -104,7 +97,7 @@ sub run {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -80,19 +80,11 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'configManager.dateTimeSystem', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -95,17 +95,10 @@ sub display_verbose {
sub run {
my $self = shift;
my %filters = ();
my $multiple = 0;
if (defined($self->{vm_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{vm_hostname}\E$/;
} elsif (!defined($self->{vm_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{vm_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'vm_hostname', is_regexp => 'filter');
if (defined($self->{filter_description}) && $self->{filter_description} ne '') {
$filters{'config.annotation'} = qr/$self->{filter_description}/;
$filters->{'config.annotation'} = qr/$self->{filter_description}/;
}
my @properties = ('name', 'summary.guest.toolsStatus', 'runtime.connectionState', 'runtime.powerState');
@ -113,7 +106,7 @@ sub run {
push @properties, 'config.annotation';
}
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'VirtualMachine', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {

View File

@ -82,17 +82,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{esx_hostname}) && !defined($self->{filter})) {
$filters{name} = qr/^\Q$self->{esx_hostname}\E$/;
} elsif (!defined($self->{esx_hostname})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{esx_hostname}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'esx_hostname', is_regexp => 'filter');
my @properties = ('name', 'runtime.bootTime', 'runtime.connectionState');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'HostSystem', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {
@ -120,7 +113,7 @@ sub run {
my $diff_time = time() - $create_time;
my $days = int($diff_time / 60 / 60 / 24);
my $exit = $self->{manager}->{perfdata}->threshold_check(value => $diff_time, threshold => [ { label => 'critical', 'exit_litteral' => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]);
my $exit = $self->{manager}->{perfdata}->threshold_check(value => $diff_time, threshold => [ { label => 'critical', exit_litteral => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]);
$self->{manager}->{output}->output_add(long_msg => sprintf("'%s' Uptime: %s day(s)",
$entity_view->{name},
$days));

View File

@ -85,17 +85,10 @@ sub run {
return ;
}
my %filters = ();
my $multiple = 0;
if (defined($self->{cluster}) && !defined($self->{cluster})) {
$filters{name} = qr/^\Q$self->{cluster}\E$/;
} elsif (!defined($self->{cluster})) {
$filters{name} = qr/.*/;
} else {
$filters{name} = qr/$self->{cluster}/;
}
my $filters = $self->build_filter(label => 'name', search_option => 'cluster', is_regexp => 'filter');
my @properties = ('name');
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'ClusterComputeResource', properties => \@properties, filter => \%filters);
my $result = centreon::vmware::common::search_entities(command => $self, view_type => 'ClusterComputeResource', properties => \@properties, filter => $filters);
return if (!defined($result));
if (scalar(@$result) > 1) {