zabbix的Java API(一)
来源:互联网 发布:飞狐交易师数据下载 编辑:程序博客网 时间:2024/06/05 18:42
上文说了,我是对zabbix做第二次开发的小白,既然要对zabbix做第二次开发又是小白,那么就得来研究zabbix提供的相关API了。
于是我在zabbix网站各种找,终于在下面网址找到了:
http://zabbix.org/wiki/Docs/api/libraries;这里面有各个开发语言的API,大家可以去看看。
我将这个前提工作放在了一个类中,代码如下:
小白的我正在学习的路上,希望各位大佬多多指教,谢谢,谢谢!
于是我在zabbix网站各种找,终于在下面网址找到了:
http://zabbix.org/wiki/Docs/api/libraries;这里面有各个开发语言的API,大家可以去看看。
接下来继续说Java的API,如下:
第一和第三都是连接zabbix server的api,第一个需要自己构造json格式的参数。 第二个sender 是开发向server 输送数据的api。
第三个即是本次我研究的对象,这个api里面,进一步做了封装,也提供了一些测试代码。本次就从这里研究吧。(一起学习呀( ⊙ o ⊙ )!)
要用这个API,可以导入zabbix4j这个包就好,相关的包都会导入进来,(我第一次就走了弯路,都是一个个的导包,后来想zabbix既然提供了API应该zabbix包啊?就试了试,果然有,吼吼吼~~)
为了测试我们还要导入其他包,如下:
下面就正式开始研究代码了:
在zabbix的web界面中首先是从创建主机开始的,那么,这儿我们也先从创建主机开始研究吧,创建主机的代码如下:
import static org.junit.Assert.*;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.junit.Test;import com.zabbix4j.host.HostCreateRequest;import com.zabbix4j.host.HostCreateResponse;import com.zabbix4j.hostinteface.HostInterfaceObject;import com.zabbix4j.usermacro.Macro;public class testCreateHost extends ZabbixApiTestBase{public testCreateHost(){super();}@Testpublic void createHost(){//这两个变量数据库中必须存在(我第一次就在这儿捣鼓了半天,以为创建主机就什么都是新的,//这是对zabbix本身的不理解导致的)final Integer groupId = 4;final Integer templateId = 10081; try { HostCreateRequest request = new HostCreateRequest(); HostCreateRequest.Params params = request.getParams(); params.addTemplateId(templateId); params.addGroupId(groupId); //添加宏 List<Macro> macros = new ArrayList<Macro>(); Macro macro1 = new Macro(); macro1.setMacro("{$MACRO1}"); macro1.setValue("value1"); macros.add(macro1); params.setMacros(macros); //添加主机接口 HostInterfaceObject hostInterface = new HostInterfaceObject(); hostInterface.setIp("192.168.106.133"); params.addHostInterfaceObject(hostInterface); //添加主机,和主机名 params.setHost("test host created1." + new Date().getTime()); params.setName("test host created1 name" + new Date().getTime()); HostCreateResponse response = zabbixApi.host().create(request); assertNotNull(response); logger.debug(getGson().toJson(response)); } catch (Exception e) { fail(e.getMessage()); } }}要在zabbix里面创建主机(做其他操作也一样),就要先通过身份验证,首先你要通过你自己的zabbix接口地址:http://IP/zabbix/api_jsonrpc.php;
我将这个前提工作放在了一个类中,代码如下:
import static org.junit.Assert.fail;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.zabbix4j.ZabbixApi;import com.zabbix4j.ZabbixApiException;public class ZabbixApiTestBase { protected static Logger logger = LoggerFactory.getLogger(ZabbixApiTestBase.class); protected static String user = "Admin";//zabbix登录账号 protected static String password = "zabbix";//zabbix登录密码 protected ZabbixApi zabbixApi; public ZabbixApiTestBase() { login(user, password); } protected void login(String user, String password) { try { zabbixApi = new ZabbixApi("http://192.168.2.118/zabbix/api_jsonrpc.php"); zabbixApi.login(user, password); } catch (ZabbixApiException e) { fail(e.getMessage()); } } protected Gson getGson() { return new GsonBuilder().setPrettyPrinting().create(); }}
小白的我正在学习的路上,希望各位大佬多多指教,谢谢,谢谢!
阅读全文
1 0
- zabbix的Java API(一)
- zabbix的使用:简介+安装+java api
- JAVA访问Zabbix API
- zabbix java api
- zabbix-Java library to access Zabbix API
- 基于java的zabbix api调用实现数据共享
- Zabbix的使用(一)---安装
- zabbix实战(一)
- zabbix简介(一)
- Zabbix安装(一)
- zabbix小结(一)zabbix概述
- java API的一些知识点(一)
- zookeeper的java API 接口(一)
- Java通过调用API获取zabbix监控
- ZABBIX API
- zabbix api
- 2.zabbix学习笔记:zabbix的基本配置和使用(一)
- 使用zabbix的java api来对主机进行删除时的bug说明
- 前端实时可视化开发工具
- SGU
- 2017暑假集训 div1 DP(1)
- C语言基础之变量
- JAVADOC注释详解
- zabbix的Java API(一)
- Linux下一些文件操作和一些简单命令的自己实现
- Linux文件批量改名/排序总结(rename,sort等)
- Echrtart 数据对接
- 端口号心得
- nginx如何配置虚拟主机
- Ubuntu下Geth客户端搭建私有网络集群
- Verilog中wire与reg类型的区别(转载自http://www.cnblogs.com/farbeyond/p/5204586.html)
- Matlab导入整个文件夹目录下txt文档到数据库