天天看点

zabbix3.0 批量更新主机关联的模板

逻辑是

host.get 获取hostid 

template.get 获取目前主机已经有的模板id

template_get_new 获取新模板的id

host.update 更新

<code>1.</code><code>登陆</code>

<code># !/usr/bin/env python</code>

<code># coding:utf-8</code>

<code>import</code> <code>json</code>

<code>import</code> <code>urllib2</code>

<code># based url and required header</code>

<code>url </code><code>=</code> <code>"http://zabbix's ip/api_jsonrpc.php"</code>

<code>header </code><code>=</code> <code>{</code><code>"Content-Type"</code><code>: </code><code>"application/json"</code><code>}</code>

<code># auth user and password</code>

<code>data </code><code>=</code> <code>json.dumps(</code>

<code>{</code>

<code>    </code><code>"jsonrpc"</code><code>: </code><code>"2.0"</code><code>,</code>

<code>    </code><code>"method"</code><code>: </code><code>"user.login"</code><code>,</code>

<code>    </code><code>"params"</code><code>: {</code>

<code>    </code><code>"user"</code><code>: </code><code>"139"</code><code>,</code>

<code>    </code><code>"password"</code><code>: </code><code>"xxxxxx"</code>

<code>},</code>

<code>"id"</code><code>: </code><code>0</code>

<code>})</code>

<code># create request object</code>

<code>request </code><code>=</code> <code>urllib2.Request(url,data)</code>

<code>for</code> <code>key </code><code>in</code> <code>header:</code>

<code>    </code><code>request.add_header(key,header[key])</code>

<code># auth and get authid</code>

<code>try</code><code>:</code>

<code>    </code><code>result </code><code>=</code> <code>urllib2.urlopen(request)</code>

<code>except</code> <code>urllib2.URLError as e:</code>

<code>    </code><code>print</code> <code>"Auth Failed, Please Check Your Name And Password:"</code><code>,e.code</code>

<code>else</code><code>:</code>

<code>    </code><code>response </code><code>=</code> <code>json.loads(result.read())</code>

<code>    </code><code>result.close()</code>

<code>    </code><code>print</code> <code>"Auth Successful. The Auth ID Is:"</code><code>,response[</code><code>'result'</code><code>]</code>

<code>输出</code>

<code>Auth Successful. The Auth </code><code>ID</code> <code>Is: b307f26d7874e4171b96cdfc463fe08f</code>

<code>2.zabbix</code><code>批量更新主机关联的模板</code>

<code>from</code> <code>urllib2 </code><code>import</code> <code>URLError</code>

<code>import</code> <code>sys</code>

<code>class</code> <code>zabbixtools:</code>

<code>    </code><code>def</code> <code>__init__(</code><code>self</code><code>):</code>

<code>        </code><code>self</code><code>.url </code><code>=</code> <code>"http://zabbix.a.com/api_jsonrpc.php"</code>

<code>        </code><code>self</code><code>.header </code><code>=</code> <code>{</code><code>"Content-Type"</code><code>: </code><code>"application/json"</code><code>}</code>

<code>        </code><code>self</code><code>.authID </code><code>=</code> <code>self</code><code>.user_login()</code>

<code>    </code><code>def</code> <code>user_login(</code><code>self</code><code>):</code>

<code>        </code><code>data </code><code>=</code> <code>json.dumps(</code>

<code>                </code><code>{</code>

<code>                    </code><code>"jsonrpc"</code><code>: </code><code>"2.0"</code><code>,</code>

<code>                    </code><code>"method"</code><code>: </code><code>"user.login"</code><code>,</code>

<code>                    </code><code>"params"</code><code>: {</code>

<code>                        </code><code>"user"</code><code>: </code><code>"139"</code><code>,</code>

<code>                        </code><code>"password"</code><code>: </code><code>"xxxxxx"</code>

<code>                        </code><code>},</code>

<code>                    </code><code>"id"</code><code>: </code><code>0</code>

<code>                    </code><code>})</code>

<code>        </code><code>request </code><code>=</code> <code>urllib2.Request(</code><code>self</code><code>.url,data)</code>

<code>        </code><code>for</code> <code>key </code><code>in</code> <code>self</code><code>.header:</code>

<code>            </code><code>request.add_header(key,</code><code>self</code><code>.header[key])</code>

