Sensu-Plugins-Windows
Functionality
These files provide basic Checks and Metrics for a Windows system.
Files
Ruby
- bin/check-windows-cpu-load.rb
- bin/check-windows-disk.rb
- bin/check-windows-process.rb
- bin/check-windows-processor-queue-length.rb
- bin/check-windows-ram.rb
- bin/check-windows-service.rb
- bin/metric-windows-cpu-load.rb
- bin/metric-windows-disk-usage.rb
- bin/metric-windows-network.rb
- bin/metric-windows-processor-queue-length.rb
- bin/metric-windows-ram-usage.rb
- bin/metric-windows-uptime.rb
- bin/powershell_helper.rb
Powershell
- bin/powershell/check-windows-cpu-load.ps1
- bin/powershell/check-windows-disk.ps1
- bin/powershell/check-windows-disk-writeable.ps1
- bin/powershell/check-windows-pagefile.ps1
- bin/powershell/check-windows-process.ps1
- bin/powershell/check-windows-processor-queue-length.ps1
- bin/powershell/check-windows-ram.ps1
- bin/powershell/check-windows-service.ps1
- bin/powershell/metric-windows-cpu-load.ps1
- bin/powershell/metric-windows-disk-usage.ps1
- bin/powershell/metric-windows-network.ps1
- bin/powershell/metric-windows-processor-queue-length.ps1
- bin/powershell/metric-windows-ram-usage.ps1
- bin/powershell/metric-windows-uptime.ps1
- bin/powershell/check-windows-directory.ps1
- bin/powershell/check-windows-event-log.ps1
- bin/powershell/check-windows-log.ps1
Usage
Example 1:
Execute Powershell functions using the helper (No copy needed), see example below:
{
"checks": {
"cpu_percent": {
"command": "c:\\opt\\sensu\\embedded\\bin\\ruby C:\\opt\\sensu\\embedded\\bin\\powershell_helper.rb check-windows-ram.ps1 90 95",
"interval": 30,
"type": "check",
"handler": "win_metrics",
"subscribers": ["win_metrics"]
}
}
}
Example 2:
-
Copy either the Ruby or Powershell files on a Sensu Client, typically under C:\etc\sensu\plugins.
-
You should also include the full escaped path to the ruby interpreter in the check's command configuration, see example below:
{
"checks": {
"cpu_percent": {
"command": "c:\\opt\\sensu\\embedded\\bin\\ruby C:\\opt\\sensu\\etc\\plugins\\metric-windows-cpu-load.rb",
"interval": 30,
"type": "metric",
"handler": "win_metrics",
"subscribers": ["win_metrics"]
}
}
}
You should also include the full escaped path to the ruby interpreter in the check's command configuration, see example below:
{
"checks": {
"cpu_percent": {
"command": "c:\\opt\\sensu\\embedded\\bin\\ruby C:\\opt\\sensu\\etc\\plugins\\metric-windows-cpu-load.rb",
"interval": 30,
"type": "metric",
"handler": "win_metrics",
"subscribers": ["win_metrics"]
}
}
}
Dependencies
- Powershell checks require Powershell version 3.0 or higher.
Troubleshooting
- Failures to pull counter data with messages like below, might be due to corrupt performance counters. See Here for more information. Short answer on fix is
lodctr /R
in an Admin elevated command prompt
Check failed to run: undefined method length' for nil:NilClass, "c:/opt/sensu/plugins/check-windows-ram.rb:45:inacquire_ram_usage'", "c:/opt/sensu/plugins/check-windows-ram.rb:54:in run'", "c:/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.