#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = "ToySun"
__date__ = "2017-12-20"
#version:1.0
from zabbix_client import ZabbixServerProxy
import json
class Zabbix():
def __init__(self):
self.zb = ZabbixServerProxy("http://192.168.10.143/zabbix")
self.zb.user.login(user="Admin", password="zabbix")
def get_hosts(self):
host_data = {
"output": ["hostid", "name"]
}
host_ret = self.zb.host.get(**host_data)
return host_ret
def item_get(self):
key_dict = {}
console = []
for i in range(len(self.get_hosts())):
item_data = {
"output":["itemids","key_",],
"hostids": self.get_hosts()[i]['hostid'],
}
item_ret = self.zb.item.get(**item_data)
for x in range(len(item_ret)):
if self.history_get(item_ret[x]['itemid']) is None:
pass
else:
key_dict[item_ret[x]['key_']] = int(self.history_get(item_ret[x]['itemid']))
key_dict['hostid'] = int(self.get_hosts()[i]['hostid'])
key_dict['name'] = self.get_hosts()[i]['name']
console.append(json.dumps(key_dict))
return console
def history_get(self, itemid):
#history:Possible values: 0 - numeric float; 1 - character; 2 - log;
#3 - numeric unsigned; 4 - text. Default: 3
#limit:the number of value. Default/Must: 1
data = { "output": "extend",
"history": 3,
"itemids": itemid,
"sortfield": "clock",
"sortorder": "DESC",
"limit": 1
}
history_ret = self.zb.history.get(**data)
if len(history_ret):
return history_ret[0]['value']
else:
pass
if __name__ == "__main__":
zabbix_server = Zabbix()
zabbix_server.item_get()
Zabbix获取所有数据
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 注意:这种办法请不要在生产环境使用,如果有什么后果请自负,如果想在实际环境进行操作,建议开启zabbix的加密功能...
- 获取zabbix 所有的hostid 返回结果:[u'10084', u'10155', u'10163',......
- 我是金牛座 “爱钱,抠门,虚荣” 这都是男人第一次见面听到我的星座时给我的第一个评价。 老实说,刚开始我真的很气愤...