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. Contest 7

    A:搜索好难啊根本不会啊. B:原题都能写挂没救了啊.考虑求出每个数作为最小值时能向左向右扩展到的最远位置,那么这段区间里的所有数就不可能作为唯一的最小值成为最优解了,否则假设可以的话这段区间里的数都 ...

  2. IBatis Map报错10.1

    检查 providers.config 把没用的给关闭掉即可

  3. list的4种遍历方式

    import java.util.ArrayList;import java.util.Iterator;import java.util.List; import com.hbut.domain.P ...

  4. 【BZOJ2216】Lightning Conductor(动态规划)

    [BZOJ2216]Lightning Conductor(动态规划) 题面 BZOJ,然而是权限题 洛谷 题解 \(\sqrt {|i-j|}\)似乎没什么意义,只需要从前往后做一次再从后往前做一次 ...

  5. 洛谷 P1171 售货员的难题 【状压dp】

    题目描述 某乡有n个村庄(1<n<20),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0<s<1000)是已知的,且A村到B村与B村到A村的路大多不同.为了提高效率 ...

  6. [NOIP2016 D1T3]换教室 【floyd+概率dp】

    题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上.在第 ii(1 \leq i \leq n1≤ ...

  7. Hbase(六) hbase Java API

    一. 几个主要 Hbase API 类和数据模型之间的对应关系: 1. HBaseAdmin关系: org.apache.hadoop.hbase.client.HBaseAdmin作用:提供了一个接 ...

  8. Introducing my blog

    作为一名计算机专业的学生,在我的博客中我会记录以下几方面的内容: 1.在阅读各类专业书籍的过程中,遇到了一些自己通过很大努力才思考.解决出来的问题/知识/概念,我会通过我自己的讲解将这些问题较为全面. ...

  9. 通过ida dump Uinity3D的加密dll

    声明: 1.本文转载自:http://www.52pojie.cn/thread-398266-1-1.html,仅供自己保存使用,高手勿喷 2.欢迎学习交流 通过ida dump Uinity3D的 ...

  10. 【CODEVS】1034 家园

    [算法]网络流-最大流(dinic) [题解] 飞船有可承载人数限制,地球为源点,月球为汇点,人像水流一样从以飞船上限为容量的边流向汇点. 人在各站点都面临着上船与否的选择,难以用DP解决最优策略,于 ...