Zabbix 7.0.0rc1 API 如何添加代理池?

最近接手了全国设备监控的重构项目,老版的 Zabbix 还是 5.0 的,这次重构打算用最新的 Zabbix

上周 Zabbix 7.0.0rc1 发布了,跟之前的 alphabeta 版的区别还是挺大的,尤其是还没有完整的文档。
在这里插入图片描述
7.0.0rc1 之前的版本是没有代理池概念的,所以加代理也比较简单:

create_host_params = {
    'host': host,
    'name': device_data['name'],
    'groups': {
        'groupid': group_id,
    },
    'templates': {
        'templateid': template_id
    },
    'proxyid': proxy_id,
    'tags': tags,
    'interfaces': [
        {
            'type': 2,
            'main': 1,
            'useip': 1,
            'ip': device_data['ip_addr'],
            'dns': '',
            'port': '161',
            'details': {
                'version': 2,
                'community': '{$SNMP_COMMUNITY}'
            }
        }
    ]
}

zapi.create_host(**create_host_params)

如果想实现简单的代理池也可以自己写,这里提供一种思路。首先将多个代理配置好,例如配置 5 台机器作为代理服务,然后将这 5 个代理服务的 id 获取到,然后通过 random.choice() 函数将所有要监控的主机负载到不同的代理上。

proxy_pool = [1, 2, 3, 4, 5]
proxy_id = random.choice(proxy_pool)

但是当 7.0.0rc1 版本发布后,之前写的代理服务相关的代码报错,经过排查是原来的 Zabbix API 字段有改动,新版将 proxyid 字段删除了。

不过新版本开始支持代理池了。
在这里插入图片描述
代理池下面是具体的代理服务。
在这里插入图片描述
由于没有文档,只能在页面上操作通过抓包、爬虫、逆向以及瞎猜的方式终于找到了 7.0.0rc1 版本如何添加代理池了。

7.0.0rc1 版本是通过 monitored_byproxy_groupid 这两个字段来添加代理池的。
在这里插入图片描述
monitored_by 的值是 012,分别代表服务器、agent代理程序、Proxy group

proxy_groupid 是代理池的 id

通过 monitored_byproxy_groupid 这两个字段就可以添加代理池了:

create_host_params = {
    'host': host,
    'name': device_data['name'],
    'groups': {
        'groupid': group_id,
    },
    'templates': {
        'templateid': template_id
    },
    'tags': tags,
    'interfaces': [
        {
            'type': 2,
            'main': 1,
            'useip': 1,
            'ip': device_data['ip_addr'],
            'dns': '',
            'port': '161',
            'details': {
                'version': 2,
                'community': '{$SNMP_COMMUNITY}'
            }
        }
    ],
    'monitored_by': 2,
    'proxy_groupid': proxy_group_id
}

zapi.create_host(**create_host_params)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值