之前给大家介绍了如何在centos与ubuntu系统下安装omsa硬件监控(地址是http://dl528888.blog.51cto.com/2382721/1403893),但windows下安装omsa没有介绍,很多朋友咨询如何在windows里安装omsa,并使用zabbix进行硬件监控,现在我在给大家介绍一下。
1、windows系统安装omsa
可以参考http://zh.community.dell.com/techcenter/systems-management/w/wiki/559.omsawindows.aspx
2、在客户端的zabbix_agentd.conf里配置
UserParameter=hardware_battery,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_battery UserParameter=hardware_cpu_model,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_cpu_model UserParameter=hardware_fan_health,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_fan_health UserParameter=hardware_memory_health,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_memory_health UserParameter=hardware_nic_health,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_nic_health UserParameter=hardware_cpu,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_cpu UserParameter=hardware_power_health,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_power_health UserParameter=hardware_temp,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_temp UserParameter=hardware_physics_health,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_physics_health UserParameter=hardware_virtual_health,c:\zabbix\bin\zabbix_monitor_hardware.bat hardware_virtual_health
3、在c:\zabbix\bin\里添加一个脚本,名字为zabbix_monitor_hardware.bat,可以在附件里下载,内容为
@echo off ::goto program goto %1 ::check hardware_battery :hardware_battery for /f "tokens=2 delims=:" %%b in ('omreport chassis batteries^|find /i "Health"') do set hardware_battery=%%b Set hardware_battery=%hardware_battery: =% if %hardware_battery% EQU Ok (set hardware_battery=1) else set hardware_battery=0 echo %hardware_battery% exit ::check hardware_cpu_model :hardware_cpu_model for /f "tokens=2 delims=:" %%b in ('omreport chassis biossetup^|find /i "C State"') do set hardware_cpu_crontol=%%b Set hardware_cpu_crontol=%hardware_cpu_crontol: =% if %hardware_cpu_crontol% EQU Enabled (set hardware_cpu_crontol=1) else set hardware_cpu_crontol=0 for /f "tokens=2 delims=:" %%b in ('omreport chassis biossetup^|findstr /i "C1[-|E]"') do set hardware_cpu_c1=%%b Set hardware_cpu_c1=%hardware_cpu_c1: =% if %hardware_cpu_c1% EQU Enabled (set hardware_cpu_c1=1) else set hardware_cpu_c1=0 if %hardware_cpu_crontol% == 1 if %hardware_cpu_c1% == 1 (set hardware_cpu_model=1) else set hardware_cpu_model=0 echo %hardware_cpu_model% exit ::check hardware_fan_health :hardware_fan_health for /f %%b in ('omreport chassis fans^|find /i /C "Index"') do set hardware_fan_number=%%b for /f %%b in ('omreport chassis fans^|find /i /C "Ok"') do set hardware_fan=%%b if %hardware_fan_number% == %hardware_fan% (set hardware_fan_health=1) else set hardware_fan_health=0 echo %hardware_fan_health% exit ::check hardware_memory_health :hardware_memory_health for /f "tokens=2 delims=:" %%b in ('omreport chassis memory^|find /i "Health"') do set hardware_memory=%%b Set hardware_memory=%hardware_memory: =% if %hardware_memory% EQU Ok (set hardware_memory_health=1) else set hardware_memory_health=0 echo %hardware_memory_health% exit ::check hardware_nic_health :hardware_nic_health for /f %%b in ('omreport chassis nics^|find /i /C "Interface Name"') do set hardware_nic_number=%%b for /f %%b in ('omreport chassis nics^|find /i /C "Connection Status"') do set hardware_nic=%%b if %hardware_nic_number% == %hardware_nic% (set hardware_nic_health=1) else set hardware_nic_health=0 echo %hardware_nic_health% exit ::check hardware_cpu :hardware_cpu for /f "tokens=2 delims=:" %%b in ('omreport chassis processors^|find /i "Health"') do set hardware_cpu=%%b Set hardware_cpu=%hardware_cpu: =% if %hardware_cpu% EQU Ok (set hardware_cpu=1) else set hardware_cpu=0 echo %hardware_cpu% exit ::check hardware_power_health :hardware_power_health for /f %%b in ('omreport chassis pwrsupplies^|find /i /C "Index"') do set hardware_power_number=%%b for /f %%b in ('omreport chassis pwrsupplies^|find /i /C "Ok"') do set hardware_power=%%b if %hardware_power_number% == %hardware_power% (set hardware_power_health=1) else set hardware_power_health=0 echo %hardware_power_health% exit ::check hardware_temp :hardware_temp for /f "tokens=2 delims=:" %%b in ('omreport chassis temps^|findstr /i "Status"') do set hardware_temp=%%b Set hardware_temp=%hardware_temp: =% if %hardware_temp% EQU Ok (set hardware_temp=1) else set hardware_temp=0 echo %hardware_temp% exit ::check hardware_physics_health :hardware_physics_health for /F %%b in ('omreport storage pdisk "controller=0"^|findstr /i "^State"^|find /i /C "State"') do set hardware_physics_disk_number=%%b for /F %%b in ('omreport storage pdisk "controller=0"^|find /i /C "Online"') do set hardware_physics_disk=%%b if %hardware_physics_disk_number% == %hardware_physics_disk% (set hardware_physics_health=1) else set hardware_physics_health=0 echo %hardware_physics_health% exit ::check hardware_virtual_health :hardware_virtual_health for /F %%b in ('omreport storage vdisk "controller=0"^|findstr /i "^State"^|find /i /C "State"') do set hardware_virtual_disk_number=%%b for /F %%b in ('omreport storage vdisk "controller=0"^|find /i /C "Ready"') do set hardware_virtual_disk=%%b if %hardware_virtual_disk_number% == %hardware_virtual_disk% (set hardware_virtual_health=1) else set hardware_virtual_health=0 echo %hardware_virtual_health% exit
这个脚本是bat脚本,使用bat脚本的原因是我这里有windows 2003、2008、2012系统,默认给与用户不允许安装其他环节,所以python、cygwin都不能安装,power shell在2003系统还不支持,所以只能使用bat了。
3、关联模板
把http://dl528888.blog.51cto.com/2382721/1403893里的模板导入到web里,然后主机管理模板即可。
监控windows的硬件信息如下图
如果大家有问题可以直接留言。