zabbixApi4j-Host group

Host group

hostgroup.create: 创建新的主机组
hostgroup.delete: 删除主机组
hostgroup..exists: 检查主机组是否存在
hostgroup..get: 检索主机组
hostgroup..getobjects: 通过过滤器检索主机组
hostgroup.isreadable: 检查主机组是否是可读的
hostgroup.iswritable: 检查主机组是否是可写的
hostgroup..massadd: 将相关对象添加到主机组中
hostgroup.massremove: 从主机组移除相关对象
hostgroup.massupdate: 从主机组中替换或移除相关对象
hostgroup.update: 更新主机组

image.png


HostGroupGetTest
package cn.com.yeexun.testzabbix.zabbix4j.example.hostgroup;

import static org.junit.Assert.assertNotNull;

import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.ZabbixApiParamter;
import com.zabbix4j.hostgroup.HostgroupGetRequest;
import com.zabbix4j.hostgroup.HostgroupGetResponse;

/**
 * Created by Suguru Yajima on 2014/05/31.
 */
public class HostGroupGetTest extends ZabbixApiTestBase {

    public HostGroupGetTest() {
        super();
    }

    @Test
    public void testGet1() throws Exception {

        HostgroupGetRequest request = new HostgroupGetRequest();
        HostgroupGetRequest.Params params = request.getParams();
        params.setSelectHosts(ZabbixApiParamter.QUERY.extend.name());
        params.addHostId(10105);

        HostgroupGetResponse response = zabbixApi.hostgroup().get(request);
        assertNotNull(response);

        logger.debug(getGson().toJson(response));
    }
}


HostgroupIsWritableTest
package cn.com.yeexun.testzabbix.zabbix4j.example.hostgroup;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.ArrayList;
import java.util.Arrays;

import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.ZabbixApiException;
import com.zabbix4j.ZabbixApiParamter;
import com.zabbix4j.hostgroup.HostgroupGetRequest;
import com.zabbix4j.hostgroup.HostgroupGetResponse;
import com.zabbix4j.hostgroup.HostgroupIsWritableRequest;
import com.zabbix4j.hostgroup.HostgroupIsWritableResponse;


/**
 * Created by Suguru Yajima on 2014/04/30.
 */
public class HostgroupIsWritableTest extends ZabbixApiTestBase {

    public HostgroupIsWritableTest() {
        super();
    }

