Zabbix企业应用之Windows系统安装OMSA硬件监控

1、Windows系统安装OMSA

可以参考 这里

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了。

监控Windows的硬件信息如下图

Zabbix企业应用之Windows系统安装OMSA硬件监控

如果大家有问题可以直接留言。

相关附件 zabbix_monitor_hardware.bat 下载

------------------------------------------分割线------------------------------------------

具体下载目录在 /2015年资料/5月/11日/Zabbix企业应用之Windows系统安装OMSA硬件监控/

------------------------------------------分割线------------------------------------------

一些Zabbix相关教程集合

ZABBIX 的详细介绍请点这里
ZABBIX 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2015-05/117340.htm