標籤:zabbix 如何監控windows機器
最近一直在研究Zabbix監控Windows機器,涉及到如何快速安裝agent,如何修改和完善windows監控模板等等。想把自己的經驗給大家分享一下,希望對大家有所協助。
1)安裝agent用戶端
首先分享一下我寫的自動化安裝Windows機器的agentd安裝指令碼zabbix_agentd_install_windows.bat。
@echo offcolor fdcd #IP from Zabbix Server or proxy where data should be send to.Set zabbix_server_ip=IPecho Creating zabbix install dirmkdir c:\zabbixmkdir c:\zabbix\confmkdir c:\zabbix\binmkdir c:\zabbix\logmkdir c:\zabbix\install_fileecho Copying Zabbix install filexcopy \\共用伺服器IP\Share\zabbix_agents_2.2.1.win c:\zabbix\install_file /scopy /y C:\zabbix\install_file\conf\zabbix_agentd.win.conf C:\zabbix\confecho Modiy zabbix configuration filesecho LogFile=c:\zabbix\log\zabbix_agentd.log >> C:\zabbix\conf\zabbix_agentd.win.confecho Server=%zabbix_server_ip% >> C:\zabbix\conf\zabbix_agentd.win.confecho Hostname=%COMPUTERNAME% >> C:\zabbix\conf\zabbix_agentd.win.confecho StartAgents=10 >> C:\zabbix\conf\zabbix_agentd.win.confecho Timeout=30 >> C:\zabbix\conf\zabbix_agentd.win.confecho echo Copy zabbix start-up fileif %processor_architecture% EQU x86 copy /y C:\zabbix\install_file\bin\win32 C:\zabbix\binif %processor_architecture% EQU AMD64 copy /y C:\zabbix\install_file\bin\win64 C:\zabbix\binecho start zabbix servicC:\zabbix\bin\zabbix_agentd.exe -i -c C:\zabbix\conf\zabbix_agentd.win.confecho start zabbix servicesnet start "Zabbix Agent"echo set zabbix service autosc config "Zabbix Agent" start= autoecho Zabbix agentd Configuration and Install Successful
如果監控Winows機器有上百台,用上面的安裝指令碼安裝效率是提升了很多,但還是不夠理想,下面給大家分享一個小工具(http://technet.microsoft.com/en-us/Sysinternals/bb897553.aspx)。
PsExec工具類似於Telnet,並且不需要在遠端存取伺服器上面安裝用戶端軟體即可執行安裝程式,批量執行安裝指令碼,絕對不比Shell指令碼遜色。下面看看其用法:
Usage: psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]只需知道以下幾個命令即可:@file PsExec遠程執行主機列表,如IP地址,主機名稱。-u 指定用於登入遠端電腦的可選使用者名稱。-p 指定使用者名稱的密碼。-c 指定的程式複製到遠程系統來執行,即安裝指令碼。
執行個體:
PsExec.exe @ComputerList.txt -u "sfzhang" –c zabbix_agentd_install_windows.bat
2)擷取監控效能指標
Zabbix監控windows常見的KEY可以參考官方文檔(https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent/win_keys):
其中最常用的KEY是perf_counter[counter,<interval>],可以擷取windows效能監控器的資料。Windows效能監控器的資料可以通過typeperf擷取,可以把所有的效能監控器裡資料重新導向到文字檔裡面查看typeperf -qx > win2003_Performance.txt。下面是擷取windows CPU使用率。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/47/AA/wKioL1P9k-biGWm2AAJLWHx7g0Y757.jpg" title="1.jpg" alt="wKioL1P9k-biGWm2AAJLWHx7g0Y757.jpg" />
定義監控項的Key:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/47/A8/wKiom1P9lNPQGPUHAAK6QlMFj7I207.jpg" title="3.jpg" alt="wKiom1P9lNPQGPUHAAK6QlMFj7I207.jpg" />
定義觸發器trigger,5分鐘之內如果CPU使用率大於85%則警示。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/47/AA/wKioL1P9lsqzULlbAAGksTMDktI188.jpg" title="1.jpg" alt="wKioL1P9lsqzULlbAAGksTMDktI188.jpg" />
3)效能指標的展示
CPU利用率,CPU和disk Idle time。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/47/AB/wKioL1P9mjjQ7bhaAATmKuRONPQ124.jpg" title="1.jpg" alt="wKioL1P9mjjQ7bhaAATmKuRONPQ124.jpg" />
4)Zabbix監控windows網卡流量,zabbix 監控windows網卡流是監控所有介面的流量。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/47/AB/wKioL1P9nhjyMW3IAAbFdIg_k-A944.jpg" title="1.jpg" alt="wKioL1P9nhjyMW3IAAbFdIg_k-A944.jpg" />
使用Zabbix Macro能解決監控本地網卡的需求。其中IPADDRESS就是Zabbix Macro,表示被監控機的IP地址,用下面Key即可取到進出流量。
net.if.in[{IPADDRESS},bytes]
net.if.out[{IPADDRESS},bytes]
5)其它效能指標:
物理磁碟的讀回應時間:perf_counter["\PhysicalDisk(_Total)\Avg. Disk sec/Read"]
物理磁碟的寫回應時間:perf_counter["\PhysicalDisk(_Total)\Avg. Disk sec/Write"]
記憶體的使用百分率:vm.memory.size[pused]
CPU負載:system.cpu.load[all,avg1]
總結:Zabbix內建監控Windows機器模板裡面監控指標很少,很多指標需要最佳化,並且需要通過Windows效能監控器擷取資料,無論是系統層面(負載,記憶體利用率等)還是應用程式層面(IIS,SQLserver等)的指標都可以擷取到。
本文出自 “樸實的追夢者” 部落格,請務必保留此出處http://sfzhang88.blog.51cto.com/4995876/1545761
Zabbix如何監控Windows機器