zabbix api的使用

本文介绍了如何使用Zabbix API来监控基础设施的CPU、内存和存储使用情况。重点讲述了创建不同类型的items,如cpu占用和内存占用,并展示了通过API获取已知ID item的历史记录的方法,包括在pom文件中添加相关配置和参考的开发文档链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概述:zabbix监控基础设施内存,cpu等使用情况。

2.创建item:

    常用:【cpu占用:system.cpu.util[,pused,avg60]

                内存占用:vm.memory.size[pused]

                存储占用:vfs.fs.size[/,pused]】

    type--Zabbix_aggregate

    key--grpavg["主机名称","system.cpu.util[,user]",avg,1]

3.使用api获取监控历史记录:

获取已知ID的item历史记录,查询API如下:api文档地址


pom文件中添加:

<dependency>
	<groupId>io.github.hengyunabc</groupId>
	<artifactId>zabbix-api</artifactId>
	<version>0.0.1</version>
</dependency>

获取历史代码如下:

public class ZabbixUtil extends DefaultZabbixApi{

    private static final Logger LOGGER = LoggerFactory.getLogger(ZabbixUtil.class);

    private ZabbixApi zabbixApi;

    public ZabbixUtil(String username, String password, String url) throws Exception {
        if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(url)){
            throw new Exception("ZabbixApi初始化失败!参数不全!");
        }
        login(username, password, url);
    }
    //url="http://xx.com/api_jsonrpc.php"
    private ZabbixApi login(String username, String password, String url) throws Exception {
        zabbixApi = new DefaultZabbixApi(url);
        zabbixApi.init();
        boolean login = zabbixApi.login(username, password);
        if(!login){
            LOGGER.info(username + " login in Zabbix " + (login ? "SUCCESS" : "FALURE") + " !");
        }
        return zabbixApi;
    }

    /**
     * 获取Item历史记录
     * @param itemid
     * @return 历史记录
     */
    public String getHistoryByItemid(Integer itemid) throws Exception {
        Request request = RequestBuilder.newBuilder().method("history.get")
                .paramEntry("output", "extend")
                .paramEntry("itemids", "itemid")
                .paramEntry("sortfield", "clock")
                .build();
        JSONObject response = zabbixRequest(request);
        zabbixError(response);
        JSONArray result = response.getJSONArray("result");
        return result.toJSONString();
    }
}

参考文档:http://blog.youkuaiyun.com/u012743772/article/details/78049322


用到的配置:https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/aggregate

开发文档:https://www.zabbix.com/documentation/2.4/manual/api

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值