Crate zbx_sender

Crate zbx_sender 

Source
Expand description

Zabbix Sender Protocol implementation to transmit metrics to Zabbix Server.

Provides sync (and optional async) methods to send key-value pairs to Zabbix Server and Zabbix Proxy. Can communicate unencrypted or via TLS with certificates or pre-shared key (PSK). Also provides a clap command line parser that can be used to configure a TLS connection to Zabbix for crates that use this library.

§Crate Features

  • tracing - enable logging via the tracing crate.
  • async_tokio - enable the async method Sender.send_async() to send values asynchronously using tokio::net::TcpStream
  • tls_rustls - use the rustls crate to enable TLS certificate encryption with Zabbix Server. As of version 0.20, rustls does NOT support PSK encryption.
  • tls_openssl - use the openssl crate to enable TLS certificate encryption or PSK encryption with Zabbix Server.
  • tls_rustls_tokio - MUST be enabled when both async_tokio and tls_rustls are enabled, because Cargo does not support conditional feature enablement (i.e. https://github.com/rust-lang/cargo/issues/1839).
  • tls_openssl_tokio - MUST be enabled when both async_tokio and tls_openssl are enabled.
  • clap - Include the struct that implements clap::Args, which can be included in downstream users of this library to get command line argument parsing that mirrors Zabbix native TLS configuration. See details in the documentation for tls::ClapArgs.

Modules§

tls
TLS configuration for Sender

Structs§

Message
The message that is sent to the Zabbix server.
Response
Structure of Zabbix server’s response
SendValue
Data item sent to the server.
Sender
Implementation of Zabbix Sender protocol.

Enums§

Error
Errors that occur during configuration of the Zabbix connection or submission of item values to Zabbix

Traits§

ToMessage
Contract for types that provide the ability to cast to a Message type.

Type Aliases§

Result
A std::result::Result for the zbx_sender::Error type