ZabbixSender (ZabbixSender v1.0.0) View Source

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

Link to this section Summary

Functions

Sends binary message to zabbix trapper endpoint and receives response

Link to this section Functions

Specs

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

Sends binary message to zabbix trapper endpoint and receives response

Examples

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