Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

PowerCLI の Get-Stat の結果をヒストグラムにしてみました。

$
0
0

PowerCLI で ESXi から性能情報を取得することができます。

ためしに、それをヒストグラムにしてみました。

 

今回は、このポストの続きです・・・

ESXi データストアへの VM 配置について。(PowerCLI でデータストア空き容量と IOPS を見てみる)

 

たとえば、直近の1時間で、

「ds_local_02 というデータストアへの書き込みが他より多そう」

な時があったとして・・・

※このスクリプトは、上記ポストで使ったものです。

PowerCLI> .\get_datastore_stat.ps1 | sort Datastore,Metric | ft -AutoSize

 

Datastore   Metric                                Count Average  Sum Maximum Minimum Begin    End

---------   ------                                ----- -------  --- ------- ------- -----    ---

ds_local_01 datastore.numberreadaveraged.average    180 0.36      65      19       0 09:06:20 10:06:00

ds_local_01 datastore.numberwriteaveraged.average   180 2.97     535       6       2 09:06:20 10:06:00

ds_local_02 datastore.numberreadaveraged.average    180 0.07      12       6       0 09:06:20 10:06:00

ds_local_02 datastore.numberwriteaveraged.average   180 31.28   5630      61      16 09:06:20 10:06:00

ds_local_03 datastore.numberreadaveraged.average    180 1.13     204       5       0 09:06:20 10:06:00

ds_local_03 datastore.numberwriteaveraged.average   180 9.99    1799      18       7 09:06:20 10:06:00

 

工夫すると、

下記のような見方もできたりします。

 

まず、

この ESXi にはデータストアは 3 つあります。

PowerCLI> Get-VMHost esxi501 | Get-Stat -Stat datastore.numberwriteaveraged.average -Realtime  | select Instance -Unique

 

Instance

--------

4e1d568f-c2bf5a1e-8739-d48564c9f062

4e47f95c-87799c29-74cb-d48564c9f062

4e1d5808-bd0e9ffb-e02d-d48564c9f062

 

そして、データストア名は下記のようになっています。

データストア「ds_local_02」のIDは、

4e1d5808-bd0e9ffb-e02d-d48564c9f062 でした。

PowerCLI> Get-VMHost esx501 | Get-Stat -Stat datastore.numberwriteaveraged.average -Realtime  | select Instance -Unique | select Instance,{Get-Datastore -id ("Datastore-" + $_.Instance)} | ft -AutoSize

 

Instance                            Get-Datastore -id ("Datastore-" + $_.Instance)

--------                            ----------------------------------------------

4e1d568f-c2bf5a1e-8739-d48564c9f062 ds_local_01

4e47f95c-87799c29-74cb-d48564c9f062 ds_local_03

4e1d5808-bd0e9ffb-e02d-d48564c9f062 ds_local_02

 

Get-Stat で、 ds_local_02 の

平均書き込み回数(datastore.numberwriteaveraged.average)だけ取得します。

それを、PowerShell の group(Group-Object)でグループ化してみると・・・

平均書き込み回数 で、ヒストグラムなものが作れたりします。

 

表示結果については

  • 「Name」列は、Get-Stat で取得した Value の値(これをもとに group 化している)
  • 「"o"*$_.Count」列は、Valueごとの登場回数

です。

たとえば、取得した性能値で、

「datastore.numberwriteaveraged.average」が「38」だったのは13回のようです。

 

なんとなく大きな山が2つ見えるので、少なくとも

2種類の書き込みによる要因がありそうな予感がします。

PowerCLI> Get-VMHost esx501 | Get-Stat -Stat datastore.numberwriteaveraged.average -Realtime | where {$_.Instance -eq "4e1d5808-bd0e9ffb-e02d-d48564c9f062"} | group Value | select Name,{"o"*$_.Count}| sort @{E={$_.Name -as [int]}} | ft -AutoSize

 

Name "o"*$_.Count

---- ------------

15   oo

16   oo

17   ooo

18   o

19   oooo

20   oooooooo

21   oooooooooooo

22   ooooo

23   ooooooooooooo

24   ooooooooooooo

25   ooooooooooo

26   oooooooo

27   oooo

28   ooo

30   oo

31   o

32   o

33   ooooo

34   ooooo

35   oooooooooo

36   ooooooooo

37   ooooooooo

38   oooooooooooo

39   oooooo

40   ooo

41   oooooo

43   ooo

44   ooooo

45   o

46   o

50   ooo

51   o

55   oo

56   o

57   o

59   o

61   oo

64   o

 

他にも、カウンタを変えて

書き込み遅延(datastore.totalwritelatency.average)を group 化してみると、

こんな感じに見えました。

こちらの「Name」列が表わすのは、平均書き込み遅延の「ミリ秒」です。

PowerCLI> Get-VMHost esx501 | Get-Stat -Stat datastore.totalwritelatency.average -Realtime | where {$_.Instance -eq "4e1d5808-bd0e9ffb-e02d-d48564c9f062"} | group Value | select Name,{"o"*$_.Count}| sort @{E={$_.Name -as [int]}} | ft -AutoSize

 

Name "o"*$_.Count

---- ------------

18   oo

19   o

20   ooo

21   o

22   ooooooooo

23   oooooo

24   ooooooooooooooo

25   ooooooo

26   oooooooooooooo

27   ooooooooooooooo

28   ooooooooooooooo

29   oooooooooooo

30   oooooooooooo

31   oooooooooooooooo

32   oooooooooooooo

33   ooooooo

34   oooooooooooo

35   ooooooo

36   ooo

37   o

38   o

39   ooo

40   o

41   o

42   o

44   o

 

ちなみに、

表示される列名を指定することもできます。

※上記とは別の時間帯で実行しているので結果も変化しています。

PowerCLI> Get-VMHost esx501 | Get-Stat -Stat datastore.numberwriteaveraged.average -Realtime | where {$_.Instance -eq "4e1d5808-bd0e9ffb-e02d-d48564c9f062"} | group Value | select @{N="W/sec";E={$_.Name}},@{N="Count";E={"o"*$_.Count}}| sort @{E={$_."W/sec" -as [int]}} | ft -AutoSize

 

W/sec Count

----- -----

17    oo

20    oooo

22    oooooooooo

23    ooooooo

24    ooooooooooooooooooooo

25    ooooooooooooooooo

26    ooooooooooooo

27    ooooo

28    oo

29    oo

30    o

31    oo

32    ooooo

33    oooooooooo

34    oooooooooooo

35    oooooooooo

36    oooooooooooooooo

37    ooooooo

38    ooooooo

39    o

40    oo

41    oooooo

42    ooo

43    oo

44    ooo

45    oo

46    o

53    o

55    o

56    oo

58    o

60    o

70    o

 

以上、PowerCLI の Get-Stat の楽しみ方についてでした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>