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