之前给大家介绍了如何在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里配置
1
2
3
4
5
6
7
8
9
10
|
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,可以在附件里下载,内容为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
@
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的硬件信息如下图
如果大家有问题可以直接留言。
附件:http://down.51cto.com/data/2364497
本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1421335,如需转载请自行联系原作者