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 加密学

Download history 1/week @ 2024-03-20 20/week @ 2024-03-27 349/week @ 2024-04-03 632/week @ 2024-04-10 493/week @ 2024-04-17 352/week @ 2024-04-24 307/week @ 2024-05-01 230/week @ 2024-05-08 377/week @ 2024-05-15 392/week @ 2024-05-22 387/week @ 2024-05-29 325/week @ 2024-06-05 283/week @ 2024-06-12 340/week @ 2024-06-19 314/week @ 2024-06-26

1,321 个月下载量
zbx-webhook-proxy 中使用

MIT 许可证

74KB
1.5K SLoC

Rust 1K SLoC // 0.0% comments Python 189 SLoC // 0.0% comments

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

许可证

MIT 许可证 (MIT)


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_tokiotls_rustls 时,必须启用,因为 Cargo 不支持条件功能启用(即 https://github.com/rust-lang/cargo/issues/1839)。
  • tls_openssl_tokio - 当同时启用 async_tokiotls_openssl 时,必须启用。
  • clap - 包含实现 clap::Args 的结构体,下游用户可以通过包含此库来获得与 Zabbix 原生 TLS 配置相似的命令行参数解析。

依赖关系

~3–18MB
~238K SLoC