Sha256: 713af0d5d140b471d2c4b069bd68da0d419debd600e4032d8cea1124392b419e

Contents?: true

Size: 1.56 KB

Versions: 10

Compression:

Stored size: 1.56 KB

Contents

#
#   metric-windows-disk-usage.ps1
#
# DESCRIPTION:
#   This plugin collects and outputs Disk Usage metrics in a Graphite acceptable format.
#
# OUTPUT:
#   metric data
#
# PLATFORMS:
#   Windows
#
# DEPENDENCIES:
#   Powershell
#
# USAGE:
#   Powershell.exe -NonInteractive -NoProfile -ExecutionPolicy Bypass -NoLogo -File C:\\etc\\sensu\\plugins\\metric-windows-disk-usage.ps1
#
# NOTES:
#
# LICENSE:
#   Copyright 2016 sensu-plugins
#   Released under the same terms as Sensu (the MIT license); see LICENSE for details.
#

param(
    [switch]$UseFullyQualifiedHostname
    )

$ThisProcess = Get-Process -Id $pid
$ThisProcess.PriorityClass = "BelowNormal"

. (Join-Path $PSScriptRoot perfhelper.ps1)

if ($UseFullyQualifiedHostname -eq $false) {
    $Path = ($env:computername).ToLower()
}else {
    $Path = [System.Net.Dns]::GetHostEntry([string]"localhost").HostName.toLower()
}

$AllDisks = Get-WMIObject Win32_LogicalDisk -Filter "DriveType = 3" | ? { $_.DeviceID -notmatch "[ab]:"}

foreach ($ObjDisk in $AllDisks) 
{
  $DeviceId = $ObjDisk.DeviceID -replace ":",""

  $UsedSpace = [System.Math]::Round((($ObjDisk.Size-$ObjDisk.Freespace)/1MB),2)
  $AvailableSpace = [System.Math]::Round(($ObjDisk.Freespace/1MB),2)
  $UsedPercentage = [System.Math]::Round(((($ObjDisk.Size-$ObjDisk.Freespace)/$ObjDisk.Size)*100),2)

  $Time = DateTimeToUnixTimestamp -DateTime (Get-Date)

  Write-Host "$Path.disk.usage.$DeviceId.UsedMB $UsedSpace $Time"
  Write-Host "$Path.disk.usage.$DeviceId.FreeMB $AvailableSpace $Time"
  Write-Host "$Path.disk.usage.$DeviceId.UsedPercentage $UsedPercentage $Time"
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sensu-plugins-windows-2.8.1 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.8.0 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.7.0 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.6.0 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.5.0 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.4.1 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.4.0 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.3.0 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.2.1 bin/powershell/metric-windows-disk-usage.ps1
sensu-plugins-windows-2.2.0 bin/powershell/metric-windows-disk-usage.ps1