View Source ZabbixSender (ZabbixSender v1.1.2)

Zabbix Sender Protocol client

Examples

value = ZabbixSender.Protocol.value("localhost", "some_key", 12.3, :os.system_time(:second))
request = ZabbixSender.Protocol.encode_request([value], :os.system_time(:second))
|> ZabbixSender.Serializer.serialize()

with {:ok, response} <- ZabbixSender.send(request, "localhost", 10051),
  {:ok, deserialized} <- ZabbixSender.Serializer.deserialize(response),
  {:ok, decoded} <- ZabbixSender.Protocol.decode_response(deserialized)
do
  if decoded.failed == 0 do
    Logger.info("#{decoded.processed} values processed")
  else
    Logger.warn("#{decoded.processed} values processed out of #{decoded.total}")
  end
end

Summary

Functions

Sends binary message to zabbix trapper endpoint and receives response. Returns binary response or an error.

Sends values collection to zabbix trapper endpoint and receives response. Returns deserialized response or an error.

Functions

@spec send(binary(), String.t(), integer()) :: {:ok, binary()} | {:error, any()}

Sends binary message to zabbix trapper endpoint and receives response. Returns binary response or an error.

Examples

iex> ZabbixSender.send(<<>>, "localhost", 12345)
{:error, :econnrefused}
Link to this function

send_values(values, timestamp, host, port)

View Source
@spec send_values([...], pos_integer(), String.t(), integer()) ::
  {:ok, ZabbixSender.Protocol.response_t()} | {:error, any()}

Sends values collection to zabbix trapper endpoint and receives response. Returns deserialized response or an error.

Examples

iex> ZabbixSender.send_values([%{"key" => "value"}], 123412, "localhost", 12345)
{:error, :econnrefused}