0 Replies Latest reply on May 28, 2020 8:03 AM by devinder_lamba@bmc.com

    vSAN performance metrics are not retrieved using powercli

    devinder_lamba@bmc.com Lurker

      Tried to get the vsan performance metrics in couple of ways using the powercli

       

      Connected using following cli - Connect-VIServer -Server <MyServer>

       

      Method-1

       

      Function Get-VSANPerformanceStat {

      <#

          .NOTES

          ===========================================================================

           Created by:    William Lam

           Organization:  VMware

           Blog:          www.virtuallyghetto.com

           Twitter:       @lamw

              ===========================================================================

          .DESCRIPTION

              This function retreives a particlular vSAN Performance Metric

              from a vSAN Cluster using vSAN Management APIs

          .PARAMETER Cluster

              The name of the vSAN Cluster

          .PARAMETER StartTime

              The start time to scope the query (format: "04/23/2017 4:00")

          .PARAMETER EndTime

              The end time to scope the query (format: "04/23/2017 4:10")

          .PARAMETER EntityId

              The vSAN Management API Entity Reference. Please refer to vSAN Mgmt API docs

          .PARAMETER Metric

              The vSAN performance metric name for the given entity

          .EXAMPLE

              Get-VSANPerformanceStat -Cluster VSAN-Cluster -StartTime "04/23/2017 4:00" -EndTime "04/23/2017 4:05" -EntityId "disk-group:5239bee8-9297-c091-df17-241a4c197f8d" -Metric iopsSched

      #>

          param(

              [Parameter(Mandatory=$true)][String]$Cluster,

              [Parameter][String]$StartTime,

              [Parameter][String]$EndTime,

              [Parameter(Mandatory=$true)][String]$EntityId,

              [Parameter(Mandatory=$true)][String]$Metric

          )

          function Convert-StringToDateTime {

              # Borrowed from https://blogs.technet.microsoft.com/heyscriptingguy/2014/12/19/powertip-convert-string-into-datetime-object/#comment-209544

              param

              (

              [Parameter(Mandatory = $true)]

              [String] $DateTimeStr

              )

              $DateFormatParts = (Get-Culture).DateTimeFormat.ShortDatePattern -split '/|-|\.'

       

       

              $Month_Index = ($DateFormatParts | Select-String -Pattern 'M').LineNumber - 1

              $Day_Index = ($DateFormatParts | Select-String -Pattern 'd').LineNumber - 1

              $Year_Index = ($DateFormatParts | Select-String -Pattern 'y').LineNumber - 1

       

       

              $DateTimeParts = $DateTimeStr -split '/|-|\.| '

              $DateTimeParts_LastIndex = $DateTimeParts.Count - 1

       

       

              $DateTime = [DateTime] $($DateTimeParts[$Month_Index] + '/' + $DateTimeParts[$Day_Index] + '/' + $DateTimeParts[$Year_Index] + ' ' + $DateTimeParts[3..$DateTimeParts_LastIndex] -join ' ')

       

       

              return $DateTime

          }

       

       

          $cluster_view = (Get-Cluster -Name $cluster).ExtensionData.MoRef

       

       

          $vpm = Get-VSANView -Id "VsanPerformanceManager-vsan-performance-manager"

       

       

        #  $start = Convert-StringToDateTime $StartTime

         # $end = Convert-StringToDateTime $EndTime

       

       

          $spec = New-Object VMware.Vsan.Views.VsanPerfQuerySpec

          $spec.EntityRefId = $EntityId

          $spec.Labels = @($Metric)

          $spec.StartTime = (Get-Date).AddMinutes(-30)

          #$spec.EndTime = $end

          $vpm.VsanPerfQueryPerf(@($spec),$cluster_view)

      }

       

      Method -2

       

      Get-VsanStat -Entity <Cluster_Name> -Start (Get-Date).AddMinutes(-30) -Name VMConsumption.ReadIops

       

       

      Note: But i am able to retrieve the metrics for vmware using "Get-Stat -Entity <Cluster_Name> -Start (Get-Date).AddMinutes(-30)  -Stat cpu.usage.mhz"