Can you show me some example command lines?
The checks shown on this page are generated using the –iexample=1 parameter.
A valid -H HOSTNAME -u USER and -p PASSWORD must also be passed on the command line.
The examples are run against a machine (which is not very busy) running Windows Server 2008 R2, IIS v7, SQL Express 2008 and Exchange 2010.
Lets Start Easy
Show the version and basic command line help
Command: check_wmi_plus.pl -H HOST -u USER -p PASS --version
Output : Version: 1.51
Some of the following commands need at least 2 WMI data samples. If the command output shows Collecting first WMI sample because the previous state data file (/tmp/cwpss_somefilename.state) contained no data. Results will be shown the next time the plugin runs.
then you need to run the command a second time to see the output.
The plugin output is colour coded as follows:
Plugin display output
Warning/Critical trigger information
Performance Data
Check CPU utilisation
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkcpu
Output : OK (Sample Period 58 sec) - Average CPU Utilisation 3.10%|'Avg CPU Utilisation'=3.10%;
If you take a look at the –help output for checkcpu you can see that the only valid Warning/Critical Field is _AvgCPU, so you do not even need to specify it. So the command for going warning above 1% and critical above 90% is:
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkcpu -w 1 -c 90
Output : WARNING (Sample Period 0 sec) - [Triggered by _AvgCPU>1] - Average CPU Utilisation 7.69%|'Avg CPU Utilisation'=7.69%;1;90;
The Built-in Checks
Check the CPU Queue
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkcpuq
Output : OK - Average CPU Queue Length 0.3 (3 points with 1 sec delay gives values: 0, 1, 0)|'Avg CPU Queue Length'=0.3;
Check the CPU Queue 5 times as fast as possible (0 seconds apart)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkcpuq -a 5 -y 0
Output : OK - Average CPU Queue Length 0.6 (5 points with 0 sec delay gives values: 1, 0, 0, 1, 1)|'Avg CPU Queue Length'=0.6;
Check the drive size of C:
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkdrivesize -a c:
Output : OK - C: Total=99.90GB, Used=13.09GB (13.1%), Free=86.81GB (86.9%) |'C: Space'=13.09GB; 'C: Utilisation'=13.1%;
Check the drive size of all drives, use volume names and include an overall total
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkdrivesize -o 1 -3 1
Output : OK - Overall Disk Total=99.90GB, Used=13.09GB (13.1%), Free=86.81GB (86.9%) |'Overall Disk Space'=13.09GB; 'Overall Disk Utilisation'=13.1%;
Check the system event log for the last 1 hour for warnings and errors
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkeventlog
Output : OK - 0 event(s) of at least Severity Level "Error", were recorded in the last 1 hours from the System Event Log.|'Event Count'=0;
Check the Application event log for errors only (hence the -o 2) for the past 4 hours
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkeventlog -a application -o 2 -3 4
Output : OK - 0 event(s) of at least Severity Level "Warning", were recorded in the last 4 hours from the application Event Log.|'Event Count'=0;
Check the file age of c:/pagefile.sys and warn if it is older 10 minutes, go critical if less than 30 minutes
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkfileage -a c:/pagefile.sys -w 10min -c 30min:
Output : WARNING - [Triggered by _FileAge>10min] - Age of File c:/pagefile.sys is 1236 days 09:00:26 (1780380min) or 29673.01hr(s).|'c:/pagefile.sys Age'=29673.01hr;0.166666666666667;0.5;
Check the size of c:/pagefile.sys, warn if it is more than 1500MB and go critical if larger than 2GB
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkfilesize -a c:/pagefile.sys -w 1500m -c 2g
Output : OK - File c:/pagefile.sys is 1.000GB. Found 1 instance(s).|'c:/pagefile.sys Size'=1073741824bytes;1572864000;2147483648; 'File Count'=1;
show the size of the files in c:/ (do not include sub directories)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkfoldersize -a c:/
Output : OK - Folder c:/ is 1.000GB. Found 2 files(s). (List is on next line)|'c:/ Size'=1073792186bytes; 'File Count'=2; The file(s) found are c:\pagefile.sys
c:\wmiexplorer.ps1
Check the RAM utilisation
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkmem
Output : OK - Physical Memory: Total: 0.976GB - Used: 0.897GB (92%) - Free: 0.079GB (8%)|'Physical Memory Used'=963153920Bytes; 'Physical Memory Utilisation'=92%;
Check the RAM utilisation, warn if more than 40% utilised, go critical of more than 90%
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkmem -w 40 -c 90
Output : CRITICAL - [Triggered by _MemUsed%>90] - Physical Memory: Total: 0.976GB - Used: 0.897GB (92%) - Free: 0.079GB (8%)|'Physical Memory Used'=963174400Bytes; 'Physical Memory Utilisation'=92%;40;90;
Check the RAM utilisation, warn if less than 70% is free
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkmem -w _MemFree%=70:
Output : WARNING - [Triggered by _MemFree%<70] - Physical Memory: Total: 0.976GB - Used: 0.897GB (92%) - Free: 0.079GB (8%)|'Physical Memory Used'=963178496Bytes; 'Physical Memory Utilisation'=92%;
List valid network adapters for checknetwork
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checknetwork
Output : No Network Interfaces specified. Valid Interface Names are:
Intel[R] PRO_1000 MT Network Connection, LAN0, (192.168.3.201,fe80::79ad:8819:1156:9eaf), 00:0C:29:7C:1D:BC
Intel[R] PRO_1000 MT Network Connection _2, LAN1, (10.1.0.1,fe80::905c:856d:aa31:8fff), 00:0C:29:7C:1D:C6
isatap.lambert.rd.to, , ,
Teredo Tunneling Pseudo-Interface, , ,
isatap.{53B0E612-FFAF-4126-AFC5-A5322389AD44}, , ,
Specify the -a parameter with an adapter name. Use ' ' around the adapter name.
Check the network stats for the ‘LAN0’ interface (might not be valid for your system).
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checknetwork -a LAN0
Output : OK (Sample Period 59 sec) - Number of Interfaces=1. Interface Details - OK - Interface:LAN0, IP Address:(192.168.3.201,fe80::79ad:8819:1156:9eaf), MAC Address 00:0C:29:7C:1D:BC, Speed:1.000Gbit/s, DHCPEnabled=True, Byte Send Rate=0.018MB/sec, Byte Receive Rate=5.159KB/sec, Packet Send Rate=29.000packet/sec, Packet Receive Rate=37.000packet/sec, Output Queue Length=0, Packets Received Errors=0 |'LAN0 BytesSentPersec'=18143; 'LAN0 BytesReceivedPersec'=5159; 'LAN0 PacketsSentPersec'=29; 'LAN0 PacketsReceivedPersec'=37; 'LAN0 OutputQueueLength'=0; 'LAN0 PacketsReceivedErrors'=0;
Check the size of all page files using automatic warning and critical settings
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkpage -a auto -o .
Output : Overall Status - OK. Individual Page Files Detail: OK - C:\pagefile.sys Total: 1.000GB - Used: 0.153GB (15%) - Free: 0.847GB (85%), Peak Used: 0.168GB (17%) - Peak Free: 0.832GB (83%) |'C:\pagefile.sys Page File Size'=1073741824Bytes; 'C:\pagefile.sys Used'=164626432Bytes; 'C:\pagefile.sys Utilisation'=15%; 'C:\pagefile.sys Peak Used'=180355072Bytes; 'C:\pagefile.sys Peak Utilisation'=17%;
Check for all the processes whose Name matches svchost
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkprocess -a svchost
Output : OK - Found 16 Instance(s) of "svchost" running (0 excluded). (List is on next line)|'Process Count'=16; 'Excluded Process Count'=0; The process(es) found are 15x svchost.exe, SMSvcHost.exe
Check for all the processes whose Name matches svchost, display the full Commandline and warn if there are more than 4 of them
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkprocess -a svchost -o comm -w 4
Output : WARNING - [Triggered by _ItemCount>4] - Found 16 Instance(s) of "svchost" running (0 excluded). (List is on next line)|'Process Count'=16;4; 'Excluded Process Count'=0; The process(es) found are C:\Windows\system32\svchost.exe -k DcomLaunch, C:\Windows\system32\svchost.exe -k RPCSS, C:\Windows\System32\svchost.exe -k LocalServiceNetworkRestricted, C:\Windows\system32\svchost.exe -k netsvcs, C:\Windows\system32\svchost.exe -k LocalService, C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted, C:\Windows\system32\svchost.exe -k NetworkService, C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork, C:\Windows\system32\svchost.exe -k apphost, C:\Windows\system32\svchost.exe -k DHCPServer, "C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\SMSvcHost.exe", C:\Windows\system32\svchost.exe -k regsvc, C:\Windows\system32\svchost.exe -k iissvcs, C:\Windows\System32\svchost.exe -k termsvcs, C:\Windows\system32\svchost.exe -k NetworkServiceNetworkRestricted, C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation
Check for all the processes whose Commandline matches C:/Windows/system32/svchost.exe, display the full Commandline and exclude any of them that contain the string ‘serv’
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkprocess -s comm -a C:/Windows/system32/svchost.exe -o comm -3 serv
Output : OK - Found 8 Instance(s) of "C:/Windows/system32/svchost.exe" running (7 excluded). (List is on next line)|'Process Count'=8; 'Excluded Process Count'=7; The process(es) found are C:\Windows\system32\svchost.exe -k DcomLaunch, C:\Windows\system32\svchost.exe -k RPCSS, C:\Windows\system32\svchost.exe -k netsvcs, C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted, C:\Windows\system32\svchost.exe -k apphost, C:\Windows\system32\svchost.exe -k regsvc, C:\Windows\system32\svchost.exe -k iissvcs, C:\Windows\System32\svchost.exe -k termsvcs
Check the all automatially started services are running OK. Warn if there is more than zero not OK, go critical if there is more than 1 not OK
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkservice -a auto -w 0 -c 1
Output : WARNING - [Triggered by _NumBad>0] - Found 55 Services(s), 54 OK and 1 with problems (0 excluded). 'Windows Licensing Monitoring Service' (WLMS) is Stopped.|'Total Service Count'=55; 'Service Count OK State'=54; 'Service Count Problem State'=1;0;1; 'Excluded Service Count'=0;
Check all services with the string ‘windows’ in the short or long name
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkservice -a windows
Output : OK - Found 20 Services(s), 9 OK and 11 with problems (0 excluded). 'Windows Audio Endpoint Builder' (AudioEndpointBuilder) is Stopped, 'Windows Audio' (AudioSrv) is Stopped, 'Windows Event Log' (eventlog) is Running, 'Windows Font Cache Service' (FontCache) is Running, 'Windows Presentation Foundation Font Cache 3.0.0.0' (FontCache3.0.0.0) is Stopped, 'Windows CardSpace' (idsvc) is Stopped, 'Windows Firewall' (MpsSvc) is Running, 'Windows Installer' (msiserver) is Stopped, 'Windows Modules Installer' (TrustedInstaller) is Running, 'Windows Time' (W32Time) is Running, 'Windows Process Activation Service' (WAS) is Running, 'Windows Color System' (WcsPlugInService) is Stopped, 'Windows Event Collector' (Wecsvc) is Stopped, 'Windows Error Reporting Service' (WerSvc) is Stopped, 'Windows Management Instrumentation' (Winmgmt) is Running, 'Windows Remote Management (WS-Management)' (WinRM) is Running, 'Windows Licensing Monitoring Service' (WLMS) is Stopped, 'Microsoft Exchange Server Extension for Windows Server Backup' (wsbexchange) is Stopped, 'Windows Update' (wuauserv) is Running, 'Windows Driver Foundation - User-mode Driver Framework' (wudfsvc) is Stopped.|'Total Service Count'=20; 'Service Count OK State'=9; 'Service Count Problem State'=11; 'Excluded Service Count'=0;
Check SMART status of all drives on the system.
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checksmart -H gold
Output : Overall Status - OK - Found 2 Disks(s), 2 OK and 0 failing |'5FB9WFRP_Reallocated_Sector_Count'=2; '5FB9WFRP_Power_On_Hours'=18836; '5FB9WFRP_Power_Cycle_Count'=1532; '5FB9WFRP_Temperature'=48; '5FB9WFRP_Current_Pending_Sector'=2; '5FB9WFRP_Offline_Uncorrectable'=0; 'Disk#1_Reallocated_Sector_Count'=17; 'Disk#1_Power_On_Hours'=23056; 'Disk#1_Power_Cycle_Count'=2289; 'Disk#1_Temperature'=44; 'Disk#1_Current_Pending_Sector'=0; 'Disk#1_Offline_Uncorrectable'=15; OK - Dev#0, ST340810 A SCSI Disk Device, Serial#5FB9WFRP, PredictFailure=False, Temperature=48
OK - Dev#1, Maxtor 6 Y120P0 SCSI Disk Device, Serial#(null), PredictFailure=False, Temperature=44
Check all services with the string ‘windows’ in the short or long name, exclude any that have ‘audio’ in them
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkservice -a windows -o audio
Output : OK - Found 18 Services(s), 9 OK and 9 with problems (2 excluded). 'Windows Event Log' (eventlog) is Running, 'Windows Font Cache Service' (FontCache) is Running, 'Windows Presentation Foundation Font Cache 3.0.0.0' (FontCache3.0.0.0) is Stopped, 'Windows CardSpace' (idsvc) is Stopped, 'Windows Firewall' (MpsSvc) is Running, 'Windows Installer' (msiserver) is Stopped, 'Windows Modules Installer' (TrustedInstaller) is Running, 'Windows Time' (W32Time) is Running, 'Windows Process Activation Service' (WAS) is Running, 'Windows Color System' (WcsPlugInService) is Stopped, 'Windows Event Collector' (Wecsvc) is Stopped, 'Windows Error Reporting Service' (WerSvc) is Stopped, 'Windows Management Instrumentation' (Winmgmt) is Running, 'Windows Remote Management (WS-Management)' (WinRM) is Running, 'Windows Licensing Monitoring Service' (WLMS) is Stopped, 'Microsoft Exchange Server Extension for Windows Server Backup' (wsbexchange) is Stopped, 'Windows Update' (wuauserv) is Running, 'Windows Driver Foundation - User-mode Driver Framework' (wudfsvc) is Stopped.|'Total Service Count'=18; 'Service Count OK State'=9; 'Service Count Problem State'=9; 'Excluded Service Count'=2;
Check the uptime and warn if it is less than 20 minutes, go critical if it is less than 10 minutes (and just so it will always show a warning for this example add -w 1min)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkuptime -w 10min: -c 20min: -w 1min
Output : WARNING - [Triggered by _UptimeSec>1min] - System Uptime is 00:51:39 (51min).|'Uptime Minutes'=51min;1;20;
Some Example Ini File Checks
Only some of the checks from the ini files have been included. There are lots more.
Check DHCP stats. Warn if the active queue length exceeds 2
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkdhcp -s stats -w ActiveQueueLength=2
Output : OK (Sample Period 60 sec) - _AcksPersec=0.0, ActiveQueueLength=0, ConflictCheckQueueLength=0, Deniedduetomatch=0, Deniedduetononmatch=0, _DeclinesPersec=0.0, _DiscoversPersec=0.0, _OffersPersec=0.0, _PacketsReceivedPersec=0.0, _ReleasesPersec=0.0, _RequestsPersec=0.0|'_AcksPersec'=0.0; 'ActiveQueueLength'=0;2; 'ConflictCheckQueueLength'=0; 'Deniedduetomatch'=0; 'Deniedduetononmatch'=0; '_DeclinesPersec'=0.0; '_DiscoversPersec'=0.0; '_OffersPersec'=0.0; '_PacketsReceivedPersec'=0.0; '_ReleasesPersec'=0.0; '_RequestsPersec'=0.0;
Check the number of DNS A records defined
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkdns -s arecords
Output : OK - Number of DNS A Records=48|'DNS A Record Count'=48;
Check utilisation of each CPU, rather than just the overall total, warn if any of them goes above 5% utilisation
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkeachcpu -w 5
Output : WARNING (Sample Period 59 sec) - [Triggered by _AvgCPU>5] - CPU0=5.2% CPU1=2.5% CPU_Total=3.9% |'Avg Utilisation CPU0'=5.2%;5; 'Avg Utilisation CPU1'=2.5%;5; 'Avg Utilisation CPU_Total'=3.9%;5;
List Exchange DB Instances (needs at least Information Store and Transport services running)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkexchange -s listDBInstances
Output : Number of Instances=3. DB Instance Names - 'edgetransport/_Total' SessionsInUse=13, 'edgetransport/Transport Mail Database' SessionsInUse=7, 'edgetransport/IP Filtering Database' SessionsInUse=6, |'DB Instance Count'=3; 'edgetransport/_Total Sessions in use'=13; 'edgetransport/Transport Mail Database Sessions in use'=7; 'edgetransport/IP Filtering Database Sessions in use'=6;
Check Exchange stats for any database name ending in _Total
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkexchange -s DBInstances -a %_total
Output : Overall Status - OK (Sample Period 60 sec) - Transport Name="edgetransport/_Total" (OK) - _DatabaseCachePercentHit=0, DatabaseCacheSizeMB=1, _DatabaseCacheRequestsPersec=1, _DatabaseCacheMissesPersec=0, _IODatabaseReadsAverageLatency=0ms, _IODatabaseWritesAverageLatency=0ms, _IOLogReadsAverageLatency=0ms, _IOLogWritesAverageLatency=0ms, _IODatabaseReadsPersec=0, _IODatabaseWritesPersec=0, _IOLogReadsPersec=0, _IOLogWritesPersec=0, _LogBytesWritePersec=0, SessionsInUse=13, _TableOpenCachePercentHit=0, TablesOpen=3, _TableOpensPersec=0|'_DatabaseCachePercentHit'=0; 'DatabaseCacheSizeMB'=1; '_DatabaseCacheRequestsPersec'=1; '_DatabaseCacheMissesPersec'=0; '_IODatabaseReadsAverageLatency'=0ms; '_IODatabaseWritesAverageLatency'=0ms; '_IOLogReadsAverageLatency'=0ms; '_IOLogWritesAverageLatency'=0ms; '_IODatabaseReadsPersec'=0; '_IODatabaseWritesPersec'=0; '_IOLogReadsPersec'=0; '_IOLogWritesPersec'=0; '_LogBytesWritePersec'=0; 'SessionsInUse'=13; '_TableOpenCachePercentHit'=0; 'TablesOpen'=3; '_TableOpensPersec'=0;
Check Exchange SMTP Receive states for all transports (_Total)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkexchange -s SmtpReceive -a _total
Output : Overall Status - OK (Sample Period 60 sec) - Transport Name="_total" (OK) - _BytesReceivedPersec=0.000/sec, _ConnectionsCreatedPersec=0.000/sec, _DisconnectionsbyAgentsPersecond=0.000/sec, _MessageBytesReceivedPersec=0.000/sec, _MessagesReceivedPersec=0.000/sec, AveragebytesPerconnection_Base=0.000, AveragebytesPermessage=0.000, AveragebytesPermessage_Base=0.000, AveragemessagesPerconnection=0.000, AveragemessagesPerconnection_Base=0.000, AveragerecipientsPermessage=0.000, AveragerecipientsPermessage_Base=0.000, BytesReceivedTotal=0.000, ConnectionsTotal=0.000, Frequency_PerfTime=3.414M, MessageBytesReceivedTotal=0.000, MessagesReceivedTotal=0.000, RecipientsacceptedTotal=0.000, TarpittingDelaysAnonymous=0.000|'_BytesReceivedPersec'=0; '_ConnectionsCreatedPersec'=0; '_DisconnectionsbyAgentsPersecond'=0; '_MessageBytesReceivedPersec'=0; '_MessagesReceivedPersec'=0; 'BytesReceivedTotal'=0; 'MessageBytesReceivedTotal'=0; 'MessagesReceivedTotal'=0; 'RecipientsacceptedTotal'=0;
Check IIS Connection stats for all web sites
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkiis -s connections -a _total
Output : OK (Sample Period 60 sec) - Site Name="_Total", CurrentConnections=0.000, _ConnectionAttemptsPersec=0.000/sec|'CurrentConnections'=0; '_ConnectionAttemptsPersec'=0;
Check IIS Request stats and warn if the POST Requests per second exceeds 10 for the testsite
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkiis -s requests -a TestSite -w _PostRequestsPersec=10
Output : OK (Sample Period 60 sec) - Site Name="TESTSite", _GetRequestsPersec=0.000/sec, _HeadRequestsPersec=0.000/sec, _PostRequestsPersec=0.000/sec, _PropfindRequestsPersec=0.000/sec, _PutRequestsPersec=0.000/sec, _ISAPIExtensionRequestsPersec=0.000/sec, TotalGetRequests=0.000, TotalHeadRequests=0.000, TotalPostRequests=0.000, TotalPropfindRequests=0.000, TotalPutRequests=0.000, TotalISAPIExtensionRequests=0.000|'_GetRequestsPersec'=0; '_HeadRequestsPersec'=0; '_PostRequestsPersec'=0;10; '_PropfindRequestsPersec'=0; '_PutRequestsPersec'=0; '_ISAPIExtensionRequestsPersec'=0; 'TotalGetRequests'=0; 'TotalHeadRequests'=0; 'TotalPostRequests'=0; 'TotalPropfindRequests'=0; 'TotalPutRequests'=0; 'TotalISAPIExtensionRequests'=0;
Check the IO of the logical drive C:, warn if the current disk queue length is more than 10
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkio -s logical -a c: -w CurrentDiskQueueLength=10
Output : Overall Status - OK (Sample Period 59 sec) - Logical Drive Name="C:" (OK) - _PercentIdleTime=90%, _PercentBusyTime=10%, _PercentDiskTime=14%, _PercentDiskReadTime=0%, _PercentDiskWriteTime=13%, _DiskReadBytesPersec=6.480KB/sec, _DiskReadsPersec=1.000/sec, _DiskWriteBytesPersec=6.062KB/sec, _DiskWritesPersec=1.000/sec, CurrentDiskQueueLength=1, _AvgDiskQueueLength=0.1, _AvgDiskReadQueueLength=0.0, _AvgDiskWriteQueueLength=0.1|'_PercentIdleTimeC:'=90; '_PercentBusyTimeC:'=10; '_PercentDiskTimeC:'=14; '_PercentDiskReadTimeC:'=0; '_PercentDiskWriteTimeC:'=13; '_DiskReadBytesPersecC:'=6636; '_DiskReadsPersecC:'=1; '_DiskWriteBytesPersecC:'=6208; '_DiskWritesPersecC:'=1; 'CurrentDiskQueueLengthC:'=1;10; '_AvgDiskQueueLengthC:'=0.1; '_AvgDiskReadQueueLengthC:'=0.0; '_AvgDiskWriteQueueLengthC:'=0.1;
Check the IO of the physical drive C: (may be different to the logical C:)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkio -s physical -a c:
Output : Overall Status - OK (Sample Period 59 sec) - Physical Drive Name="0 C:" (OK) - _PercentIdleTime=90%, _PercentBusyTime=10%, _PercentDiskTime=14%, _PercentDiskReadTime=0%, _PercentDiskWriteTime=14%, _DiskReadBytesPersec=6.474KB/sec, _DiskReadsPersec=1.000/sec, _DiskWriteBytesPersec=6.192KB/sec, _DiskWritesPersec=1.000/sec, CurrentDiskQueueLength=0, _AvgDiskQueueLength=0.1, _AvgDiskReadQueueLength=0.0, _AvgDiskWriteQueueLength=0.1|'_PercentIdleTime0 C:'=90; '_PercentBusyTime0 C:'=10; '_PercentDiskTime0 C:'=14; '_PercentDiskReadTime0 C:'=0; '_PercentDiskWriteTime0 C:'=14; '_DiskReadBytesPersec0 C:'=6629; '_DiskReadsPersec0 C:'=1; '_DiskWriteBytesPersec0 C:'=6341; '_DiskWritesPersec0 C:'=1; 'CurrentDiskQueueLength0 C:'=0; '_AvgDiskQueueLength0 C:'=0.1; '_AvgDiskReadQueueLength0 C:'=0.0; '_AvgDiskWriteQueueLength0 C:'=0.1;
Check the printer spooler, warn if OutofPaperErrors>0 (There are no printer servers running on this test machine!)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkprint -s spooler -w OutofPaperErrors=0
Output : WMI Query returned no data. The item you were looking for may NOT exist or the software that creates the WMI Class may not be running, or all data has been excluded.
Check CPU utilisation for some SQL server processes, warn if utilisation is more than 10% or if there are more than 2 processes
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkproc -s cpu -a %sql% -w 10 -w _ItemCount=2
Output : OK (Sample Period 59 sec) - Found 1 Instance(s) of "%sql%" running. CPU_sqlservr(PID=2220)=0.0% |'Process Count'=1;2; 'Avg Utilisation CPU_sqlservr'=0.0%;10;
Check for processes using more than 50% of the CPU. Include all processes with the string ‘serv’. Also warn if there are more than 2 of them found using more than 50%
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkproc -s cpuabove -a %serv% -w 50 -w _ItemCount=2
Output : WARNING (Sample Period 59 sec) - [Triggered by _ItemCount>2] - Total Process Count=5 (Process details on next line)\nWARNING - [Triggered by _ItemCount>2] - CPU for services (PID=468)=0.5%\nOK - CPU for Microsoft.ActiveDirectory.WebServices (PID=1268)=0.0%\nOK - CPU for ismserv (PID=1496)=0.0%\nOK - CPU for sqlservr (PID=2220)=0.0%\nOK - CPU for MSExchangeADTopologyService (PID=3764)=0.0%\n|'Process Count'=5;2;
List the SQL Express DB Instances
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checksql -s listdb -a MSSQLSQLEXPRESS_MSSQLSQLEXPRESS
Output : Overall Status - OK -Number of Databases=6. DB Names - tempdb, msdb, model, mssqlsystemresource, _Total, master,
Check SQL Express cache stats totals (use a different value for -a for SQL Server)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checksql -s cache -a MSSQLSQLEXPRESS_MSSQLSQLEXPRESS
Output : Overall Status - OK - Cache Type _Total (OK) - CacheHitRatio=0, CacheObjectCounts=0, CacheObjectsinuse=0, CachePages=204pages (Each Page is 8k). |'CacheHitRatio'=0; 'CacheObjectCounts'=0; 'CacheObjectsinuse'=0; 'CachePages'=204pages;
Check SQL Express latch stats (use a different value for -a for SQL Server)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checksql -s latches -a MSSQLSQLEXPRESS_MSSQLSQLEXPRESS
Output : OK (Sample Period 59 sec) - AverageLatchWaitTimems=5532ms, _LatchWaitsPersec=0, NumberofSuperLatches=0.000, _SuperLatchDemotionsPersec=0.000/sec, _SuperLatchPromotionsPersec=0.000/sec, TotalLatchWaitTimems=5532ms|'AverageLatchWaitTimems'=5532ms; '_LatchWaitsPersec'=0; 'NumberofSuperLatches'=0; '_SuperLatchDemotionsPersec'=0; '_SuperLatchPromotionsPersec'=0; 'TotalLatchWaitTimems'=5532ms;
Check the numbers of Terminal Services sessions
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkts -s sessions
Output : OK - ActiveSessions=1, InactiveSessions=2, TotalSessions=3|'ActiveSessions'=1; 'InactiveSessions'=2; 'TotalSessions'=3;
Check for users that do not require a password and warn if you find some, go OK of none found (–nodatamode)
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m checkusers -s count -a "PasswordRequired!='True'" --nodatamode -w 0
Output : WARNING - [Triggered by _ItemCount>0] - Number of Users=1 - User information shown on next line is: Name(FullName) \n Guest()|'Number of Users'=1;0;
Show the Operating System and Service Pack version, and the installation data. Warn if the installation is older than 2 years
Command: check_wmi_plus.pl -H HOST -u USER -p PASS -m info -s os -w 2yr
Output : WARNING - [Triggered by _InstallSec>2yr] - OS is Microsoft Windows Server 2008 R2 Datacenter , Service Pack 1, Installation Timestamp=20080116193016.000000+660 (1537.8 days old)|'OS Installation Age'=1537.8days;