运维实操——zabbix监控结合睿象云报警平台及API调用
zabbix监控结合睿象云报警平台及API调用1、zabbix监控结合睿象云报警平台2、API调用1、zabbix监控结合睿象云报警平台由于我们不能时时刻刻盯着zabbix监控,所以呢,我们想出现故障时,报警提醒我们。睿象云就有这个功能,他的官方网站是https://www.aiops.com/。首先和前面一样,准备三台虚拟机,server1作zabbix的server端,server2和serv
zabbix监控结合睿象云报警平台及API调用
1、zabbix监控结合睿象云报警平台
由于我们不能时时刻刻盯着zabbix监控,所以呢,我们想出现故障时,报警提醒我们。睿象云就有这个功能,他的官方网站是https://www.aiops.com/。
首先和前面一样,准备三台虚拟机,server1作zabbix的server端,server2和server3作zabbix的agent端,本文前提是zabbix已经配置好。
睿象云需要联网,所以真机打开地址伪装功能,使得server1可以联网报警。
iptables -t nat -I POSTROUTING -s 172.25.3.0/24 -j MASQUERADE #打开地址伪装功能
ping www.baidu.com #测试
注册睿象云账号并登陆,添加集成---->监控工具,创建zabbix报警,获得AppKey。
进入报警文件读取目录
cd /usr/lib/zabbix/alertscripts
tar zxf ca_zabbix_release-3.0.1.tar.gz #解压云报警插件
cd cloudalert/bin/ #进入解压目录
./install.sh 839925ff85a546bcb56ee10549b82c96 #执行安装脚本(使用刚才的appkey)
#输入账号Admin,初始密码为zabbix认证,地址为http://172.25.11.1/zabbix
zabbix中禁用报警媒介类型
启用云报警动作
睿象云中配置通知策略,这里我选择的是微信通知
测试:停用server2的zabbix-agent
[root@server2 zabbix_agentd.d]# systemctl stop zabbix-agent.service
Zabbix网页中,检测->问题,最下边查看报警状态,并且已送达给云报警平台。(如果这里报警信息存在,但是红色显示没有送达,说明zabbix正常检测,但是无法给睿象云发送,查看报错信息,说睿象云路径不对,重新安装。如果报错以前的什么东西已存在,查看睿象云的官方集成文档,里面有错误修复方式)
在睿象云平台告警->显示新奇事件,出现一条待处理的信息
同时微信页发出报警信息,
然后点击认领,该状态进入处理中状态
现在修复错误,重新打开server2客户端,等待,已修复,该状态进入已关闭状态
2、API调用
Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于:
1、 创建新的应用程序以使用Zabbix;
2、将Zabbix与第三方软件集成;
3、自动执行常规任务。
打开zabbix操作手册https://www.zabbix.com/documentation/4.0/zh/manual/api,---->19.API
首先验证,创建一个zabbix.api脚本,内容如下
curl -s -XPOST http://172.25.11.1/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}' | python -m json.tool
sh zabbix.api执行该脚本进行验证获取身份验证令牌token。
我们现在有一个有效的用户身份验证令牌,可以用来访问Zabbix中的数据。 例如,让我们使用 host.get 方法检索所有已配置主机的ID
curl -s -XPOST http://172.25.11.1/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 2,
"auth": "5ba5fb5cd38018ca577eea3374647e3e" ##该处令牌要用上边的结果
}' | python -m json.tool
执行后可以检索到所有客户端和服务端
zabbix操作手册,19.API->方法索引->host主机->删除
接下来测试删除,修改脚本进行删除
curl -s -XPOST http://172.25.11.1/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "host.delete",
"params": [
"10267" #这个号是准备删除的主机的hostid,可以通过点击主机->server3,网址处就会显示
],
"auth": "5ba5fb5cd38018ca577eea3374647e3e",
"id": 2
}' | python -m json.tool
执行后可以在网页上看到确实删除了server3
接下来测试创建,修改脚本进行创建
curl -s -XPOST http://172.25.11.1/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "server3",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "172.25.11.3",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": "5ba5fb5cd38018ca577eea3374647e3e",
"id": 2
}' | python -m json.tool
执行后,可以看到server3又添加进来群组了。
我们也可以添加一个新的监控,并执行
curl -s -XPOST http://172.25.11.1/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Free disk space on $1",
"key_": "vfs.fs.size[/home/joe/,free]",
"hostid": "10267",
"type": 0,
"value_type": 3,
"interfaceid": "1",
"delay": "30s"
},
"auth": "5ba5fb5cd38018ca577eea3374647e3e",
"id": 2
}' | python -m json.tool
网页中Server3添加一个trapper,类型为采集器,键值trap(自己设定),信息类型文本
Server3安装yum install zabbix-sender(如果不行,yum源添加zabbix模块)
zabbix_sender -z 172.25.11.1 -s "server3" -k trap -o "hello westos" #发送消息给服务端
在网页中监测->最新数据->名称(test)。就可以看到server3给服务端发的消息,hello westos
更多推荐
所有评论(0)