1. #!/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3. ########################################################## 
  4. # @This script is used to Install zabbix clent for Windows(32/64) 
  5. # @Function:     Install zabbix clent for Windows 
  6. # @Create Date:  2013-01-02 
  7. #打包官方zabbix_agents_2.0.4.win.zip為rar包,指定解壓軟體rar的路徑。 
  8. ########################################################## 
  9. import os,re,sys,urllib,wmi 
  10.  
  11. c = wmi.WMI () 
  12. for s in c.Win32_Service ():   
  13.     if s.Caption == "Zabbix Agent"
  14.         sys.exit("zabbix already install"
  15.  
  16. url = `http://192.168.110.110/zabbix_agents_2.0.4.win.rar`    
  17. local = `C:\zabbix_agents_2.0.4.win.rar`    
  18. urllib.urlretrieve(url,local,) 
  19. url = `http://192.168.110.110/rar.exe`    
  20. local = `C:\rar.exe`#本地如果安裝了指定相應的目錄 
  21. urllib.urlretrieve(url,local,) 
  22. os.popen(`C:\rar.exe x -y C:\zabbix_agents_2.0.4.win.rar -ed C:\`
  23.  
  24. sProgramFiles = os.environ[`PROGRAMFILES`
  25. if "(86)" in sProgramFiles: 
  26.     os.popen(`C:\zabbix\bin\win64\zabbix_agentd.exe -c C:\zabbix\conf\zabbix_agentd.win.conf -i`
  27. else
  28.     os.popen(`C:\zabbix\bin\win32\zabbix_agentd.exe -c C:\zabbix\conf\zabbix_agentd.win.conf -i`
  29. #以下是新增windows網路卡流量監控的自定key,注意:一般的執行命令或指令碼自定義key格式為:UserParameter=keyname,commd,網路卡的為 PerfCounter=keyname,""
  30. conm = os.popen(`typeperf.exe -qx|find "Network Interface"|find "Bytes"|find /v "Total"|find /v "Loopback"`).readlines() 
  31. f=open(`C:zabbixconfzabbix_agentd.win.conf`,`a+`
  32. f.write(` `
  33. e = 0 
  34. for i in range(len(conm)): 
  35.     c = re.search(`Sent`,conm[i]) 
  36.     if c: 
  37.         b = "PerfCounter " + "=" + " eth"+str(e) + "_Out," + `"``"` + str(conm[i]).strip() + `",30` 
  38.         #print b 
  39.         f.write("%s  " %b) 
  40.         e += 1 
  41. e = 0 
  42. for i in range(len(conm)): 
  43.     c = re.search(`Received`,conm[i]) 
  44.     if c: 
  45.         b = "PerfCounter " + "=" + " eth"+str(e) + "_In," + `"` + str(conm[i]).strip() + `",30` 
  46.         #print b 
  47.         f.write("%s  " %b) 
  48.         e += 1 
  49. f.close() 
  50. ````` 
  51. f = open(`C:zabbixzabbix_agentd.conf`,`r+`) 
  52. ip = f.read() 
  53. ip = ip.replace(`192.168.1.100`,ipnew) 
  54. f.seek(0) 
  55. f.write(ip) 
  56. f.close() 
  57. ``` 
  58. os.popen(`net start "Zabbix Agent"`
  59. os.popen(`net stop "Zabbix Agent"`
  60. os.popen(`net start "Zabbix Agent"`
  61. os.remove(`C:\rar.exe`
  62. os.remove(`C:\zabbix_agents_2.0.4.win.rar`
  63. sys.exit("zabbix install success !"