<code>        </code><code>try</code><code>:</code>

<code>            </code><code>result </code><code>=</code> <code>urllib2.urlopen(request)</code>

<code>        </code><code>except</code> <code>URLError as e:</code>

<code>            </code><code>print</code> <code>"Auth Failed, Please Check Your Name And Password:"</code><code>,e.code</code>

<code>        </code><code>else</code><code>:</code>

<code>            </code><code>response </code><code>=</code> <code>json.loads(result.read())</code>

<code>            </code><code>result.close()</code>

<code>            </code><code>authID </code><code>=</code> <code>response[</code><code>'result'</code><code>]</code>

<code>            </code><code>return</code> <code>authID</code>

<code>    </code><code>def</code> <code>get_data(</code><code>self</code><code>,data,hostip</code><code>=</code><code>""):</code>

<code>            </code><code>if</code> <code>hasattr</code><code>(e, </code><code>'reason'</code><code>):</code>

<code>                </code><code>print</code> <code>'We failed to reach a server.'</code>

<code>                </code><code>print</code> <code>'Reason: '</code><code>, e.reason</code>

<code>            </code><code>elif</code> <code>hasattr</code><code>(e, </code><code>'code'</code><code>):</code>

<code>                </code><code>print</code> <code>'The server could not fulfill the request.'</code>

<code>                </code><code>print</code> <code>'Error code: '</code><code>, e.code</code>

<code>            </code><code>return</code> <code>0</code>

<code>            </code><code>return</code> <code>response</code>

<code>    </code><code>def</code> <code>host_get(</code><code>self</code><code>,hostip):</code>

<code>        </code><code># hostip = raw_input("\033[1;35;40m%s\033[0m" % 'Enter Your Check Host:Host_ip :')</code>

<code>            </code><code>{</code>

<code>                </code><code>"jsonrpc"</code><code>: </code><code>"2.0"</code><code>,</code>

<code>                </code><code>"method"</code><code>: </code><code>"host.get"</code><code>,</code>

<code>                </code><code>"params"</code><code>: {</code>

<code>                    </code><code>"output"</code><code>: [</code><code>"hostid"</code><code>, </code><code>"name"</code><code>, </code><code>"status"</code><code>, </code><code>"host"</code><code>],</code>

<code>                    </code><code>"filter"</code><code>: {</code><code>"host"</code><code>: [hostip]}</code>

<code>                </code><code>},</code>

<code>                </code><code>"auth"</code><code>: </code><code>self</code><code>.authID,</code>

<code>                </code><code>"id"</code><code>: </code><code>1</code>

<code>            </code><code>})</code>

<code>        </code><code>res </code><code>=</code> <code>self</code><code>.get_data(data)[</code><code>'result'</code><code>]</code>

<code>        </code><code>if</code> <code>(res !</code><code>=</code> <code>0</code><code>) </code><code>and</code> <code>(</code><code>len</code><code>(res) !</code><code>=</code> <code>0</code><code>):</code>

<code>            </code><code># for host in res:</code>

<code>            </code><code>print</code> <code>type</code><code>(res)</code>

<code>            </code><code>host </code><code>=</code> <code>res[</code><code>0</code><code>]</code>

<code>            </code><code>if</code> <code>host[</code><code>'status'</code><code>] </code><code>=</code><code>=</code> <code>'1'</code><code>:</code>

<code>                </code><code>print</code> <code>"\t"</code><code>, </code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"Host_IP:"</code><code>, </code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>host[</code><code>'host'</code><code>].ljust(</code>

<code>                    </code><code>15</code><code>), </code><code>'\t'</code><code>, </code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"Host_Name:"</code><code>, </code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>host[</code><code>'name'</code><code>].encode(</code>

<code>                    </code><code>'UTF8'</code><code>), </code><code>'\t'</code><code>, </code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>u</code><code>'未在监控状态'</code><code>.encode(</code><code>'UTF8'</code><code>)</code>

<code>                </code><code>return</code> <code>host[</code><code>'hostid'</code><code>]</code>

<code>            </code><code>elif</code> <code>host[</code><code>'status'</code><code>] </code><code>=</code><code>=</code> <code>'0'</code><code>:</code>

