#!/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获取所有数据
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 注意:这种办法请不要在生产环境使用,如果有什么后果请自负,如果想在实际环境进行操作,建议开启zabbix的加密功能...
- 获取zabbix 所有的hostid 返回结果:[u'10084', u'10155', u'10163',......
- 我是金牛座 “爱钱,抠门,虚荣” 这都是男人第一次见面听到我的星座时给我的第一个评价。 老实说,刚开始我真的很气愤...