如何利用zabbix api 來增加監控

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')


分享到:


相關文章: