JAVA访问Zabbix API

Zabbix

一、Zabbix 概述

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

(1)zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
(2)zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

二、Zabbix API

Zabbix的功能虽然很强大,能将数据以图表形式展现在Web中,但是,一个监控系统的使用者如果不了解Zabbix,或者其非维护人员需要通过监控了解各个服务器大致运行状况时,Zabbix所提供的界面就不是很友好了。
Zabbix API恰恰解决了这一问题。我们可以从API接口中读取想要了解的数据,用自己的方式展现在Web中。

三、java程序以HTTP方式向API请求数据

zabbix监控中的几个概念:

  1. hostid:每个被监控服务器唯一标识。可以根据ip/hostname获得,具体方法为代码中的getHostIdByIp/getHostIdByHostName。
  2. key:监控项名字,可以在zabbix平台自行查到。例如"system.cpu.util[,idle]","system.cpu.load[all,avg1]","system.swap.size[,free]"等等。
  3. itemid:根据hostid和key唯一缺确定,监控项的唯一标识。具体方法为代码中的getItemId(hostId, key)。
  4. value_type:数据类型,可以通过官方API item.get获取,history.get方法中就是传value_type给history参数。获取这个参数详见我代码中的方法getValueType(hostId, key),使用这个参数参考getHistoryDataByItemId(itemId, valueType, time_from, time_till)。具体参考:
    https://www.zabbix.com/documentation/2.4/manual/api/reference/item/object
    https://www.zabbix.com/documentation/2.4/manual/api/reference/history/get
   
 
 

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值