+ update vmax emc
This commit is contained in:
parent
d3d83fc1b2
commit
ebf154d9ce
|
@ -49,11 +49,48 @@ sub set_system {
|
||||||
$self->{components_module} = ['module', 'temperature', 'director', 'cabling', 'power', 'fabric', 'voltage', 'sparedisk'];
|
$self->{components_module} = ['module', 'temperature', 'director', 'cabling', 'power', 'fabric', 'voltage', 'sparedisk'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub find_files {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
if (!opendir(DIR, $self->{option_results}->{health_directory})) {
|
||||||
|
$self->{output}->add_option_msg(short_msg => "Cannot open directory: $!");
|
||||||
|
$self->{output}->option_exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
my $save_value = 0;
|
||||||
|
while (my $file = readdir(DIR)) {
|
||||||
|
next if (! -d $self->{option_results}->{health_directory} . '/' . $file ||
|
||||||
|
$file !~ /$self->{option_results}->{health_directory_pattern}/);
|
||||||
|
if (hex($1) > $save_value) {
|
||||||
|
$self->{option_results}->{file_health} = $self->{option_results}->{health_directory} . '/' . $file . '/' . $self->{option_results}->{file_health_name};
|
||||||
|
$self->{option_results}->{file_health_env} = $self->{option_results}->{health_directory} . '/' . $file . '/' . $self->{option_results}->{file_health_env_name};
|
||||||
|
$save_value = hex($1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
closedir(DIR);
|
||||||
|
}
|
||||||
|
|
||||||
sub check_options {
|
sub check_options {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
$self->SUPER::check_options(%options);
|
$self->SUPER::check_options(%options);
|
||||||
|
|
||||||
$self->{statefile_cache}->check_options(%options);
|
$self->{statefile_cache}->check_options(%options);
|
||||||
|
|
||||||
|
if (!defined($self->{option_results}->{file_health_name}) || !defined($self->{option_results}->{file_health_env_name})) {
|
||||||
|
$self->{output}->add_option_msg(short_msg => "Please set option --file-health-name and --file-health-env-name.");
|
||||||
|
$self->{output}->option_exit();
|
||||||
|
}
|
||||||
|
if (!defined($self->{option_results}->{health_directory}) || ! -d $self->{option_results}->{health_directory}) {
|
||||||
|
$self->{output}->add_option_msg(short_msg => "Please set right option for --health-directory.");
|
||||||
|
$self->{output}->option_exit();
|
||||||
|
}
|
||||||
|
if (!defined($self->{option_results}->{health_directory_pattern})) {
|
||||||
|
$self->{output}->add_option_msg(short_msg => "Please set option for --health-directory-pattern.");
|
||||||
|
$self->{output}->option_exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
$self->find_files();
|
||||||
}
|
}
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
|
@ -64,8 +101,10 @@ sub new {
|
||||||
$self->{version} = '1.0';
|
$self->{version} = '1.0';
|
||||||
$options{options}->add_options(arguments =>
|
$options{options}->add_options(arguments =>
|
||||||
{
|
{
|
||||||
"file-health:s" => { name => 'file_health' },
|
"health-directory:s" => { name => 'health_directory' },
|
||||||
"file-health-env:s" => { name => 'file_health_env' },
|
"health-directory-pattern:s" => { name => 'health_directory_pattern' },
|
||||||
|
"file-health-name:s" => { name => 'file_health_name', default => 'HealthCheck.log' },
|
||||||
|
"file-health-env-name:s" => { name => 'file_health_env_name', default => 'sympl_env_health.log' },
|
||||||
# Email
|
# Email
|
||||||
"email-warning:s" => { name => 'email_warning' },
|
"email-warning:s" => { name => 'email_warning' },
|
||||||
"email-critical:s" => { name => 'email_critical' },
|
"email-critical:s" => { name => 'email_critical' },
|
||||||
|
@ -84,11 +123,6 @@ sub new {
|
||||||
|
|
||||||
sub read_files {
|
sub read_files {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
if (!defined($self->{option_results}->{file_health}) || !defined($self->{option_results}->{file_health_env})) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Please set option --file-health and --file-health-env.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (('file_health', 'file_health_env')) {
|
foreach (('file_health', 'file_health_env')) {
|
||||||
$self->{'content_' . $_} = do {
|
$self->{'content_' . $_} = do {
|
||||||
|
@ -176,7 +210,7 @@ sub send_email {
|
||||||
$send_email = 0 if ($status ne 'ok' && defined($prev_output) && $prev_output eq $subject);
|
$send_email = 0 if ($status ne 'ok' && defined($prev_output) && $prev_output eq $subject);
|
||||||
# recovery email
|
# recovery email
|
||||||
$send_email = 1 if ($status eq 'ok' && defined($prev_status) && $prev_status ne 'ok');
|
$send_email = 1 if ($status eq 'ok' && defined($prev_status) && $prev_status ne 'ok');
|
||||||
$self->{statefile_cache}->write(data => $self->{new_datas});
|
$self->{statefile_cache}->write(data => $self->{new_datas});
|
||||||
}
|
}
|
||||||
|
|
||||||
my $smtp_to = '';
|
my $smtp_to = '';
|
||||||
|
@ -259,13 +293,21 @@ Example: --warning='sparedisk,.*,5:'
|
||||||
Set critical threshold for disk (syntax: type,regexp,threshold)
|
Set critical threshold for disk (syntax: type,regexp,threshold)
|
||||||
Example: --critical='sparedisk,.*,3:'
|
Example: --critical='sparedisk,.*,3:'
|
||||||
|
|
||||||
=item B<--file-health>
|
=item B<--health-directory>
|
||||||
|
|
||||||
The location of the global storage file status (Should be something like: C:/xxxx/HealthCheck.log).
|
Location of health files.
|
||||||
|
|
||||||
=item B<--file-health-env>
|
=item B<--health-directory-pattern>
|
||||||
|
|
||||||
The location of the environment storage file status (Should be something like: C:/xxxx/sumpl_env_health.log).
|
Set pattern to match the most recent directory (getting the hexa value).
|
||||||
|
|
||||||
|
=item B<--file-health-name>
|
||||||
|
|
||||||
|
Name of the global storage file status (Default: HealthCheck.log).
|
||||||
|
|
||||||
|
=item B<--file-health-env-name>
|
||||||
|
|
||||||
|
Name of the environment storage file status (Default: sympl_env_health.log).
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue