一、Zabbix+睿象云报警
编辑server3的zabbix配置文件,将其服务端改为server1
真机开启路由策略,使得server1能够上网
打开浏览器,进入睿象云,先注册账号,绑定邮箱;
点击CA - >添加集成---->监控工具,创建zabbix报警,获得AppKey
查看sever1的配置文件,可以看到报警文件所在目录
将真机的云报警插件传给server1
server1进入目录,进行解压
执行安装脚本(使用注册得到的appkey);
输入账号Admin,初始密码为zabbix,zabbix管理地址为http://172.25.36.1/zabbix
到web上的zabbix中禁用报警媒介类型
启用云报警动作
到睿象云新建通知策略
可以选择通知方式(例如:微信通知)
禁用一个触发器
接着开始测试,停止server2的httpd服务
在zabbix上查看,发现出现了报警而且发送到了睿象云
睿象云上也可以看到报警信息发过来了
同时微信页发出报警信息
点击认领,该状态进入处理中状态
同时微信页发出认领信息
当重启server2的httpd服务后
在zabbix上查看,显示已解决
睿象云也显示已关闭
微信也发送来了
二、API调用
1.API的介绍
1、Zabbix API允许我们以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。
它广泛用于:创建新的应用程序以使用Zabbix;将Zabbix与第三方软件集成;自动执行常规任务。
2、Zabbix API由许多名义上分组的独立API方法组成。每个方法执行一个特定任务。例如,方法 host.create 隶属于 host 这个API分组 ,用于创建新主机。
3、大多数API至少包含四种方法: get, create, update 和 delete ,分别是检索,创建,更新和删除数据,但是某些API提供一套完全不同的一组方法。
4、当完成了前端的安装配置后,就可以使用远程HTTP请求来调用API。为此,需要向 api_jsonrpc.php 位于前端目录中的文件发送HTTP POST请求
2.配置
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。
获取身份验证:在访问Zabbix中的任何数据之前,需要登录并获取身份验证令牌,JSON请求将如下所示,执行完毕,API将返回包含用户身份验证令牌。
参数的意义:
jsonrpc -:API使用的JSON-RPC协议的版本;
method : 被调用的API方法名;
params :将被传递给API方法的参数;
id -:请求的任意标识符;
auth :用户认证令牌,设置null。
检索主机,使用 host.get 方法检索所有已配置zabbix主机的ID,可将命令写入脚本之中;
auto使用刚才获得的身份验证
执行脚本,可以检索到所有zabbix客户端和服务端
接下来测试删除,修改脚本进行删除;
params:这个号是待删除的主机的hostid,如上图所示
执行后可以在网页上看到确实删除了server3
创建主机:
需要把动作里的自动注册禁用,不然执行脚本报错也会成功创建server3
templateid查询方法:
groupid的查询方式:
执行脚本后,可以看到server3添加成功