之前给大家介绍了如何在CentOS与Ubuntu系统下安装OMSA硬件监控(地址是 ),但Windows下安装OMSA没有介绍,很多朋友咨询如何在Windows里安装OMSA,并使用Zabbix进行硬件监控,现在我在给大家介绍一下。
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