    @Test
    public void testIsWritable1() throws Exception {

        try {
            Integer targetId = getHostGroup();

            HostgroupIsWritableRequest request = new HostgroupIsWritableRequest();
            request.setParams(new ArrayList<Integer>(Arrays.asList(new Integer[]{targetId})));

            HostgroupIsWritableResponse response = zabbixApi.hostgroup().isWritable(request);

            assertNotNull(response);
            assertTrue(response.isResult());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    private Integer getHostGroup() throws ZabbixApiException {

        HostgroupGetRequest request = new HostgroupGetRequest();
        HostgroupGetRequest.Params params = request.getParams();
        params.setSelectHosts(ZabbixApiParamter.QUERY.extend.name());

        HostgroupGetResponse getResponse = zabbixApi.hostgroup().get(request);
        int targetGroupId = getResponse.getResult().get(0).getGroupid();

        return targetGroupId;
    }

    @Test
    public void testIsWritable2() throws Exception {

        try {
            HostgroupGetRequest getRequest = new HostgroupGetRequest();
            ArrayList<String> name = new ArrayList<String>();
            name.add("test_readable_writable_hostgroup");
            getRequest.getParams().getFilter().setName(name);

            HostgroupGetResponse getResponse = zabbixApi.hostgroup().get(getRequest);
            int targetGroupId = getResponse.getResult().get(0).getGroupid();

            // login as guest
            login("guest", "");

            HostgroupIsWritableRequest request = new HostgroupIsWritableRequest();
            request.setParams(new ArrayList<Integer>(Arrays.asList(new Integer[]{targetGroupId})));

            HostgroupIsWritableResponse response = zabbixApi.hostgroup().isWritable(request);

            assertNotNull(response);
            assertFalse(response.isResult());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }


}


HostgroupTest
/*
 * The MIT License (MIT)
 *
 * Copyright (c) 2014 Suguru Yajima
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package cn.com.yeexun.testzabbix.zabbix4j.example.hostgroup;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.ArrayList;
import java.util.Arrays;

import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.ZabbixApiException;
import com.zabbix4j.hostgroup.HostgroupCreateRequest;
import com.zabbix4j.hostgroup.HostgroupCreateResponse;
import com.zabbix4j.hostgroup.HostgroupDeleteRequest;
import com.zabbix4j.hostgroup.HostgroupDeleteResponse;
import com.zabbix4j.hostgroup.HostgroupExistRequest;
import com.zabbix4j.hostgroup.HostgroupExistResponse;
import com.zabbix4j.hostgroup.HostgroupGetRequest;
import com.zabbix4j.hostgroup.HostgroupGetResponse;
import com.zabbix4j.hostgroup.HostgroupIsReadableRequest;
import com.zabbix4j.hostgroup.HostgroupIsReadableResponse;
import com.zabbix4j.hostgroup.HostgroupUpdateRequest;
import com.zabbix4j.hostgroup.HostgroupUpdateResponse;

/**
 * Created by Suguru Yajima on 2014/04/26.
 */
public class HostgroupTest extends ZabbixApiTestBase {

    private HostgroupCreateResponse hostgroupCreateResponse;

    public HostgroupTest() {
        super();
    }

    @Test
    public void testGet1() {

        try {
            HostgroupGetRequest request = new HostgroupGetRequest();
            HostgroupGetResponse response = zabbixApi.hostgroup().get(request);

            assertNotNull(response);

            String groupName = response.getResult().get(0).getName();
            assertEquals("Templates", groupName);

        } catch (ZabbixApiException e) {
            fail();
        }
    }

    @Test
    public void testExist1() {

        HostgroupExistRequest request = new HostgroupExistRequest();
        ArrayList<String> names = new ArrayList<String>(Arrays.asList(new String[]{"Templates"}));
        request.getParams().setName(names);

        try {
            HostgroupExistResponse response = zabbixApi.hostgroup().exist(request);

            assertNotNull(response);

            assertTrue(response.isResult());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    @Test
    public void testExist2() {

        HostgroupExistRequest request = new HostgroupExistRequest();
        ArrayList<String> names = new ArrayList<String>(Arrays.asList(new String[]{"xxxxx"}));
        request.getParams().setName(names);

        try {
            HostgroupExistResponse response = zabbixApi.hostgroup().exist(request);

            assertNotNull(response);

            assertFalse(response.isResult());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    @Test
    public void testHostgroup() {

        testCreate1();

        testUpdate1();

        testDelete1();
    }

    public void testCreate1() {

        String name = "test_hostgroup_create1";
        HostgroupCreateRequest request = new HostgroupCreateRequest();
        request.getParams().setName(name);

        try {
            hostgroupCreateResponse = zabbixApi.hostgroup().create(request);

            assertNotNull(hostgroupCreateResponse);

            assertNotNull(hostgroupCreateResponse.getResult().getGroupids());

            assertTrue(0 < hostgroupCreateResponse.getResult().getGroupids().size());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    public void testUpdate1() {

        int targetGroupid = this.hostgroupCreateResponse.getResult().getGroupids().get(0);
        String name = "test_hostgroup_update1";
        HostgroupUpdateRequest request = new HostgroupUpdateRequest();
        request.getParams().setName(name);
        request.getParams().setGroupid(targetGroupid);

        try {
            HostgroupUpdateResponse response = zabbixApi.hostgroup().update(request);

            assertNotNull(response);

            assertNotNull(response.getResult().getGroupids());

            int groupId = response.getResult().getGroupids().get(0);
            assertEquals(targetGroupid, groupId);
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    public void testDelete1() {

        int targetGroupid = this.hostgroupCreateResponse.getResult().getGroupids().get(0);

        HostgroupDeleteRequest request = new HostgroupDeleteRequest();
        request.setParams(new ArrayList<Integer>(Arrays.asList(new Integer[]{targetGroupid})));

        try {
            HostgroupDeleteResponse response = zabbixApi.hostgroup().delete(request);

            assertNotNull(response);

            assertNotNull(response.getResult().getGroupids());
            int groupId = response.getResult().getGroupids().get(0);

            assertEquals(targetGroupid, groupId);
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    @Test
    public void testIsReable1() {

        int targetGroupid = 12;
        HostgroupIsReadableRequest request = new HostgroupIsReadableRequest();
        request.setParams(new ArrayList<Integer>(Arrays.asList(new Integer[]{targetGroupid})));

        try {
            HostgroupIsReadableResponse response = zabbixApi.hostgroup().isReable(request);

            assertNotNull(response);

            assertTrue(response.isResult());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }

    @Test
    public void testIsReable2() {

        // login as guest user
        login("guest", "");

        int targetGroupid = 12;
        HostgroupIsReadableRequest request = new HostgroupIsReadableRequest();
        request.setParams(new ArrayList<Integer>(Arrays.asList(new Integer[]{targetGroupid})));

        try {
            HostgroupIsReadableResponse response = zabbixApi.hostgroup().isReable(request);

            assertNotNull(response);

            assertFalse(response.isResult());
        } catch (ZabbixApiException e) {
            fail(e.getMessage());
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,764评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,235评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 171,965评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,984评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,984评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,471评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,844评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,818评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,359评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,385评论 3 346
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,515评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,114评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,836评论 3 338
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,291评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,422评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,064评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,581评论 2 365

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,745评论 18 139
  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 8,023评论 0 37
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,682评论 18 399
  • Xamarin 2017.10.9更新 本次更新主要解决了一些bug。VisualStudio2017升级到15....
    大学霸IT达人阅读 154评论 0 0
  • 这么多年的执念, 只为一个答案, 却不知道, 有些事情本就没有答案。 又或许你的执念, 只是别人的一念之间。 曾经...
    jiangming888阅读 169评论 2 11