parser.add_argument('-H','--host',nargs='?',dest='listhost',default='host',help='查詢主機')
parser.add_argument('-G','--group',nargs='?',dest='listgroup',default='group',help='查詢主機組')
parser.add_argument('-T','--template',nargs='?',dest='listtemp',default='template',help='查詢模板信息')
parser.add_argument('-A','--add-group',nargs=1,dest='addgroup',help='添加主機組')
parser.add_argument('-C','--add-host',dest='addhost',nargs=3,metavar=('192.168.2.1', 'test01,test02', 'Template01,Template02'),help='添加主機,多個主機組或模板使用分號')
parser.add_argument('-d','--disable',dest='disablehost',nargs=1,metavar=('192.168.2.1'),help='禁用主機')
parser.add_argument('-D','--delete',dest='deletehost',nargs='+',metavar=('192.168.2.1'),help='刪除主機,多個主機之間用分號')
parser.add_argument('-v','--version', action='version', version='%(prog)s 1.0')
if len(sys.argv)==1:
print parser.print_help()
else:
args=parser.parse_args()
if args.listhost != 'host' :
if args.listhost:
zabbix.host_get(args.listhost)
else:
zabbix.host_get()
if args.listgroup !='group':
if args.listgroup:
zabbix.hostgroup_get(args.listgroup)
else:
zabbix.hostgroup_get()
if args.listtemp != 'template':
if args.listtemp:
zabbix.template_get(args.listtemp)
else:
zabbix.template_get()
if args.addgroup:
zabbix.hostgroup_create(args.addgroup[0])
if args.addhost:
zabbix.host_create(args.addhost[0], args.addhost[1], args.addhost[2])
if args.disablehost:
zabbix.host_disable(args.disablehost)
if args.deletehost:
zabbix.host_delete(args.deletehost[0])
用法如下:
直接執行 python zabbix_api.py
usage: zabbix_api.py [options]
zabbix api
optional arguments:
-h, --help show this help message and exit
-H [LISTHOST], --host [LISTHOST]
查詢主機
-G [LISTGROUP], --group [LISTGROUP]
查詢主機組
-T [LISTTEMP], --template [LISTTEMP]
查詢模板信息
-A ADDGROUP, --add-group ADDGROUP
添加主機組
-C 192.168.2.1 test01,test02 Template01,Template02, --add-host 192.168.2.1 test01,test02 Template01,Template02
添加主機,多個主機組或模板使用分號
-d 192.168.2.1, --disable 192.168.2.1
禁用主機
-D 192.168.2.1 [192.168.2.1 ...], --delete 192.168.2.1 [192.168.2.1 ...]
刪除主機,多個主機之間用分號
-v, --version show program's version number and exit
示例:
#!/usr/bin/python
#新增幫助信息,可直接執行腳本
zabbix=zabbix_api()
#獲取所有主機列表
zabbix.host_get()
#查詢單個主機列表
zabbix.host_get('192.168.2.1')
#獲取所有主機組列表
zabbix.hostgroup_get()
#查詢單個主機組列表
zabbix.hostgroup_get('test01')
#獲取所有模板列表
zabbix.template_get()
#查詢單個模板信息
zabbix.template_get('Template OS Linux')
#添加一個主機組
zabbix.hostgroup_create('test01')
#添加一個主機,支持將主機添加進多個組,多個模板,多個組、模板之間用逗號隔開,如果添加的組不存在,新創建組
zabbix.host_create('192.168.2.1', 'test01', 'Template OS Linux')
zabbix.host_create('192.168.2.1', 'Linux servers,test01 ', 'Template OS Linux,Template App MySQL')
#禁用一個主機
zabbix.host_disable('192.168.2.1')
#刪除host,支持刪除多個,之間用逗號
zabbix.host_delete('192.168.2.1,192.168.2.2')
閱讀更多 IT生涯 的文章