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.

\s-1EXPORTABLE\s0

\s-1RE_FORMULA\s0

This constant (in the \*(C`use constant\*(C' 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 \*(C`item_arg\*(C' which is not represented here (fixme!). You'll have noticed that this makes use of the excellent \*(L"named capture buffers\*(R" feature, which means you need Perl 5.10 or higher.

RELATED TO Zabbix::API::Utils…

Zabbix::API, the Zabbix \s-1API\s0 documentation at <http://www.zabbix.com/documentation/start>.

AUTHOR

Fabrice Gabolde <[email protected]>

COPYRIGHT AND LICENSE

Copyright (C) 2011 \s-1SFR\s0

This library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.