7 unstable releases (3 breaking)
0.4.1 | Jul 5, 2022 |
---|---|
0.3.0 | May 15, 2022 |
0.2.2 | Sep 19, 2020 |
0.2.1 | Jun 28, 2019 |
0.1.0 | Apr 13, 2018 |
#945 in Cryptography
4,171 downloads per month
Used in zbx-webhook-proxy
74KB
1.5K
SLoC
zbx-sender
Synopsis
Modern Rust implementation of Zabbix Sender Client. Working with Zabbix 2.0.8 and 2.1.7+ versions.
Code Example
Easy to use:
extern crate zbx_sender;
use zbx_sender::{Response, Result, Sender};
use std::env;
fn send_one_value(command: &str) -> Result<Response> {
let sender = Sender::new(command.to_owned(), 10051);
sender.send(("host1", "key1", "value"))
}
fn main() {
let command = match env::args().nth(1) {
Some(cmd) => cmd,
None => {
let name = env::args().nth(0).unwrap();
panic!("Usage: {} [command]", name)
}
};
match send_one_value(&command) {
Ok(response) => println!("{:?} is success {} ", response, response.success()),
Err(e) => println!("Error {}", e),
}
}
See examples/sender.rs
License
lib.rs
:
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 thetracing
crate.async_tokio
- enable the async methodSender.send_async()
to send values asynchronously usingtokio::net::TcpStream
tls_rustls
- use therustls
crate to enable TLS certificate encryption with Zabbix Server. As of version 0.20,rustls
does NOT support PSK encryption.tls_openssl
- use theopenssl
crate to enable TLS certificate encryption or PSK encryption with Zabbix Server.tls_rustls_tokio
- MUST be enabled when bothasync_tokio
andtls_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 bothasync_tokio
andtls_openssl
are enabled.clap
- Include the struct that implementsclap::Args
, which can be included in downstream users of this library to get command line argument parsing that mirrors Zabbix native TLS configuration.
Dependencies
~3–17MB
~233K SLoC