Fabrice Gabolde > Zabbix-API > Zabbix::API::Utils

Download:
Zabbix-API-0.009.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Source  

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.

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.

syntax highlighting: