NAME
AnyEvent::ZabbixSender - simple and efficient zabbix data submission
SYNOPSIS
use AnyEvent::ZabbixSender;
DESCRIPTION
This module is an AnyEvent user, you need to make sure that you use and
run a supported event loop.
I't implements the zabbix version 2.0-3.4 protocol for item data
submission.
METHODS
$zbx = new AnyEvent::ZabbixSender [key => value...]
Creates a (virtual) connection to a zabbix server. Since each
submission requires a new TCP connection, creating the connection
object does not actually contact the server.
The connection object will linger in the destructor until all data
has been submitted or thrown away.
You can specify various configuration parameters. The term @items
refers to an array with "[key, value, clock]" array-refs.
server => "$hostname:$port" (default: "localhost:10051")
The zabbix server to connect to.
host => $name (default: local nodename)
The submission host, the "technical" name from tghe zabbix
configuration.
delay => $seconds (default: 0)
If non-zero, then the module will gather data submissions for up
to this number of seconds before actually submitting them as a
single batch.
Submissions can get batched even if 0, as events submitted while
the connection is being established or retried will be batched
together in any case.
queue_time => $seconds (default: 3600)
The amount of time a data item will be queued until it is thrown
away when the server cannot be reached.
linger_time => $seconds (default: same as "queue_time")
The amount of time the module will linger in its destructor
until all items have been submitted.
retry_min => $seconds (default: 30)
retry_max => $seconds (default: 300)
The minimum and maximum retry times when the server cannot be
reached.
on_error => $cb->($zbx, \@items, $msg) (default: log and continue)
Called on any protocol errors - these generally indicate that
something other than a zabbix server is running on a port. The
given key-value pairs are the lost items.
on_loss => $cb->($zbx, \@items) (default: log and continue)
Will be called when some data items are thrown away (this
happens if the server isn't reachable for at least "queue_time"
seconds),
on_response => $cb->($zbx, \@items, \%response) (default: not
called)
Will be called with the (generally rather useless) response form
the zabbix server.
$zbx->submit ($k, $v[, $clock[, $host]])
Submits a new key-value pair to the zabbix server. If $clock is
missing or "undef", then "AE::now" is used for the event timestamp.
If $host is missing, then the default set during object creation is
used.
$zbx->submit_multiple ([ [$k, $v, $clock, $host]... ])
Like "submit", but submits many key-value pairs at once.
SEE ALSO
AnyEvent.
AUTHOR
Marc Lehmann <
[email protected]>
http://home.schmorp.de/