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. Day 3 学习笔记

    Day 3 学习笔记 STL 模板库 一.结构体 结构体是把你所需要的一些自定义的类型(原类型.实例(:包括函数)的集合)都放到一个变量包里. 然后这个变量包与原先的类型差不多,可以开数组,是一种数据 ...

  2. 题解 P1765 【手机_NOI导刊2010普及(10)】

    说实话,打表真的很累! 所以小金羊又开始暴力出奇迹了! 这个题解适合初学者使用. 知识点:string里面的str.find()函数: 可以查找字符串和字符,有就返回位置(开头是0), 没有就返回st ...

  3. java学习2-webserver测试工具soapUI使用

    file-->new soap project-->输入project Name(随便)输入 WSDL地址,其他默认,点ok展开左侧加载的项目下的方法名,双击Request ,右侧出现测试 ...

  4. BZOJ4104:[Thu Summer Camp 2015]解密运算——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4104 对于一个长度为N的字符串,我们在字符串的末尾添加一个特殊的字符".".之 ...

  5. 【bzoj3295】动态逆序对

    Portal --> bzoj3295 Solution 虽然说这个可能原本是一道愉快的树套树但是 ​ 没有强制在线并且是三维限制那就大力cdq分治啊! ​ 看到"按照某个顺序依次删除 ...

  6. 【CF962E】Byteland, Berland and Disputed Cities

    Portal! ---> 几句话题意 数轴上面有三种点(B点,R点,P点),现在要将其中的某些点连起来,满足将所有B点去掉之后,所有P点和R点都连通&将所有R点去掉之后,所有B点和P点都 ...

  7. ASCLL表

    ASCII码表完整版 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 . 1 SOH 33 ! 65 ...

  8. 课程14:get和post是神马

    http://www.codeschool.cn/lesson/14.html get和post是神马? get和post是http中两种最常用到的请求类型 简单理解get请求 get请求多用于获取信 ...

  9. 线程同步API及它们的属性

    头文件:<pthread.h> 编译记得加 -lpthread库 1:互斥锁(mutex) 1.1:互斥锁API 数据类型:pthread_mutex_t // 初始化一个互斥锁 int ...

  10. spring boot 使用logback日志系统的详细说明

    springboot按照profile进行打印日志 log4j logback slf4j区别? 首先谈到日志,我们可能听过log4j logback slf4j这三个名词,那么它们之间的关系是怎么样 ...