用 Zabbix Debug 工具辅助二次开发
发表于|更新于|Zabbix
|总字数:241|阅读时长:1分钟
我们在做 Zabbix 二次开发的时候,离不开 Zabbix 的 API 文档,这里会以 Zabbix 6.0 API Documentation 为例子,我们在实现某些复杂的功能时,往往需要调用多个接口,其实 Zabbix WebUI 提供了一个观察 API 调用方式的方法,就是 Debug 模式。在 Debug 模式下,我们可以清楚的看到 Zabbix 的 WebUI 是如何调用 API 为我们展示数据的。
快速开始
在 Zabbix 中,Debug 模式是按用户组开启的,我们可以到 管理->用户群组 中针对某个用户组开启 Debug 模式。
当开启 Debug 模式后,在页面的右下角将有“调试”按钮出现。
点击“调试”按钮可以看到详细的请求过程。如下图,是 API 接口的调用情况。
除了 API 接口,我们还能看到 SQL 执行情况,如下图。
调用演示
以获取主机列表为例子。
响应如下:
文章作者: 小谈谈
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 弹霄博科!
相关推荐

2024-12-09
在 Docker Zabbix 中启用 HTTPS
Docker Compose 是一种非常方便的在系统中部署 ZABBIX 的方式,https://github.com/zabbix/zabbix-docker 项目中已经提供了非常完整的 DockerCompose 配置文件,我们只要简单修改即可使用。 网上大多数的教程对于给 ZABBIX 配置 SSL 都是推荐前面挂一个 NGINX,在这个 NGINX 上安装证书。实际上,ZABBIX 的镜像中已经有 NGINX 了,并且官方已经预留了相关配置,主要证书文件在,就可以直接启用 SSL。 本文以 zabbix7 的 nginx 镜像为例。 根据 ZABBIX 的文档,我们需要将 dhparam.pem ssl.key 和 ssl.cert 放在 zbx_env/etc/ssl/nginx 目录下。 创建 dhparam.pem 1sudo openssl dhparam -out dhparam.pem 2048 证书 ssl.key 和 ssl.cert 就自备吧 重新启动 ZABBIX 1docker compose -f...

2023-12-03
ZABBIX 对接飞书实现机器人报警通知
今年年中,我开始把我自用的一个企业从企业微信迁移到飞书,历时两个半月,终于彻底迁移过来了,老企业微信也就注销掉了。ZABBIX 对接飞书也是迁移的最后一步。 其实关于 ZABBIX 对接国内各种企业 IM 已经是老生常谈的问题了。不过我在对接之前还是习惯性的搜了一下,发现使用 ZABBIX Javascript Runtime 实现的少之又少,所以我还是打算记录一下。 效果放前面你可以通过飞书的群机器人,接收 ZABBIX 的告警信息,例如下面的是故障消息:下面这个是故障恢复消息: 实现思路使用 ZABBIX 6 以上版本提供的 Javascript Runtime,免去了在 ZABBIX 服务器底层放 Python 脚本的步骤,后续维护报警媒介,都可以通过 ZABBIX WEB 来实现。 扩展阅读:其它 Javascript 对象 技术实现创建飞书机器人我们需要先在飞书群里创建一个机器人。获取它的 Webhook 地址。创建飞书群机器人,请参考飞书帮助中心 -...

2023-02-12
将 ChatGPT 接入 Zabbix 为告警提供修复建议
ChatGPT 是最近很火的 AI 智能机器人程序,2 个月活跃用户突破 1 亿,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。 Zabbix 开源社区推文 实测|ChatGPT 对 Zabbix 用户有什么影响? 展示了将一些 Zabbix 相关的问题丢给 ChatGPT 处理来提升工作效率。 既然都说到这里了,那我们能不能将 Zabbix 告警信息丢给 ChatGPT,在告警的第一时间先给出一份可以参考的建议呢? 所以,基于 Zabbix 能力,我们将告警发给了 ChatGPT,并通过企业微信内部应用的方式给出告警信息和修复建议。效果如下图: 准备 注册 ChatGPT 账号 注册 AirCode 账号 准备 Zabbix 企业微信内部应用 因为需要接入 ChatGPT,必须要现有一个 OpenAI 的账号,AirCode 是一个 nodejs 运行时的 Serverless 平台,主要做 OpenAI 的...

2022-05-05
“批量请求”导致 Zabbix“Value has unknown type 0x05”
问题引入有一台 Ruijie 的 S2910 交换机在做我 HomeLab 的 TOR。因为 Ruijie 私有 MIB 的原因,Zabbix 这边一直缺一个完整的模板,五一期间抽空完善了一下模板,采集的信息趋于完善。接口自动发现,触发器自动配置,风扇,接口,温度啥的信息终于都全了。 但 Zabbix 在采集数据时,有些监控值会周期性不可用,提示“Value has unknown type 0x05”。日志如下,/var/log/zabbix_server.log。 12345672137444:20220504:232103.943 item "HomeLab-TOR-S2910:net.if.in[ifHCInOctets.15]" became not supported: Value has unknown type 0x052137444:20220504:232103.943 item "HomeLab-TOR-S2910:net.if.out.discards[ifOutDiscards.9]" became not...

2022-04-09
Zabbix 企业微信内部应用发送告警
我有一个 Zabbix 是收 HomeLab 告警的,之前注册了一个企业微信拉了个群通过 Bot 去发告警,但是因为工作也是使用企业微信,基本上我都在我的主企业里,企业微信有个特性是不提醒其他企业的具体消息,搞得我上周漏掉了服务器硬盘挂了告警,本来是周四就告警预故障了,结果周六才看到。好在网上能买到备件,周日到货完成了更换,才没有出现两块硬盘接连“寄”掉的事情发生。 从这件事情之后,我就想如何换一种告警渠道,避免看不到告警的情况出现。最后发现可以在企业微信中添加内部应用,结合微信企业号去推送告警。 添加企业微信应用应用管理创建一个应用,并获取到 Secret 和 AgentId。这里的 Secret 对应后面的 Corpsecret。 微信添加微信插件(原企业号)之前以为企业号=企业微信,最近再翻管理后台发现企业号变成了微信插件。我们可以在我的企业->微信插件中获得二维码并关注。 增加报警媒介类型增加一种报警媒介,类型是 WebHook,参数如下填写: 参数 参数说明 值 Agentid 应用的 ID Corpid 企业...

2022-03-20
使用 API Token 简化 Zabbix API 调用
我们知道 Zabbix 提供了丰富的 API,供二次开发使用,在老版本的 Zabbix 中(Zabbix 5.4 之前),需要我们手工通过user.login方法,使用用户名密码登录从而换取 API Token。而且 API Token 的有效期关联 API 用户的会话时间,当用户退出或超时后,我们需要重新user.login去申请新的 API Token。 从 Zabbix5.4 开始,我们可以直接在管理端申请一个 API Token,在它到期前都可以任意调用,极大方便了后期开发。 申请 Token以 Zabbix6.0 为例,我们可以在管理端的【管理】->【一般】->【API Tokens】中创建一个 Token。 你可以选择,是否需要过期时间。 点击添加,即可获得 API Token,请牢记生成的 API Token,这个 Token 只展示一次,如果你忘记了 API Token,则需要重新生成一个新的。 同样的,生成的 API Token 会关联你选择的用户,你可以通过该用户对 API Token 进行权限控制。 Enjoy :)
公告
非交互站点暂不提供评论功能,如需联系我,请发邮件,谢谢。