The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Nagios::Plugin::OverHTTP::PerformanceData - Represents performance data of a Nagios plugin

VERSION

This documentation refers to Nagios::Plugin::OverHTTP::PerformanceData version 0.16

SYNOPSIS

  use Nagios::Plugin::OverHTTP::PerformanceData;

  # New from many options
  my $data = Nagios::Plugin::OverHTTP::PerformanceData->new(
      label => q{time},
      value => 5,
      units => q{s}, # Seconds
  );

  # New from a performance string
  my $data = Nagios::Plugin::OverHTTP::PerformanceData->new('time=5s');

  # Set a new critical threshold
  $data->critical_threshold('@10:20');

  # Check if matches the critical threshold
  say $data->is_critical ? 'CRITICAL' : 'NOT CRITICAL';

  # Print out plugin information with performance data
  printf q{%s - %s | %s}, $status, $message, $data->to_string;

DESCRIPTION

This module represents performance data from plugins.

CONSTRUCTOR

This is fully object-oriented, and as such before any method can be used, the constructor needs to be called to create an object to work with.

new

This will construct a new plugin object.

new(%attributes)

%attributes is a HASH where the keys are attributes (specified in the "ATTRIBUTES" section).

new($attributes)

$attributes is a HASHREF where the keys are attributes (specified in the "ATTRIBUTES" section).

new($performance_string)

This will construct a new object directly from a performance string by parsing it.

ATTRIBUTES

  # Set an attribute
  $object->attribute_name($new_value);

  # Get an attribute
  my $value = $object->attribute_name;

critical_threshold

This is the threshold for when a critical status will be issued based on the performance.

label

Required. This is the label for the performance data.

maximum_value

This is the maximum value for the performance data.

minimum_value

This is the minimum value for the performance data.

units

This is a string representing the units of measurement that the values are in.

value

Required. This is the performance value.

warning_threshold

This is the threshold for when a warning status will be issued based on the performance.

METHODS

clear_critical_threshold

This will clear the value in "critical_threshold".

clear_warning_threshold

This will clear the value in "warning_threshold".

has_critical_threshold

This will return a true value if "critical_threshold" is set.

has_maximum_value

This will return a true value if "maximum_value" is set.

has_minimum_value

This will return a true value if "minimum_value" is set.

has_units

This will return a true value if "units" is set.

has_warning_threshold

This will return a true value if "warning_threshold" is set.

is_critical

This will return a true value if the value falls in the range specified by "critical_threshold".

is_ok

This will return a true value if the value does not fall within the critical or warning ranges.

is_warning

This will return a true value if the value falls in the range specified by "warning_threshold".

is_within_range

This will return a true value if the value falls within the range given as the first argument.

  say $data->is_within_range('10:20') ? 'Outsite range of 10-20'
                                      : 'Inside range of 10-20, inclusive'
                                      ;

split_performance_string

This will take a list of performance strings and split them at the white space while keeping intact quoted whitespace in the labels. Note that this is a static method and thus can be called as Nagios::Plugin::OverHTTP::PerformanceData->split_performance_string().

  # Example use to get a long string of different data into objects
  my @data = map { Nagios::Plugin::OverHTTP::PerformanceData->new($_) }
      Nagios::Plugin::OverHTTP::PerformanceData->split_performance_string($string_of_many);

to_string

This returns a string-representation of the object. The string representation of the performance data is as a preformance string in the format specified by the Nagios plugin documentation 'label'=value[UOM];[warn];[crit];[min];[max].

DEPENDENCIES

This module is dependent on the following modules:

AUTHOR

Douglas Christopher Wilson, <doug at somethingdoug.com>

BUGS AND LIMITATIONS

Please report any bugs or feature requests to bug-nagios-plugin-overhttp at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Nagios-Plugin-OverHTTP. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

LICENSE AND COPYRIGHT

Copyright 2010-2012 Douglas Christopher Wilson, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of either:

  • the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or

  • the Artistic License version 2.0.