Monitor...formance(3)
π NAME π
okay so this is the Monitor...formance(3) manual page from User Contributed Perl Documentation, and the main character is Monitoring::Plugin::Performance π
β class for handling Monitoring::Plugin performance data. periodt.
β¨ SYNOPSIS β¨
use Monitoring::Plugin::Performance use_die => 1;
# Constructor (also accepts a 'threshold' obj instead of warning/critical)
$p = Monitoring::Plugin::Performance->new(
label => 'size',
value => $value,
uom => "kB",
warning => $warning,
critical => $critical,
min => $min,
max => $max,
);
# Parser
@perf = Monitoring::Plugin::Performance->parse_perfstring(
"/=382MB;15264;15269;; /var=218MB;9443;9448"
)
or warn("Failed to parse perfstring");
# Accessors
for $p (@perf) {
printf "label: %s\n", $p->label;
printf "value: %s\n", $p->value;
printf "uom: %s\n", $p->uom;
printf "warning: %s\n", $p->warning;
printf "critical: %s\n", $p->critical;
printf "min: %s\n", $p->min;
printf "max: %s\n", $p->max;
# Special accessor returning a threshold obj containing warning/critical
$threshold = $p->threshold;
}
# Perfdata output format i.e. label=value[uom];[warn];[crit];[min];[max]
print $p->perfoutput;
π¦ DESCRIPTION π¦
This is the Monitoring::Plugin class for handling performance data. Itβs a public interface because performance graphing routines could absolutely use it β think nagiostat (http://nagiostat.sourceforge.net), perfparse (http://perfparse.sourceforge.net), nagiosgraph (http://nagiosgraph.sourceforge.net) or NagiosGrapher (http://www.nagiosexchange.org/NagiosGrapher.84.0.html) π
Monitoring::Plugin::Performance gives you both a parsing interface (via parse_perfstring) for turning nagios performance output strings into their components, and a composition interface (via new) for turning components into perfdata strings. itβs giving duality, honestly π«Ά
π«Ά USE'ING THE MODULE π«Ά
If youβre using this module for the purposes of parsing perf data, you will probably want to set use_die => 1 at use time. This forces &Monitoring::Plugin::Functions::plugin_exit to call die() β rather than exit() β when an error occurs. That makes it trappable by an eval β¨
lowkey important, bestie: if you donβt set use_die, then an error in these modules will cause your script to exit π
π οΈ CLASS METHODS π οΈ
Monitoring::Plugin::Performance->new(%attributes)
Instantiates a new Monitoring::Plugin::Performance object with the given attributes. constructor slay π
Monitoring::Plugin::Performance->parse_perfstring($string)
Returns an array of Monitoring::Plugin::Performance objects based on the string entered. If there is an error parsing the string β which may consist of several sets of data β it will return an array with all the successfully parsed sets. no cap, it keeps what it can parse π
If values are input with commas instead of periods, due to different locale settings, then it will still be parsed, but the commas will be converted to periods. little localization moment π
π OBJECT METHODS (ACCESSORS) π
label, value, uom, warning, critical, min, max
These all return scalars. min and max are not well supported yet β so donβt come for them, theyβre doing their best π
threshold
Returns a Monitoring::Plugin::Threshold object holding the warning and critical ranges for this performance data (if any). threshold object realness β
rrdlabel
Returns a string based on 'label' that is suitable for use as dataset name of an RRD i.e. munges label to be 1-19 characters long with only characters [a-zA-Z0-9_]. so demure, so RRD-ready π
This calls $self->clean_label and then truncates to 19 characters.
There is no guarantee that multiple N:P:Performance objects will have unique rrdlabels. yeah bestie, thatβs the official caveat π
clean_label
Returns a "clean" label for use as a dataset name in RRD, ie, it converts characters that are not [a-zA-Z0-9_] to _. scrub scrub π§
It also converts "/" to "root" and "/{name}" to "{name}". iconic path-to-label behavior π
perfoutput
Outputs the data in Monitoring::Plugin perfdata format i.e. label=value[uom];[warn];[crit];[min];[max]. thatβs the whole format, no cap π₯
π SEE ALSO π
Monitoring::PluginMonitoring::Plugin::Thresholdhttps://www.monitoring-plugins.org/doc/guidelines.html
πΈ AUTHOR πΈ
This code is maintained by the Monitoring Plugin Development Team: see https://monitoring-plugins.org π
β COPYRIGHT AND LICENSE β
Copyright (C) 2014 by Monitoring Plugin Team
Copyright (C) 2006-2014 by Nagios Plugin Development Team
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
okay thatβs the whole page, bestie π«Ά the footer vibes say perl v5.42.0, dated 2018-08-02 β vintage manual realness, and we ate π
β¨
π¦ where this page comes from
- opensuse-leap 16.0: perl-Monitoring-Plugin 0.40-bp160.1.8 Β· Artistic-1.0 OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms