3个不稳定版本

新版本 0.2.2 2024年8月21日
0.2.0 2024年1月28日
0.1.0 2024年1月18日

#860 in Web编程

Download history 3/week @ 2024-04-24 62/week @ 2024-05-01

120 每月下载量

MIT 许可证

72KB
1.5K SLoC

Zabbix API

这是Zabbix API客户端的局部实现,专为我的个人项目 wszl 创建。由于Zabbix API的广泛性,我无法分配足够的时间来实现100%的功能。

入门指南

在您的 Cargo.toml 中添加依赖项

[dependencies]
reqwest = { version = "0.12.7", features = ["blocking", "json"] }
zabbix-api = "0.2.2"

然后使用

use reqwest::blocking::ClientBuilder;
use zabbix_api::client::v6::ZabbixApiV6Client;
use zabbix_api::client::ZabbixApiClient;

fn main() {
  let http_client = ClientBuilder::new()
       .danger_accept_invalid_certs(false) // Set true if you're using self-signed certificates.
       .build().unwrap();

  let client = ZabbixApiV6Client::new(http_client, "https://127.0.0.1:3080/api_jsonrpc.php");
    
  match client.get_auth_session("Admin", "zabbix") {
    Ok(session) => println!("session: {session}"),
    Err(e) => {
        eprintln!("error: {}", e);
        panic!("unexpected error")
    }
  }
}

版本

  • 稳定版:0.2.2
  • 开发版:0.2.3

API方法

  • 获取API信息
  • 身份验证
  • 原始API调用
  • 搜索
    • 主机组
    • 主机
    • 项目
    • 触发器
    • Web场景
    • 用户组
    • 用户
  • 创建
    • 主机组
    • 主机
    • 项目
    • 触发器
    • Web场景
    • 用户组
    • 用户

待办事项

  • 添加示例
  • 为Zabbix类型(触发器类型、值类型等)使用枚举

限制

  • API支持:v6
  • 仅同步请求

依赖项

~4–15MB
~209K SLoC