NAME
Zabbix::API::Item -- Zabbix item objects
SYNOPSIS
use Zabbix::API::Item qw/:item_types/;
# fetch a single item...
my $item = $zabbix->fetch('Item', params => { filter => { itemid => 22379 } })->[0];
# manipulate its properties...
$item->data->{multiplier} = 3;
# and update the properties on the server.
$item->push;
# fetch all items from a host
my $host = $zabbix->fetch('Host', params => { filter => { hostid => 10105 } })->[0];
my $items = $host->items;
# create a new item
my $new_item = Zabbix::API::Item->new(
root => $zabbix,
data => { type => ITEM_TYPE_SNMPV2C,
value_type => ITEM_VALUE_TYPE_UINT64,
snmp_oid => ...,
snmp_community => ...,
# that's right, key_
key_ => 'mynewitem',
# so far the following is the only way to create a "item belongs
# to host" relationship
hostid => $host->id,
});
# an itemid will be generated if the item does not already exist
$new_item->push;
DESCRIPTION
Handles CRUD for Zabbix item objects.
This is a subclass of Zabbix::API::CRUDE
; see there for inherited methods.
METHODS
- collides()
-
Returns true if the item exists with this key on this hostid, false otherwise.
- host()
-
Accessor for a local
host
attribute, which it also happens to set from the server data if it isn't set already. The host is an instance ofZabbix::API::Host
.
EXPORTS
Way too many constants, but for once they're documented (here: http://www.zabbix.com/documentation/1.8/api/item/constants).
Nothing is exported by default; you can use the tags :item_types
, :value_types
, :data_types
and :status_types
(or import by name).
BUGS AND ODDITIES
This is probably because of the extremely smart way the Zabbix team has set up their database schema, but what you'd expect to be "key"
in an item's data is actually "key_"
.
SEE ALSO
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.