<code>                </code><code>print</code> <code>"\t"</code><code>, </code><code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>"Host_IP:"</code><code>, </code><code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>host[</code><code>'host'</code><code>].ljust(</code>

<code>                    </code><code>15</code><code>), </code><code>'\t'</code><code>, </code><code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>"Host_Name:"</code><code>, </code><code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>host[</code><code>'name'</code><code>].encode(</code>

<code>                    </code><code>'UTF8'</code><code>), </code><code>'\t'</code><code>, </code><code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>u</code><code>'在监控状态'</code><code>.encode(</code><code>'UTF8'</code><code>)</code>

<code>            </code><code>print</code>

<code>            </code><code>print</code> <code>'\t'</code><code>, </code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"Get Host Error or cannot find this host,please check !"</code>

<code>    </code><code>def</code> <code>host_del(</code><code>self</code><code>):</code>

<code>        </code><code>hostip </code><code>=</code> <code>raw_input</code><code>(</code><code>"\033[1;35;40m%s\033[0m"</code> <code>%</code> <code>'Enter Your Check Host:Host_ip :'</code><code>)</code>

<code>        </code><code>hostid </code><code>=</code> <code>self</code><code>.host_get(hostip)</code>

<code>        </code><code>if</code> <code>hostid </code><code>=</code><code>=</code> <code>0</code><code>:</code>

<code>            </code><code>print</code> <code>'\t'</code><code>,</code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"This host cannot find in zabbix,please check it !"</code>

<code>            </code><code>sys.exit()</code>

<code>                    </code><code>"method"</code><code>: </code><code>"host.delete"</code><code>,</code>

<code>                    </code><code>"params"</code><code>: [{</code><code>"hostid"</code><code>: hostid}],</code>

<code>                    </code><code>"auth"</code><code>: </code><code>self</code><code>.authID,</code>

<code>                    </code><code>"id"</code><code>: </code><code>1</code>

<code>                </code><code>})</code>

<code>        </code><code>print</code> <code>type</code><code>(res)</code>

<code>        </code><code>if</code> <code>'hostids'</code> <code>in</code> <code>res.keys():</code>

<code>            </code><code>print</code> <code>"\t"</code><code>,</code><code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>"Delet Host:%s success !"</code> <code>%</code> <code>hostip</code>

<code>            </code><code>print</code> <code>"\t"</code><code>,</code><code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"Delet Host:%s failure !"</code> <code>%</code> <code>hostip</code>

<code>    </code><code>def</code> <code>hostgroup_get(</code><code>self</code><code>):</code>

<code>                    </code><code>"method"</code><code>: </code><code>"hostgroup.get"</code><code>,</code>

<code>                        </code><code>"output"</code><code>: </code><code>"extend"</code><code>,</code>

<code>                    </code><code>"id"</code><code>: </code><code>1</code><code>,</code>

<code>        </code><code>res </code><code>=</code> <code>self</code><code>.get_data(data)</code>

<code>        </code><code>if</code> <code>'result'</code> <code>in</code> <code>res.keys():</code>

<code>            </code><code>res </code><code>=</code> <code>res[</code><code>'result'</code><code>]</code>

<code>            </code><code>if</code> <code>(res !</code><code>=</code><code>0</code><code>) </code><code>or</code> <code>(</code><code>len</code><code>(res) !</code><code>=</code> <code>0</code><code>):</code>

<code>                </code><code>print</code> <code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>"Number Of Group: "</code><code>, </code><code>"\033[1;31;40m%d\033[0m"</code> <code>%</code> <code>len</code><code>(res)</code>

<code>                </code><code>for</code> <code>host </code><code>in</code> <code>res:</code>

<code>                    </code><code>print</code> <code>"\t"</code><code>,</code><code>"HostGroup_id:"</code><code>,host[</code><code>'groupid'</code><code>],</code><code>"\t"</code><code>,</code><code>"HostGroup_Name:"</code><code>,host[</code><code>'name'</code><code>].encode(</code><code>'UTF8'</code><code>)</code>

<code>                </code><code>print</code>

<code>            </code><code>print</code> <code>"Get HostGroup Error,please check !"</code>

<code>    </code><code>def</code> <code>template_get(</code><code>self</code><code>,hostid):</code>

<code>        </code><code>templateid_list </code><code>=</code> <code>[]</code>

<code>                </code><code>"method"</code><code>: </code><code>"template.get"</code><code>,</code>

<code>                    </code><code>"output"</code><code>: </code><code>"hostid"</code><code>,</code>

