【问题标题】:How to create new api for zabbix frontend?如何为 zabbix 前端创建新的 api?
【发布时间】:2019-06-26 17:14:15
【问题描述】:

我想为 Zabbix 前端创建新的 API。

我在

中创建了一个文件CTestApi.php
D:\xampp\htdocs\zabbix\include\classes\api\services\CTestApi.php 

我创建了一个函数

public static function TestApi() {
        return self::getApi('testapi');
}

我正在使用邮递员来测试 API。 localhost/zabbix/api_jsonrpc.php,参数如下

{
    "jsonrpc": "2.0",
    "method": "testapi.get",
    "params": {
        "output": "extend"
    },
    "auth": "891692ab3070e64f9d3439278a5bbcb8",
    "id": 1
} 

结果是

{
    "jsonrpc": "2.0",
    "error": {
        "code": -32602,
        "message": "Invalid params.",
        "data": "Incorrect API \"testapi\"."
    },
    "id": 1
}

我不知道为什么 API 不正确。请帮助我如何将新的 API 添加到 Zabbix 前端?

我正在使用 PHP 7、MySQL5、Zabbix 4.0

非常感谢! BienHV

【问题讨论】:

    标签: zabbix


    【解决方案1】:

    我找到了这个问题的解决方案。

    第一步:创建API服务类 例如:\include\classes\api\services\CTestApi.php

    Step2:在CApiServiceFactory.php中注册API服务工厂 例如:'testapi' => 'CTestApi'

    第 3 步: 声明函数以返回请求 API 的 CApiInstance 对象

    Step4: 在CTestApi.php中编写API函数 例如:获取、发布、…方法

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2020-12-22
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多