首页 > 其他分享 >利用API来管理zabbix

利用API来管理zabbix

时间:2023-05-31 10:11:44浏览次数:40  
标签:jsonrpc extend ID 利用 zabbix API 告警 2.0 id

前置设置

设置问题告警模板

需要在告警消息中添加自定义模板

告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS} 值={ITEM.LASTVALUE}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件 ID:{EVENT.ID}

需要加上事件ID,然后根据告警的事件ID来请求

获取api-token

新建api-token

发起API请求

请求链接

我这里的地址时192.168.140.5

那么请求的地址就是 192.168.140.5/api_jsonrpc.php

请求方法

请求方法都是 POST

需要携带的头

Content-Type: application/json-rpc

例子

查询问题

body部分

{
    "jsonrpc": "2.0",
    "method": "problem.get",
    "params": {
        "output": "extend",
        "selectAcknowledges": "extend",
        "selectTags": "extend",
        "selectSuppressionData": "extend",
        "eventids": "<这里是事件ID>",
        "recent": "true",
        "sortfield": ["eventid"],
        "sortorder": "DESC"
    },
    "auth": "<这里时前面创建的api-token>",
    "id": 1
}

响应

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "2474",
            "source": "0",
            "object": "0",
            "objectid": "23653",
            "clock": "1685496566",
            "ns": "183983534",
            "r_eventid": "0",
            "r_clock": "0",
            "r_ns": "0",
            "correlationid": "0",
            "userid": "0",
            "name": "xxxxxxxx",
            "acknowledged": "0",
            "severity": "4",
            "opdata": "",
            "acknowledges": [],
            "suppression_data": [],
            "suppressed": "0",
            "urls": [],
            "tags": [
                {
                    "tag": "app",
                    "value": "gj"
                },
                {
                    "tag": "app",
                    "value": "test"
                }
            ]
        }
    ],
    "id": 1
}

关闭问题

body部分

{
    "jsonrpc": "2.0",
    "method": "event.acknowledge",
    "params": {
        "eventids":"<这里是事件ID>",
        "action":1
    },
    "auth": "<这里时前面创建的api-token>",
    "id": 1
}

这里需要注意的是

action 字段的值

  • 1 表示关闭问题,但不确认问题
  • 2 表示确认问题,但不关闭问题
  • 3 表示确认和关闭问题

响应部分

{
    "jsonrpc": "2.0",
    "result": {
        "eventids": [
            2480
        ]
    },
    "id": 1
}

标签:jsonrpc,extend,ID,利用,zabbix,API,告警,2.0,id
From: https://www.cnblogs.com/guangdelw/p/17445268.html

相关文章

  • C# WebApi接收参数的常用方式
    C#后端开发请求相关知识C#WebApi接收参数的常用方式查询字符串参数:查询字符串是通过HTTPGET请求中的URL中传递的键值对。在WebAPI中,可以使用以下方式获取查询字符串参数://使用Request.QueryString获取单个查询字符串参数stringname=Request.QueryString["name......
  • fastapi
    FastAPI是一个基于Python的现代、快速(高性能)的Web框架,用于构建WebAPI。它具有简洁的语法、自动的API文档生成和交互式测试界面,以及高性能的异步支持  ......
  • 利用nginx反向代理功能将http网站改造成https
    内网服务器10.0.0.4使用web应用是http,由于各种原因无法在10.0.0.4上将http升级至https此时可以在另一台服务器10.0.0.3上部署nginx,利用nginx的反向代理功能,将访问10.0.0.3的流量转发至10.0.0.4同时将访问80端口的流量自动跳转至443当然也可以在10.0.0.4这台服务器上部署nginx......
  • Pytorch高级api搭建多层感知机实战
    Pytorch高级api搭建多层感知机实战代码importtorchimporttorch.nn.functionalasFimporttorch.optimasoptimfromtorchvisionimportdatasets,transformsbatch_size=200learning_rate=0.01epochs=10train_loader=torch.utils.data.DataLoader(da......
  • ubuntu22.04安装zabbix-agent2
    在库中https://repo.zabbix.com/zabbix/找到自己对应的zabbix的版本这里以6.2.4版本为例找到6.2版本的文件夹然后进入到对应的目录中https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/找到自己服务器的版本对应的版本我这里的服务器是22.04版本的......
  • "以API接口快速获得aliexpress速卖通商品详情-返回值说明
     为了方便商家获取速卖通上的商品信息,速卖通提供了API接口来获取商品数据。本文将介绍如何通过API接口获取速卖通商品数据。一、申请API接口权限在使用API接口前,首先需要在速卖通官网注册账号并通过实名认证。然后,在个人资料页面找到开发者中心,申请API接口权限。在申请权限时,需要......
  • 利用chatgpt辅助处理html数据
       使用chatgpt进行辅助编程首先要清晰描述自己需求,生成代码通过不断调试及优化,最终完成任务。有它,对程序员是好事也是坏事。一、确认功能请编程实现以下功能:1.所有html保存在all文件夹下。2.对all文件下的所有html进行处理,提取表格中的数据。3.自动提取表格头,列名以逗号进行......
  • Elasticsearch专题精讲——API规范—— 基于 URL 的访问控制
    API规范——基于URL的访问控制https://www.elastic.co/guide/en/elasticsearch/reference/8.8/api-conventions.html#api-url-access-control Elasticsearch中的multi-search(多搜索)、multi-get(多获取)和bulk(批量请求)是在一个请求中执行多个操作的方法。如果使用基于URL......
  • Zabbix & grafana搭建配置
    一、zabbix服务搭建物理架构:10.249.80.107      --zabbix_server-6.4.0、grafana_server-9.4.710.249.80.108      --Mysql-8.0.32主10.249.80.109      --Mysql-8.0.32从创建初始数据库首先确保两台服务器上的数据库服务启动并运行,主从状态正常;在数据库10.24......
  • 1688API商品详情页数据,接口封装
    首先,大家要到官方主页去申请一个 appkey,这个是做什么用的呢?AppKey是应用的唯一标识,TOP通过AppKey来鉴别应用的身份。AppSecret是TOP给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的的可靠性,防止被伪造。就是说嘛,想要进门可要先有钥匙啊,所以,appke......