Java通过调用API获取zabbix监控
2017-12-20 11:16
1546 查看
描述:
Java通过调用zabbix API获取zabbix监控服务器当前是否正常;
package com.yp.test;
import java.util.List;
import com.zabbix4j.ZabbixApi;
import com.zabbix4j.ZabbixApiException;
import com.zabbix4j.host.HostGetRequest;
import com.zabbix4j.host.HostGetResponse;
import com.zabbix4j.host.HostObject;
import com.zabbix4j.item.ItemObject;
/**
* 描述:
* 日期:2017/12/14
* 作者:yangpeng
*/
public class ZabbixTest {
// 这里配置zabbix的url,帐号和密码
public static final String ZBX_URL = "http://ip:端口/api_jsonrpc.php";
public static final String USERNAME = "abc";
public static final String PASSWORD = "abc";
// 调用api的host get方法的封装
public HostGetResponse getHost(ZabbixApi zabbixApi) throws ZabbixApiException {
HostGetRequest request = new HostGetRequest();
HostGetRequest.Params params = request.getParams();
// 这里可以设指定的id值,也可以不设值。设值的话,取指定的内容,不设的话,获取全部的host
params.setHostids(null);
System.out.println("parames setting complete...");
HostGetResponse response = zabbixApi.host().get(request);
return response;
}
public static void main(String[] args) {
try {
System.out.println("beging...");
ZabbixApi zabbixApi = new ZabbixApi(ZBX_URL);
zabbixApi.login(USERNAME, PASSWORD);
System.out.println("create new get host instance...");
ZabbixTest myGetHost = new ZabbixTest();
System.out.println("Get host beging...");
HostGetResponse response = myGetHost.getHost(zabbixApi);
System.out.println("Get host end...let's print result");
// 对response进行处理
for (int i = 0; i < response.getResult().size(); i++) {
//response 返回的信息非常大,可以赋值给HostObject,也可以其他对象
HostObject myHostObject = response.getResult().get(i);
//response 返回的信息非常大,可以赋值给ItemObject,也可以其他对象
List<ItemObject> myItemObjectList = response.getResult().get(i).getItems();
//打印host信息
if (null == myHostObject)
System.out.println("Get host null, program will exit");
else {
System.out.println("++++++Print Result " + i + " HostObject+++++++++++");
System.out.println(myHostObject.getHost());
System.out.println(myHostObject.getName());
System.out.println(myHostObject.getAvailable());
System.out.println(myHostObject.getHostid());
System.out.println(myHostObject.getStatus());
}
//打印这个host下的item信息
for (int j = 0; j < myItemObjectList.size(); j++) {
if (j == 0)
System.out.println("++++++Print ItemObject List " + "+++++++++++");
ItemObject tmpItemObject = myItemObjectList.get(j);
System.out.println("Itemid:" + tmpItemObject.getItemid());
System.out.println("Templateid:"
+ tmpItemObject.getTemplateid());
System.out.println("Hostid:" + tmpItemObject.getHostid());
System.out.println("Name:" + tmpItemObject.getName());
System.out.println("Key:" + tmpItemObject.getKey_());
System.out.println("Lastvalue:" + tmpItemObject.getLastvalue());
System.out.println("Lastclock:" + tmpItemObject.getLastclock());
System.out .println("------------------------------------------");
}
System.out.println("*****************%%%%%%%%%%%%%%************");
}
} catch (ZabbixApiException e) {
4000
e.printStackTrace();
}
}
}
Java包下载地址:http://download.csdn.net/download/pengshuai007/10165731
各位大神酌情参考,有疑问可以随时交流;
Java通过调用zabbix API获取zabbix监控服务器当前是否正常;
package com.yp.test;
import java.util.List;
import com.zabbix4j.ZabbixApi;
import com.zabbix4j.ZabbixApiException;
import com.zabbix4j.host.HostGetRequest;
import com.zabbix4j.host.HostGetResponse;
import com.zabbix4j.host.HostObject;
import com.zabbix4j.item.ItemObject;
/**
* 描述:
* 日期:2017/12/14
* 作者:yangpeng
*/
public class ZabbixTest {
// 这里配置zabbix的url,帐号和密码
public static final String ZBX_URL = "http://ip:端口/api_jsonrpc.php";
public static final String USERNAME = "abc";
public static final String PASSWORD = "abc";
// 调用api的host get方法的封装
public HostGetResponse getHost(ZabbixApi zabbixApi) throws ZabbixApiException {
HostGetRequest request = new HostGetRequest();
HostGetRequest.Params params = request.getParams();
// 这里可以设指定的id值,也可以不设值。设值的话,取指定的内容,不设的话,获取全部的host
params.setHostids(null);
System.out.println("parames setting complete...");
HostGetResponse response = zabbixApi.host().get(request);
return response;
}
public static void main(String[] args) {
try {
System.out.println("beging...");
ZabbixApi zabbixApi = new ZabbixApi(ZBX_URL);
zabbixApi.login(USERNAME, PASSWORD);
System.out.println("create new get host instance...");
ZabbixTest myGetHost = new ZabbixTest();
System.out.println("Get host beging...");
HostGetResponse response = myGetHost.getHost(zabbixApi);
System.out.println("Get host end...let's print result");
// 对response进行处理
for (int i = 0; i < response.getResult().size(); i++) {
//response 返回的信息非常大,可以赋值给HostObject,也可以其他对象
HostObject myHostObject = response.getResult().get(i);
//response 返回的信息非常大,可以赋值给ItemObject,也可以其他对象
List<ItemObject> myItemObjectList = response.getResult().get(i).getItems();
//打印host信息
if (null == myHostObject)
System.out.println("Get host null, program will exit");
else {
System.out.println("++++++Print Result " + i + " HostObject+++++++++++");
System.out.println(myHostObject.getHost());
System.out.println(myHostObject.getName());
System.out.println(myHostObject.getAvailable());
System.out.println(myHostObject.getHostid());
System.out.println(myHostObject.getStatus());
}
//打印这个host下的item信息
for (int j = 0; j < myItemObjectList.size(); j++) {
if (j == 0)
System.out.println("++++++Print ItemObject List " + "+++++++++++");
ItemObject tmpItemObject = myItemObjectList.get(j);
System.out.println("Itemid:" + tmpItemObject.getItemid());
System.out.println("Templateid:"
+ tmpItemObject.getTemplateid());
System.out.println("Hostid:" + tmpItemObject.getHostid());
System.out.println("Name:" + tmpItemObject.getName());
System.out.println("Key:" + tmpItemObject.getKey_());
System.out.println("Lastvalue:" + tmpItemObject.getLastvalue());
System.out.println("Lastclock:" + tmpItemObject.getLastclock());
System.out .println("------------------------------------------");
}
System.out.println("*****************%%%%%%%%%%%%%%************");
}
} catch (ZabbixApiException e) {
4000
e.printStackTrace();
}
}
}
Java包下载地址:http://download.csdn.net/download/pengshuai007/10165731
各位大神酌情参考,有疑问可以随时交流;
相关文章推荐
- Java通过调用API获取zabbix监控
- 通过Zabbix API获取历史监控数据
- 100%纯java调用windows的wmi获取监控数据
- java中通过反射获取方法并且调用(getMethod和invoke深入)实践
- (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
- JAVA方法中通过调用URL来获取其返回的内容
- ASP.NET MVC通过OAuth调用Google API获取用户信息
- 通过调用文摘列表API获取文摘
- 通过Java自带的API获取未安装的apk签名信息
- NativeCode中通过JNI反射调用Java层的代码,以获取IMEI为例
- 通过Java获取百度音乐API中的MP3链接
- 【转】C#中通过API调用获取文件图标
- 通过调用笑话列表API获取笑话列表
- zabbix 通过jmx监控java中间件
- 通过基站信息(LAC,CID)调用google的json接口获取地理位置信息的Java代码
- Java通过调用Top命令获取Linux的CPU和内存使用情况
- 获取文件夹大小的java类,通过类名调用方法,可直接获取文件大小
- c/c++ native 层 通过 JNI API 调用 java 层 的AudioTrack 来播放 音频文件
- 如何通过Zabbix获取监控数据?
- eclipse上hdfs的javaapi调用文件或者获取节点信息没有权限