Hi all,
I am inspired on cacti evaperf to monitor HP EVA Storage Array and i wrote an ini file for check_wmi_plus plugin. You can use it with Nagios, Shinken, Centreon Engine, Icinga…It’s a free and easy solution to monitor the HP EVA Storage Array
So I suppose check_wmi_plus plugin is installed on your monitoring engine and “Command View EVA” is installed and working on Windows Server.
The WMI Class used :
- Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup
- Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics
- Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection
- Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray
- Win32_PerfRawData_EVAPMEXT_HPEVAStorageController
You can test the “HP WMI Storage Providers” service is running
/bin/wmic -U "login"%"password" //Host 'Select Name from Win32_PerfRawData_EVAPMEXT_HPEVAStorageController'
If your wmic command gets you this :
ERROR: Retrieve result data.
Solution :
Stop Winmgmt service Restart HPWMISTOR service Start Winmgmt service
So, here my config file ini for check_wmi_plus : checkhpeva.ini
[checkhpeva listphysicaldiskgroup]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup
display=Name
[checkhpeva physicaldiskgroup]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup where Name="{_arg1}"
display=DriveLatencyus
display=DriveQueueDepth
display=ReadKBPers
display=ReadLatencyus
display=ReadReqPers
display=WriteKBPers
display=WriteLatencyus
display=WriteReqPers
perf=DriveLatencyus||DriveLatencyus
perf=DriveQueueDepth||DriveQueueDepth
perf=ReadKBPers|KB/s|ReadKBPers
perf=ReadLatencyus||ReadLatencyus
perf=ReadReqPers|/s|ReadReqPers
perf=WriteKBPers|KB/s|WriteKBPers
perf=WriteLatencyus||WriteLatencyus
perf=WriteReqPers|/s|WriteReqPers
[checkhpeva listhostportstatistics]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics
display=Name|#
[checkhpeva hostportstatistics]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics where Name="{_arg1}"
display=AvQueueDepth
display=ReadKBPers
display=ReadLatencyus
display=ReadReqPers
display=WriteKBPers
display=WriteLatencyus
display=WriteReqPers
perf=AvQueueDepth||AvQueueDepth
perf=ReadKBPers|KB/s|KB_Read_From_Cache_Per_Second
perf=ReadLatencyus||ReadLatencyus
perf=ReadReqPers|/s|ReadReqPers
perf=WriteKBPers|KB/s|KB_Write_Per_Second
perf=WriteLatencyus||WriteLatencyus
perf=WriteReqPers|/s|WriteReqPers
[checkhpeva listhostconnection]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection
display=Name|#
[checkhpeva hostconnection]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection where Name="{_arg1}"
display=QueueDepth
perf=QueueDepth||{Name} Average_Queue_Depth
[checkhpeva liststoragearray]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray
display=Name|#
[checkhpeva storagearray]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray where Name="{_arg1}"
display=TotalhostKBPers
display=TotalhostReqPers
perf=TotalhostKBPers|KB/s|Total_Host_KB_Per_Second
perf=TotalhostReqPers|/s|Total_Host_Requests_Per_Second
[checkhpeva liststoragecontroller]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageController
display=Name|#
[checkhpeva storagecontroller]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageController where Name="{_arg1}"
display=PercentDataTransferTime
display=PercentProcessorTime
perf=PercentDataTransferTime|%|PercentDataTransferTime
perf=PercentProcessorTime|%|PercentProcessorTime
[checkhpeva listvirtualdisk]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAVirtualDisk
display=Name|#
[checkhpeva virtualdisk]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAVirtualDisk where Name like "%{_arg1}%"
display=ReadHitKBPers
display=ReadHitLatencyus
display=ReadHitReqPers
display=ReadMissKBPers
display=ReadMissLatencyus
display=ReadMissReqPers
display=WriteKBPers
display=WriteLatencyus
display=WriteReqPers
perf=ReadHitKBPers|KB/s|ReadHitKBPers
perf=ReadHitLatencyus||ReadHitLatencyus
perf=ReadHitReqPers|/s|ReadHitReqPers
perf=ReadMissKBPers|KB/s|ReadMissKBPers
perf=ReadMissLatencyus||ReadMissLatencyus
perf=ReadMissReqPers|/s|ReadMissReqPers
perf=WriteKBPers|KB/s|WriteKBPers
perf=WriteLatencyus||WriteLatencyus
perf=WriteReqPers|/s|WriteReqPers
Save checkhpeva.ini file in check_wmi_plus.d directory. FYI, I dont want to be able the test on warn/critical criteria. it is an improvement to do 🙂
Create Nagios command :
define command{
command_name check_hpeva_hostconnection
command_line $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s allhostconnection -a $ARG3$
;$ARG1$ Compte
;$ARG2$ Mot de passe
;$ARG3$ physicaldiskgroup
}
define command{
command_name check_hpeva_hostportstatistics
command_line $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s hostportstatistics -a $ARG3$
;$ARG1$ Compte
;$ARG2$ mot de passe
;$ARG3$ hostportstatistics
}
define command{
command_name check_hpeva_physicaldiskgroup
command_line $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s physicaldiskgroup -a $ARG3$
;$ARG1$ Compte
;$ARG2$ Mot de passe
;$ARG3$ physicaldiskgroup
}
define command{
command_name check_hpeva_storagearray
command_line $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s storagearray -a $ARG3$
;$ARG1$ Compte
;$ARG2$ Mot de passe
;$ARG3$ storagearray
}
define command{
command_name check_hpeva_storagecontroller
command_line $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s storagecontroller -a $ARG3$
;command_example !Administrateur!mdp!exemple
;$ARG2$ Mot de passe
;$ARG3$ storagecontroller
}
define command{
command_name check_hpeva_virtualdisk
command_line $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s virtualdisk -a $ARG3$
;$ARG1$ Compte
;$ARG2$ Mot de passe
;$ARG3$ storagearray
}
Read this PDF here for more informations on wmi counter.
Screenshoot : Create services and you can display graph with pnp4nagios or Centreon