<code>                    </code><code>"hostids"</code><code>: hostid,</code>

<code>                    </code><code># "filter": {"host": ["Template MongoDB Discovery"]}</code>

<code>                </code><code>"id"</code><code>: </code><code>1</code><code>,</code>

<code>        </code><code>res </code><code>=</code> <code>self</code><code>.get_data(data)  </code><code># ['result']</code>

<code>        </code><code>print</code> <code>res</code>

<code>            </code><code>for</code> <code>host </code><code>in</code> <code>res:</code>

<code>                </code><code>var </code><code>=</code> <code>{}</code>

<code>                </code><code>print</code> <code>host[</code><code>'templateid'</code><code>]</code>

<code>                </code><code>var[</code><code>'templateid'</code><code>] </code><code>=</code> <code>host[</code><code>'templateid'</code><code>]</code>

<code>                </code><code>templateid_list.append(var)</code>

<code>        </code><code>return</code> <code>templateid_list</code>

<code>        </code><code>'''</code>

<code>        </code><code>if 'result' in res.keys():</code>

<code>            </code><code>res = res['result']</code>

<code>            </code><code>if (res != 0) or (len(res) != 0):</code>

<code>                </code><code>print "\033[1;32;40m%s\033[0m" % "Number Of Template: ", "\033[1;31;40m%d\033[0m" % len(res)</code>

<code>                </code><code>for host in res:</code>

<code>                    </code><code>print "\t", "Template_id:", host['templateid'], "\t", "Template_Name:", host['name'].encode('GBK')</code>

<code>        </code><code>else:</code>

<code>            </code><code>print "Get Template Error,please check !"</code>

<code>        </code><code>def</code> <code>template_get_new(</code><code>self</code><code>):</code>

<code>    </code><code>templateid_list </code><code>=</code> <code>[]</code>

<code>    </code><code>data </code><code>=</code> <code>json.dumps(</code>

<code>        </code><code>{</code>

<code>            </code><code>"jsonrpc"</code><code>: </code><code>"2.0"</code><code>,</code>

<code>            </code><code>"method"</code><code>: </code><code>"template.get"</code><code>,</code>

<code>            </code><code>"params"</code><code>: {</code>

<code>                </code><code>"output"</code><code>: </code><code>"hostid"</code><code>,</code>

<code>                </code><code># "hostids": hostid,</code>

<code>                </code><code>"filter"</code><code>: {</code><code>"host"</code><code>: [</code><code>"Template MongoDB Discovery"</code><code>]}</code>

<code>            </code><code>},</code>

<code>            </code><code>"auth"</code><code>: </code><code>self</code><code>.authID,</code>

<code>            </code><code>"id"</code><code>: </code><code>1</code><code>,</code>

<code>        </code><code>})</code>

<code>    </code><code>res </code><code>=</code> <code>self</code><code>.get_data(data)  </code><code># ['result']</code>

<code>    </code><code>print</code> <code>res</code>

<code>    </code><code>if</code> <code>'result'</code> <code>in</code> <code>res.keys():</code>

<code>        </code><code>res </code><code>=</code> <code>res[</code><code>'result'</code><code>]</code>

<code>        </code><code>for</code> <code>host </code><code>in</code> <code>res:</code>

<code>            </code><code>var </code><code>=</code> <code>{}</code>

<code>            </code><code>print</code> <code>host[</code><code>'templateid'</code><code>]</code>

<code>            </code><code>var[</code><code>'templateid'</code><code>] </code><code>=</code> <code>host[</code><code>'templateid'</code><code>]</code>

<code>            </code><code>templateid_list.append(var)</code>

<code>    </code><code>return</code> <code>templateid_list</code>

<code>    </code><code>def</code> <code>host_create(</code><code>self</code><code>):</code>

<code>        </code><code>hostip </code><code>=</code> <code>raw_input</code><code>(</code><code>"\033[1;35;40m%s\033[0m"</code> <code>%</code> <code>'Enter your:Host_ip :'</code><code>)</code>

<code>        </code><code>groupid </code><code>=</code> <code>raw_input</code><code>(</code><code>"\033[1;35;40m%s\033[0m"</code> <code>%</code> <code>'Enter your:Group_id :'</code><code>)</code>

<code>        </code><code>templateid </code><code>=</code> <code>raw_input</code><code>(</code><code>"\033[1;35;40m%s\033[0m"</code> <code>%</code> <code>'Enter your:Tempate_id :'</code><code>)</code>

<code>        </code><code>g_list</code><code>=</code><code>[]</code>

<code>        </code><code>t_list</code><code>=</code><code>[]</code>

<code>        </code><code>for</code> <code>i </code><code>in</code> <code>groupid.split(</code><code>','</code><code>):</code>

<code>            </code><code>var[</code><code>'groupid'</code><code>] </code><code>=</code> <code>i</code>

<code>            </code><code>g_list.append(var)</code>

<code>        </code><code>for</code> <code>i </code><code>in</code> <code>templateid.split(</code><code>','</code><code>):</code>

<code>            </code><code>var[</code><code>'templateid'</code><code>] </code><code>=</code> <code>i</code>

<code>            </code><code>t_list.append(var)</code>

<code>        </code><code>if</code> <code>hostip </code><code>and</code> <code>groupid </code><code>and</code> <code>templateid:</code>

<code>            </code><code>data </code><code>=</code> <code>json.dumps(</code>

<code>                    </code><code>{</code>

<code>                        </code><code>"jsonrpc"</code><code>: </code><code>"2.0"</code><code>,</code>

<code>                        </code><code>"method"</code><code>: </code><code>"host.create"</code><code>,</code>

<code>                        </code><code>"params"</code><code>: {</code>

<code>                            </code><code>"host"</code><code>: hostip,</code>

<code>                            </code><code>"interfaces"</code><code>: [</code>

<code>                                </code><code>{</code>

<code>                                    </code><code>"type"</code><code>: </code><code>1</code><code>,</code>

<code>                                    </code><code>"main"</code><code>: </code><code>1</code><code>,</code>

<code>                                    </code><code>"useip"</code><code>: </code><code>1</code><code>,</code>

<code>                                    </code><code>"ip"</code><code>: hostip,</code>

<code>                                    </code><code>"dns"</code><code>: "",</code>

<code>                                    </code><code>"port"</code><code>: </code><code>"10050"</code>

<code>                                </code><code>}</code>

<code>                            </code><code>],</code>

<code>                            </code><code>"groups"</code><code>: g_list,</code>

<code>                            </code><code>"templates"</code><code>: t_list,</code>

<code>                    </code><code>},</code>

<code>                        </code><code>"auth"</code><code>: </code><code>self</code><code>.authID,</code>

<code>                        </code><code>"id"</code><code>: </code><code>1</code><code>,</code>

<code>                        </code><code>})</code>

<code>            </code><code>res </code><code>=</code> <code>self</code><code>.get_data(data,hostip)</code>

<code>            </code><code>if</code> <code>'result'</code> <code>in</code> <code>res.keys():</code>

<code>                </code><code>res </code><code>=</code> <code>res[</code><code>'result'</code><code>]</code>

<code>                </code><code>if</code> <code>'hostids'</code> <code>in</code> <code>res.keys():</code>

<code>                    </code><code>print</code> <code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>"Create host success"</code>

<code>            </code><code>else</code><code>:</code>

<code>                </code><code>print</code> <code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"Create host failure: %s"</code> <code>%</code> <code>res[</code><code>'error'</code><code>][</code><code>'data'</code><code>]</code>

<code>            </code><code>print</code> <code>"\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>"Enter Error: ip or groupid or tempateid is NULL,please check it !"</code>

<code>    </code><code>def</code> <code>host_update(</code><code>self</code><code>):</code>

<code>                </code><code>"method"</code><code>: </code><code>"host.update"</code><code>,</code>

<code>                    </code><code>"hostid"</code><code>: </code><code>10178</code><code>,</code>

<code>                    </code><code>"templates"</code><code>: </code><code>10180</code><code>,</code>

<code>                    </code><code>"status"</code><code>: </code><code>0</code><code>,</code>

<code>            </code><code>print</code> <code>res</code>

<code>    </code><code>def</code> <code>host_update_template(</code><code>self</code><code>,hostid,templateid):</code>

<code>        </code><code># hostid=['10178']</code>

<code>        </code><code># templateid = ['1001','10110','10180']</code>

<code>                    </code><code># "hostid": 10178,</code>

<code>                    </code><code># "templates": [{"templateid":10180},{"templateid":10110},{"templateid":10001}],</code>

<code>                    </code><code>"hostid"</code><code>: hostid,</code>

<code>                    </code><code>"templates"</code><code>: templateid,</code>

<code>def</code> <code>main():</code>

<code>    </code><code>test </code><code>=</code> <code>zabbixtools()</code>

<code>    </code><code>hostid </code><code>=</code> <code>test.host_get(hostip</code><code>=</code><code>'192.1.1.121'</code><code>)</code>

<code>    </code><code>print</code> <code>type</code><code>(hostid)</code>

<code>    </code><code>templateid </code><code>=</code> <code>test.template_get(hostid)</code>

<code>    </code><code>print</code> <code>templateid</code>

<code>    </code><code>templatedid_new </code><code>=</code> <code>test.template_get_new()</code>

<code>        </code><code>print</code> <code>templatedid_new</code>

<code>        </code><code>for</code> <code>id</code> <code>in</code> <code>templatedid_new:</code>

<code>            </code><code>if</code> <code>id</code> <code>in</code> <code>templateid:</code>

<code>                </code><code>print</code> <code>"0K"</code>

<code>                </code><code>templateid.append(</code><code>id</code><code>)</code>

<code>        </code><code>test.host_update_template(hostid, templateid)</code>

<code>    </code><code>test.host_update_template(hostid,templateid)</code>

<code>    </code><code># print hostid</code>

<code>    </code><code># test.host_update_template()</code>

<code>    </code><code># test.hostgroup_get()</code>

<code>    </code><code># test.host_del()</code>

<code>    </code><code># test.host_create()</code>

<code>    </code><code># test.host_update()</code>

<code>    </code><code>#test.host_getbyhost()</code>

<code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>"__main__"</code><code>:</code>

<code>    </code><code>main()</code>

<a href="https://s1.51cto.com/wyfs02/M01/08/4D/wKiom1nfJBGSj2RmAABQp1m-gKQ791.png" target="_blank"></a>

注意的地方

1."filter": {"host": [hostip]} 官网的例子,不要随便写filter,要看清楚再写,别乱尝试

2.hostids 这个要多去官网看看

3.create和update的时候,有些值需要是这种格式的,请千万别搞错了

[{'templateid': u'10001'}, {'templateid': u'10110'}, {'templateid': u'10140'}, {'templateid': u'10141'}, {'templateid': u'10180'}]

好像批量没有实现,继续写一个test方法

<code>def</code> <code>test():</code>

<code>    </code><code>newlist </code><code>=</code> <code>[{</code><code>'192.1.1.121'</code><code>: </code><code>"Template MongoDB Discovery"</code><code>}, {</code><code>'192.1.1.124'</code><code>: </code><code>"Template Redis Auto Discovery"</code><code>}]</code>

<code>    </code><code>for</code> <code>i </code><code>in</code> <code>newlist:</code>

<code>        </code><code>for</code> <code>key, value </code><code>in</code> <code>i.iteritems():</code>

<code>            </code><code>print</code> <code>key, value</code>

<code>            </code><code>host </code><code>=</code> <code>key</code>

<code>            </code><code>newtemplateid </code><code>=</code> <code>value</code>

<code>            </code><code>templatedid_new </code><code>=</code> <code>test.template_get_new(newtemplateid)</code>

<code>            </code><code>print</code> <code>templatedid_new</code>

<code>            </code><code>hostid </code><code>=</code> <code>test.host_get(host)</code>

<code>            </code><code>print</code> <code>type</code><code>(hostid)</code>

<code>            </code><code>templateid </code><code>=</code> <code>test.template_get(hostid)</code>

<code>            </code><code>print</code> <code>templateid</code>

<code>            </code><code>print</code> <code>"last ............."</code>

<code>            </code><code>for</code> <code>id</code> <code>in</code> <code>templatedid_new:</code>

<code>                </code><code>if</code> <code>id</code> <code>in</code> <code>templateid:</code>

<code>                    </code><code>print</code> <code>"0K"</code>

<code>                </code><code>else</code><code>:</code>

<code>                    </code><code>templateid.append(</code><code>id</code><code>)</code>

<code>            </code><code>test.host_update_template(hostid, templateid)</code>

zabbix3.0 批量更新主机关联的模板

本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1971760,如需转载请自行联系原作者