Zabbix::API::Utils(3pm)

Zabbix::API::Utils3pm

Overview

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.

Author

Fabrice Gabolde <[email protected]>

From libzabbix-api-perl 0.009-1 in Debian 8 (Jessie). Parsed by carta from the page's man source.