NAME
Zabbix::Utils -- Useful miscellanea related to Zabbix
DESCRIPTION
This is a collection of miscellaneous things useful to have in the event that you're doing something with the Zabbix::API distribution.
FUNCTIONS
None so far.
EXPORTS
None by default.
EXPORTABLE
- RE_FORMULA
-
This constant (in the
use constant
sense) is a regular expression that will match against parts of formulas of calculated items thusly:use Zabbix::Utils qw/RE_FORMULA/; # interpolating constants is problematic my $regexp = RE_FORMULA; my $formula = 'last("MyROuter2:ifHCInOctets5")+last("MyROuter2:ifHCInOctets23")'; while ($formula =~ m/$regexp/g) { print Dumper(\%+); }
Which should output:
$VAR1 = { 'function_call' => 'last("MyROuter2:ifHCInOctets5")', 'function_args_quote' => '"', 'item' => 'ifHCInOctets5', 'function_args' => 'MyROuter2:ifHCInOctets5', 'host' => 'MyROuter2' }; $VAR1 = { 'function_call' => 'last("MyROuter2:ifHCInOctets23")', 'function_args_quote' => '"', 'item' => 'ifHCInOctets23', 'function_args' => 'MyROuter2:ifHCInOctets23', 'host' => 'MyROuter2' };
Item arguments (system.uptime[minutes]) appear in
item_arg
which is not represented here (fixme!).You'll have noticed that this makes use of the excellent "named capture buffers" feature, which means you need Perl 5.10 or higher.
- RE_EXPRESSION
-
Like
RE_FORMULA
, this matches against trigger expressions:use Zabbix::Utils qw/RE_EXPRESSION/; my $regexp = RE_EXPRESSION; my $expression = '{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5'; $expression =~ m/$regexp/; print Dumper(\%+);
Which should output:
$VAR1 = { };
SEE ALSO
Zabbix::API, the Zabbix API documentation at http://www.zabbix.com/documentation/start.
AUTHOR
Fabrice Gabolde <fabrice.gabolde@uperto.com>
COPYRIGHT AND LICENSE
Copyright (C) 2011 SFR
This library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.