7 个不稳定版本 (3 个破坏性更新)
0.4.1 | 2022年7月5日 |
---|---|
0.3.0 | 2022年5月15日 |
0.2.2 | 2020年9月19日 |
0.2.1 | 2019年6月28日 |
0.1.0 | 2018年4月13日 |
#958 in 加密学
1,321 个月下载量
在 zbx-webhook-proxy 中使用
74KB
1.5K SLoC
zbx-sender
概要
现代 Rust 实现 Zabbix Sender 客户端。与 Zabbix 2.0.8 和 2.1.7+ 版本兼容。
代码示例
易于使用
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),
}
}
见 examples/sender.rs
许可证
lib.rs
:
Zabbix Sender 协议实现,用于向 Zabbix 服务器传输指标。
提供同步(和可选异步)方法,用于向 Zabbix 服务器和 Zabbix 代理发送键值对。可以不加密或通过 TLS(使用证书或预共享密钥)进行通信。还为使用此库的 crate 提供了一个 clap
命令行解析器,可用于配置 Zabbix 的 TLS 连接。
Crate 功能
tracing
- 通过tracing
crate 启用日志记录。async_tokio
- 启用异步方法Sender.send_async()
,使用tokio::net::TcpStream
异步发送值。tls_rustls
- 使用rustls
crate 启用与 Zabbix 服务器使用 TLS 证书加密。截至版本 0.20,rustls
不支持 PSK 加密。tls_openssl
- 使用openssl
crate 启用与 Zabbix 服务器使用 TLS 证书加密或 PSK 加密。tls_rustls_tokio
- 当同时启用async_tokio
和tls_rustls
时,必须启用,因为 Cargo 不支持条件功能启用(即 https://github.com/rust-lang/cargo/issues/1839)。tls_openssl_tokio
- 当同时启用async_tokio
和tls_openssl
时,必须启用。clap
- 包含实现clap::Args
的结构体,下游用户可以通过包含此库来获得与 Zabbix 原生 TLS 配置相似的命令行参数解析。
依赖关系
~3–18MB
~238K SLoC