# - Already_Exists won't be returned even when it already exists. # - Unkind errors will be sent on error, saying # "[ CItem::create ] Cannot create Item while sending .." result = zapi.item.create({ 'description' : name, 'key_' : key, 'hostid' : host_id, 'type' : 0, # Zabbix agent 'value_type': 0, # numeric float 'delay' : 30, }) pass print('Done.') pass if __name__ == '__main__': parser = argparse.ArgumentParser(description=('Add an example item to ' 'a given host.')) config.add_argparse_configs(parser) parser.add_argument('host', help='hostname for the example item') parser.add_argument('--remove-duplicate', '-r', action='store_true', help=('Remove duplicates when found, ' 'instead of letting this app exit itself.')) args = parser.parse_args() server = config.get_server_uri(args.server) add_item_to_host(server, args.username, args.password, args.log_level, args.host, _name, _key, args.remove_duplicate) pass
from lib import config import argparse import pprint def get_host_info(server, username, password, log_level): zapi = ZabbixAPI(server=server, log_level=log_level) zapi.login(username, password) responses = zapi.host.get({'output': 'extend'}) hostid = responses[0]['hostid'] items = zapi.item.get({'hostids': hostid, 'output': 'extend'}) for item in items: if 'name' in item: # 2.0 print('"{}" (id: {}):'.format(item['name'], item['itemid'])) else: # 1.8 print('"{}" (id: {}):'.format(item['description'], item['itemid'])) pass pprint.pprint(item) pass pass if __name__ == '__main__': parser = config.add_argparse_configs(argparse.ArgumentParser()) args = parser.parse_args() server = config.get_server_uri(args.server) get_host_info(server, args.username, args.password, args.log_level)
result = zapi.item.create({ 'description': name, 'key_': key, 'hostid': host_id, 'type': 0, # Zabbix agent 'value_type': 0, # numeric float 'delay': 30, }) pass print('Done.') pass if __name__ == '__main__': parser = argparse.ArgumentParser(description=('Add an example item to ' 'a given host.')) config.add_argparse_configs(parser) parser.add_argument('host', help='hostname for the example item') parser.add_argument('--remove-duplicate', '-r', action='store_true', help=('Remove duplicates when found, ' 'instead of letting this app exit itself.')) args = parser.parse_args() server = config.get_server_uri(args.server) add_item_to_host(server, args.username, args.password, args.log_level, args.host, _name, _key, args.remove_duplicate) pass