#  - 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
Example #2
0
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