1)安装agent客户端
首先分享一下用bat写的自动化安装Windows机器的agentd安装脚本。
@echo off
color fd
cd \
#IP from Zabbix Server or proxy where data should be send to.
Set zabbix_server_ip=IP
echo Creating zabbix install dir
mkdir c:\zabbix
mkdir c:\zabbix\conf
mkdir c:\zabbix\bin
mkdir c:\zabbix\log
mkdir c:\zabbix\install_file
echo Copying Zabbix install file
xcopy \\共享服务器IP\Share\zabbix_agents_2.2.1.win c:\zabbix\install_file /s
copy /y C:\zabbix\install_file\conf\zabbix_agentd.win.conf C:\zabbix\conf\
echo Modiy zabbix configuration files
echo LogFile=c:\zabbix\log\zabbix_agentd.log >>C:\zabbix\conf\zabbix_agentd.win.conf
echo Server=%zabbix_server_ip% >>C:\zabbix\conf\zabbix_agentd.win.conf
echo Hostname=%COMPUTERNAME% >>C:\zabbix\conf\zabbix_agentd.win.conf
echo StartAgents=10 >>C:\zabbix\conf\zabbix_agentd.win.conf
echo Timeout=30 >>C:\zabbix\conf\zabbix_agentd.win.conf
echo
echo Copy zabbix start-up file
if %processor_architecture% EQU x86 copy /y C:\zabbix\install_file\bin\win32 C:\zabbix\bin\
if %processor_architecture% EQU AMD64 copy /y C:\zabbix\install_file\bin\win64 C:\zabbix\bin\
echo start zabbix servic
C:\zabbix\bin\zabbix_agentd.exe -i -c C:\zabbix\conf\zabbix_agentd.win.conf
echo start zabbix services
net start "Zabbix Agent"
echo set zabbix service auto
sc config "Zabbix Agent" start= auto
echo Zabbix agentd Configuration and Install Successful
如果监控Winows机器有上百台,用上面的脚本安装agent效率是提升了很多,但还是不够理想,下面给大家分享一个小工具(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远程安装agent主机列表,如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使用率。
定义监控项的Key:
定义触发器trigger,5分钟之内如果CPU使用率大于85%则报警。
3)性能指标的展示
CPU利用率,CPU和disk Idle time。
4)Zabbix监控windows网卡流量,zabbix 监控windows网卡流是监控所有接口的流量。
使用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等)的指标都可以获取到。
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。我在网上查到的资料是
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
server运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。但未说明支持win7。
我又到官方网站查看:
Highly efficient Zabbix agents for UNIX and Windows (x32, x64, Itanium) based platforms provide wider monitoring capabilities with greater speed。
这里的 Windows (x32, x64, Itanium) based platforms是基于架构的意思,从这一点应该支持。
可以配置zabbix使用外部邮件服务器发送报警邮件,然后来随时监控邮件服务器,具体:1.进入Administration->Media types
配置如下,Script name 要与之前写的发邮件的脚本名字相同
3. 进入Configure->Actions
新建Action
可以修改默认的邮件内容,以下是我修改之后的邮件内容格式:
添加step,别忘了点Add按钮,点上面的Add,再点下面的Add免得添加出错,注意要选择发送邮件给哪一个用户;并选择刚才定义好的Media type名字。
Default operation step duration 表示这次发送邮件后,下一次发邮件是在多少秒之后。
以上我总共添加了三次发送邮件的Action,如果触发器出发了,一直没有人确认触发器,则会发三次邮件,添加完后结果如下图:
4.进入Administration->Users
下图为修改admin的登录密码:
点击Media再添加
Type选择Send alarm email(之前创建的Action),并填写接收的邮箱,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)