2个不稳定版本
0.3.0 | 2022年7月29日 |
---|---|
0.2.0 | 2022年7月18日 |
#6 in #zabbix
36KB
662 行
zbx-webhook-proxy
接受在可配置的URL集合上的请求,然后将GET查询参数或POST的JSON正文转发到Zabbix服务器(作为JSON值),可选的JMESPath转换。
与Zabbix 4.0或更高版本以及类型为log
的Trapper Items一起使用,然后在Zabbix中使用相关项和JSON预处理进一步配置JSON正文的处理。
构建使用
- warp - 一个超级简单、可组合的Web服务器框架,速度极快
- zbx-sender - Zabbix Sender客户端的现代化Rust实现
- trust-dns-resolver - 用于反向DNS解析,不支持
std::net
- clap - 通过定义结构体解析命令行参数
- fern - “简单,高效的日志记录”;管理控制台日志和可选的访问日志文件
- serde-json - 用于
json!()
快乐
版本历史
查看CHANGELOG.md中的更改
构建
先决条件
Rust 2021版
安装
cargobuild --release
- 将
target/release/zbx-webhook-proxy
复制到任何可执行位置,并配置启动
待办事项
- 启动脚本和SystemD单元文件
makeinstall
配置
config.toml
文件
有关完整用法,请参阅example_config.toml
最小配置
zabbix_server = "zabbix.example.com"
[[route]]
path = "/hook"
item_host = "Monitored Host"
item_key = "event.json"
命令行
所有命令行标志都是可选的,但可以指定以覆盖配置文件或默认值
没有默认值的标志
必须在命令行或配置文件中指定
-z/--zabbix-server
:Zabbix 服务器或代理的地址
具有默认值的标志
-c/--config
:指向config.toml
的路径(默认/etc/zbx-webhook-proxy.toml
)-p/--zabbix-port
:Zabbix trapper 端口(默认:10051)-l/--listen
:代理 HTTP 监听端口(默认:3030)
启用额外功能的标志
--access-log
:包含 Apache Common 日志格式的请求的日志文件路径
仅从命令行启用功能的标志
--test-mode
:接受 webhooks 并打印将要发送给 Zabbix 服务器的值,而不实际发送-v/--verbose
:增加控制台日志以便于故障排除
版本控制
我使用 SemVer 进行版本控制。有关可用的版本,请参阅 此存储库上的标签。
作者
许可
本项目采用修改后的 BSD 许可证 - 请参阅 LICENSE 文件以获取详细信息
依赖项
~19–31MB
~480K SLoC