zabbix-api 获取监控值的简单介绍

一、zabbix api介绍

1.Zabbix API允许以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于:

1)创建新的应用程序以使用Zabbix

2)将Zabbix与第三方软件集成

3)自动执行常规任务

2.Zabbix API是基于Web的API,作为Web前端的一部分提供。它使用JSON-RPC 2.0协议,这意味着两件事:

1)该API包含一组独立的方法;

2)客户端和API之间的请求和响应使用JSON格式进行编码。

3.Zabbix API由许多名义上分组的独立API方法组成。每个方法执行一个特定任务。例如,方法 host.create 隶属于 host 这个API分组 ,用于创建新主机。历史上,API分组有时被称为“类”。

大多数API至少包含四种方法: get, create, update 和 delete ,分别是检索,创建,更新和删除数据,但是某些API提供一套完全不同的一组方法。

根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:

1)远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。

2)标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。

3)文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。

4)信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。

主机和主机组

一般来讲,Zabbix主机是指希望监控的那些设备,例如服务器、工作站、交换机等等。

创建主机是使用Zabbix过程中的一个首要任务。例如,如果想在一台服务器“X”上监控一些参数,必须首先创建一个主机称之为“服务器X”,然后就可以查看添加监控项到这台“服务器X”上。

主机组是由主机组成的


4.zabbix-api调用地址:http://zabbix服务器地址/zabbix/api_jsonrpc.php

官网地址:https://www.zabbix.com/documentation/4.0/zh/manual/api  

5.获取监控项的步骤

1)获取token的值

def getToken(self):

data = {

        "jsonrpc":"2.0",  # API使用的JSON-RPC协议的版本

        "method":"user.login",  # 被调用的API方法名,用于登录并获取身份验证令牌

        "params": {# 将被传递给API方法的参数

            "user":zabbix账号,

            "password": zabbix登录密码

},

        "id":1,  # 请求的任意标识符

        "auth":None  # 用户认证令牌; 因为我们还没有一个,它的设置null

    }

r = requests.post(url=self.url, headers=headers, data=json.dumps(data))

token = json.loads(r.content).get("result")

return token

2)获取hostid(此处根据主机名只获取一个主机ID)

def getHosts(self):

data = { "jsonrpc": "2.0", "method": "host.get", # 使用 host.get 方法检索所有已配置主机的ID,主机名

"params": { "output": [ "hostid", "host" ] },

"id": 2,

"auth": self.token }

r = requests.post(url=self.url, headers=headers, data=json.dumps(data))

# hostid = json.loads(r.content).get("result")[0] #获取zabbix-server的主机名,hostid

hostid = json.loads(r.content).get("result")[0].get("hostid") return hostid

3)获取内存总量

def get_web_time(self,hostid):    #传入上一个方法反悔的hostid的值

data = {

"jsonrpc":"2.0",

        "method":"item.get",

        "params": {

"output":"extend",

            "hostids": hostid,

            "search": {

"key_":"vm.memory.size[total]"

            }

},

        "id":3,

        "auth":self.token

}

r = requests.post(url=self.url, headers=headers, data=json.dumps(data))

memory=int(json.loads(r.content).get("result")[0]["lastvalue"])/1024 /1024 /1024

    print 'total_memory:'+str(memory)+'GB'

6.目前为止使用过的方法

1)user.login    用来获取token值

2) host.get      用来获取主机信息

3)item.get       用来获取item的监控值

4)alert.get       用于获取告警信息

5)triggers,get   获取触发器信息

6)httptest.get   方法允许根据给定的参数检索Web场景 

其他方法请参考官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/api 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354