Zabbix API 是什么?

API简单来说是服务对外开放的一个接口,用户通过该接口传递请求,完成操作。API的背后是一组方法的集合,这些方法实现了服务对应的不同功能,调用API实际上就是换了一种方式对服务进行操作,这种方式相较于Web操作更加高效,同时也容易集成到OMS平台上进行Zabbix功能的远程调用。Zabbix API属于WebAPI,调用的过程简单理解就是向一个URL提交一份数据。Zabbix API采用Json-rpc协议提供远程服务的调用,即用户发送包含指定参数的Json格式的调用信息给Server,Server返回包含指定参数的Json格式的答复信息给用户。Zabbix API还定义了一组方法和参数来供用户调用Zabbix对应的功能,比如user.login、host.get等,这背后的实现实际上是Zabbix代码中对应的一组对象和函数。

Zabbix API官方文档:https://www.zabbix.com/documentation/3.0/manual/api

Json-rpc轻量级远程调用协议

RPC叫远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。简单来说,RPC协议定义了两组信息,分别是调用信息和答复信息,客户端和服务端都按照RPC协议进行通信,调用服务。问题在于数据采用什么格式传输呢?

Json是一种轻量级的数据交换格式,不同的语言有相应的Json解析器负责将Json格式转换为自己的数据结构。Json叫JS对象标记,继承了JavaScript的语法,但从语法形式上更像Python,区别在于Python中的字典在Json中叫对象。

Json-rpc是基于json格式的远程调用协议,简答来说就是采用了Json作为数据交换格式的RPC协议。Json-rpc协议在调用和答复信息中规定了一些参数,比如method,params,id,request,error等。

我们可以总结一下协议是什么?协议就是一组所有人都遵从的行为规范,互联网中的大部分协议其实都是在规定不同对象之间如何通信,如何交互,如何传输数据等。

理解Zabbix API对应的调用和答复信息及调用流程

这是Json格式的调用信息和答复信息,红色框内的Key是Json-rpc协议规定的必须要有的参数,蓝线部分是zabbix api内部定义的方法。

我们使用curl将Json格式的调用信息POST给API对应的URL,

服务器执行了我们的请求,将答复信息发送回来,从而完成整个的调用过程。

建立API的思维

个人理解,API最大的好处有两点:一是连接世界,二是避免重复。

我们身处的时代到处是分享、转载、评论,这里面的核心都是API的使用,可以说API无处不在。同时对于产品设计而言,API既可以丰富产品功能,又能使开发更加方便,从此造汽车不用造轮子,盖房子不用烧砖瓦。另一个方面,API可以也有其商业价值,既可以付费获得一定的收入,也可以免费获得广泛的传播。

API,API,干啥都用API。

Zabbix3.0 API调用的更多相关文章

  1. Facebook Oauth2.0 API调用方法

    这些天搞了下Facebook API的东东,在官方网站下弄了一些接口,下面简单的把facebook的调用流程以及常用接口书序一下 :-)  当然在使用facebook api之前要有facebook账 ...

  2. 天地图,js 4.0 api,简单调用,高手请绕行

    本文介绍使用天地图 js4.0 api,实现地图显示后台gps分布情况: 主要借用H5 GPS获取,利用天地图的背景展示: 效果图如下: 第一步,通过采集网页,手机gps数据,录入后台数据库:界面如下 ...

  3. Hadoop-2.6.0上调用C的API实现相似云盘的功能

    Hadoop-2.6.0上调用C的API实现类似云盘的功能(上传.下载.删除,重命名) 測试系统:CentOS6.6, hadoop-2.6.0 本次測试是调用hadoop下的C的API来訪问HDFS ...

  4. This server is in the failed servers list: localhost/127.0.0.1:16000 启动hbase api调用错误

    api 调用发现错误 Mon Nov 18 23:04:31 CST 2019, RpcRetryingCaller{globalStartTime=1574089469858, pause=100, ...

  5. Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用

    概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...

  6. zabbix3.0.4 邮件告警详细配置

    sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bash perl和web ...

  7. FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误

    前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...

  8. zabbix3.0安装教程

    一.Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费 ...

  9. Sphinx中文分词安装配置及API调用

    这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...

随机推荐

  1. QVariant实质

    QVariant实质 QVariant是一种可以存储不同类型的数据结构,在很多场合这是很有用得为了达到这种目的,可以想象,该对象应该存储对象的类型信息,数据信息以及其他辅助详细考虑用途,这种对象必须支 ...

  2. Debugging QML Applications

    Debugging QML Applications Console API Log console.log, console.debug, console.info, console.warn an ...

  3. oracle 物化视图 ORA-23413: 表 "xxx"."xx" 不带实体化视图日志

    DROP materialized view log on TAB_NAME ;    --不是view名,是表名 CREATE MATERIALIZED VIEW LOG ON TAB_NAME W ...

  4. Android ActionBar 使用详解

    ActionBar取代了以前的TitleBar,是一种更加灵活的人机交互方式:ActionBar并不是完全自立门户的一个新兴的东西,而是和3.0以下版本的menu进行了合并整合:so,添加action ...

  5. 洛谷P4559 [JSOI2018]列队 【70分二分 + 主席树】

    题目链接 洛谷P4559 题解 只会做\(70\)分的\(O(nlog^2n)\) 如果本来就在区间内的人是不用动的,区间右边的人往区间最右的那些空位跑,区间左边的人往区间最左的那些空位跑 找到这些空 ...

  6. [CodeVs1515]跳(lucas定理+费马小定理)

    嘿嘿嘿好久没写数学题了,偶尔看到一道写一写... 题目大意:一个(n+1)*(m+1)[0<=n, m<=10^12,n*m<=10^12]的矩阵,C(0,0)=1,C(x,y)=C ...

  7. Flash平台的分析与RIA的趋势

    10月3号,Flash Player 11 和 AIR 3.0正式提供下载,一片安静.最近这两年来,关于Flash的新闻一向是以负面为主,先是 Silverlight 的挑战,然后是 iphone和i ...

  8. Bootstrap 按钮下拉菜单

    向下拉 <div class="dropdown"> <button class="btn btn-default" data-toggle= ...

  9. CentOS7.2下安装mongoDB3.2.8

    最近在又在倒腾MongoDB,把安装配置的相关命令贴出来 1.下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70- ...

  10. 数字配对(bzoj 4514)

    Description 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对 ...