Zabbix::Utils(3) 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.

AUTHOR

Fabrice Gabolde <[email protected]>

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.