Windows

Sensu Windows Plugins

Sensu-Plugins-Windows

Build Status Gem Version Code Climate Test Coverage Dependency Status Appveyor status Community Slack

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.

Installation

Installation and Setup

Get Integration

Stats

19 stars on GitHub
11 open issues on GitHub
39 open forks on GitHub

Sensu Integrations

Sensu integrations and extensions are available for dozens of modern applications and services.