前端调用zabbix告警数据

在做一个用vue框架做的项目时,需要调用zabbix的告警数据做一个告警面板,因此在告警页面直接使用axios调用接口获取数据,配置axios的headers['Content-Type'] = 'application/json'。

zabbix的公用API接口:域名/zabbix/api_jsonrpc.php, 在这域名假设为:http://zabbix.test.com

在获取告警数据时得先登录zabbix获取auth值。post过去的id值不能为空,否则会报错, 可直接默认为1。

this.axios.post('http://zabbix.test.com/zabbix/api_jsonrpc.php', {
    "jsonrpc":"2.0",
    "method":"user.login",
    "params": {
         "user":"admin",
         "password":"test"
    },
    "id": 1
}).then((data) => {
     let auth = data.data.result;
})
调用登录接口成功获取auth值后,再调用告警数据:

this.axios.post('http://zabbix.text.com/zabbix/api_jsonrpc.php', {
    "jsonrpc": "2.0",
    "method": "trigger.get",
    "params": {
         "output": [
               "triggerid",
               "description",
               "lastchange",
               "priority"
          ],
          "filter": {
                 "value":1
          },
          "sortfiled": "lastchange",
          "sortorder": "DESC",
          "selectHosts": ['host'],
          "selectGroups": ['name'],
          "expandDescription": 1,
          "only_true": 1
    },
    "auth": auth,
    "id": 1
}).then((data) => {
     this.alertList = data.data.result;
})

zabbix的告警接口字段属性,可看官方API文档zabbix的告警接口参数文档

结果展示:

前端调用zabbix告警数据_第1张图片

你可能感兴趣的:(zabbix)