zabbix Java-client-API
zabbix官网
https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/user/login
可查看crud的API,难就难在它的参数太复杂了。
ps:只有4.0版本以上才有中文翻译。
git地址
https://github.com/hengyunabc/zabbix-api
jar包
<dependency> <groupId>io.github.hengyunabc</groupId> <artifactId>zabbix-api</artifactId> <version>0.0.2</version> </dependency>
连接zabbix至少需要哪些参数?
URL:
http://"+ip+"/zabbix/api_jsonrpc.php , IP是你配置zabbix时候配置的IP 这个地址是数据地址
用户名:
密码:
登录
private ZabbixApi login(String username, String password, String url) throws Exception { ZabbixApi zabbixApi = new DefaultZabbixApi(url); zabbixApi.init(); boolean login = zabbixApi.login(username, password); if(!login){ //TODO } return zabbixApi; }
获取数据的示例
public String getTriggerInfoList(Long timeFrom,String[] groupsIds) throws Exception { //声明一个过滤对象集 JSONObject jo = new JSONObject(); //添加参数value并设置为1 代表只读故障状态数据 jo.put("value", 1); //priority故障严重级别,2-5代表从警告到灾难 jo.put("priority", new String[]{"2", "3", "4", "5"}); //主机ID,传入你向拿到的主机ID:注意它是一个数组类型 jo.put("groupids",groupsIds); //从哪一个时刻获取数据,long类型数据,比如只获取最近五分钟的数据 jo.put("time_from",timeFrom); //请求体:这个传什么主要看你需要zabbix给你返回哪些数据 //一定要把过滤对象添加上去 Request request = RequestBuilder.newBuilder().method("trigger.get") .paramEntry("output", new String[]{"description", "priority", "lastchange","extend"}) .paramEntry("selectHosts", new String[]{"host", "name", "hostid"}) .paramEntry("selectGroups",new String[]{"group"}) .paramEntry("selectDependencies", "extend") .paramEntry("selectLastEvent","extend") .paramEntry("correlation_mode","0") .paramEntry("expandData", "host") .paramEntry("skipDependent", "1") .paramEntry("monitored", "1") .paramEntry("active", "1") .paramEntry("expandDescription", "1") .paramEntry("sortfield", "lastchange") .paramEntry("sortorder", "DESC") .paramEntry("only_true","1") //将jo 放入请求体对应的key为filter内 .paramEntry("filter", jo) .build(); JSONObject response = zabbixRequest(request); zabbixError(response); JSONArray result = response.getJSONArray("result"); return result.toJSONString(); }
本文来自博客园,作者:无上仰无,转载请注明原文链接:https://www.cnblogs.com/sharey/articles/14991844.html
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 当数据爆炸遇上SQL Server:优化策略全链路解析
· 记录一次线上问题排查:JDK序列化问题
· 微服务之间有哪些调用方式?
· 记一次SQL隐式转换导致精度丢失问题的排查
· dotnet 9 通过 AppHostRelativeDotNet 指定自定义的运行时路径
· 一个基于 C# Unity 开发的金庸群侠传 3D 版,直呼牛逼!
· SQL Server 2025 中的改进
· 国内首个「混合推理模型」Qwen3深夜开源,盘点它的N种对接方式!
· 向商界大佬一样管理技术工作 - 以团队换将+技术重构为例
· 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析(三)--一个综合的例子