個人的な vSAN Advent Calendar 15日目です。
自宅ラボの vSAN 7.0 U 1 Advent Calendar 2020 - Adventar
PowerCLI 12.1 で、vRealize Operations Manager 8.2(vROps)から vSAN ディスクグループのメトリック情報を取得してみます。
vROps による vSAN 性能情報の収集
vROps では、vCenter を登録する際に vSAN のアダプタを有効化しておくことで、vSAN にかかわる情報も収集できます。ちなみに、vROps 8.2 では、クラウド アカウントの「vSAN 構成」スイッチがその設定にあたります。
これにより、たとえば下記のように vSAN ディスク グループの性能情報を確認できるようになります。
PowerCLI による vROps からの vSAN ディスク グループ情報取得
PowerCLI で vROps に接続することで、同様の情報をコマンド実行で取得することができます。まず、Connect-OMServer で vROps に接続しておきます。(前回の投稿より)
PowerCLI で vROps に接続して vSAN リソース情報収集状況を確認してみる。 - vm.gowatana.jp
あわせて、vCenter Server (この環境の vCenter アドレスは infra-vc-01.go-lab.jp)にも接続しておきます。
PowerCLI> Connect-VIServer infra-vc-01.go-lab.jp -Force
今回は、vSAN ディスクグループの情報を取得してみます。
vSAN クラスタのホストのうち・・・
PS C:\> Get-Cluster "infra-cluster-01" | Get-VMHost | Sort-Object Name | select Name Name ---- infra-esxi-01.go-lab.jp infra-esxi-02.go-lab.jp infra-esxi-03.go-lab.jp infra-esxi-04.go-lab.jp infra-esxi-05.go-lab.jp infra-esxi-06.go-lab.jp
1つの vSAN ディスク グループを取得しておきます。今回は、変数 $dg に格納して、ディスク グループ名の指定に利用します。(ディスク グループは名前が長いため)
PS C:\> $dg = Get-VMHost infra-esxi-01.go-lab.jp | Get-VsanDiskGroup | select -First 1 PS C:\> $dg | select Name,DiskGroupType | Format-List Name : Disk group (01000000003139323034503435373230392020202020202020574443205744) DiskGroupType : AllFlash PS C:\> $dg.Name Disk group (01000000003139323034503435373230392020202020202020574443205744)
このディスク グループのリソース情報は、vROps で収集されています。
PS C:\> Get-OMResource -ResourceKind VirtualSANDiskGroup -Name $dg.Name Name Health ResourceKind Description ---- ------ ------------ ----------- Disk group (0100000000313... Green VirtualSANDi... PS C:\> Get-OMResource -ResourceKind VirtualSANDiskGroup -Name $dg.Name | select Name,AdapterKind,ResourceKind,Status,Health,HealthValue Name : Disk group (01000000003139323034503435373230392020202020202020574443205744) AdapterKind : VirtualAndPhysicalSANAdapter ResourceKind : VirtualSANDiskGroup Status : DataReceiving Health : Green HealthValue : 100
vSAN ディスクグループでは、下記のような情報を取得されていることがわかります。
PS C:\> Get-OMResource -ResourceKind VirtualSANDiskGroup -Name $dg.Name | Get-OMStat -From (Get-Date).AddHours(-1) | select key -Unique | Sort-Object key Key --- badge|compliance badge|efficiency badge|health badge|risk badge|workload Congestion|compCongestion Congestion|iopsCongestion Congestion|logCongestion Congestion|memCongestion Congestion|slabCongestion Congestion|ssdCongestion DiskI/O|busResets DiskI/O|commandsAborted DiskI/O|iopsRead DiskI/O|iopsWrite DiskI/O|latencyAvgRead DiskI/O|latencyAvgWrite DiskI/O|maxIopsRead DiskI/O|maxIopsWrite DiskI/O|ssdBytesDrained DiskI/O|throughputRead DiskI/O|throughputWrite DiskI/O|zeroBytesDrained diskspace|capacity DiskSpace|capacityUsage DiskSpace|capacityUsed diskspace|workload OnlineCapacityAnalytics|capacityRemainingPercentage OnlineCapacityAnalytics|DiskSpace|capacityRemaining OnlineCapacityAnalytics|DiskSpace|recommendedSize OnlineCapacityAnalytics|DiskSpace|timeRemaining OnlineCapacityAnalytics|timeRemaining OnlineCapacityAnalytics|WriteBuffer|capacityRemaining OnlineCapacityAnalytics|WriteBuffer|recommendedSize OnlineCapacityAnalytics|WriteBuffer|timeRemaining Resync|iopsResyncRead Resync|iopsResyncWrite Resync|latResyncRead Resync|latResyncWrite Resync|tputResyncRead Resync|tputResyncWrite System Attributes|alert_count_critical System Attributes|alert_count_immediate System Attributes|alert_count_info System Attributes|alert_count_warning System Attributes|all_metrics System Attributes|availability System Attributes|child_all_metrics System Attributes|health System Attributes|self_alert_count System Attributes|total_alarms System Attributes|total_alert_count WriteBuffer|iopsWbRead WriteBuffer|iopsWbWrite WriteBuffer|latencyWbRead WriteBuffer|latencyWbWrite WriteBuffer|Usage WriteBuffer|Used WriteBuffer|wbFreePct WriteBuffer|wbSize WriteBuffer|workload
たとえば、書き込みバッファ容量の推奨値が取得できたりします。
PS C:\> Get-OMResource -ResourceKind VirtualSANDiskGroup -Name $dg.Name | Get-OMStat -Key "OnlineCapacityAnalytics|WriteBuffer|recommendedSize" | select Key,Time,Value -First 10 Key Time Value --- ---- ----- OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 3:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 4:59:59 156154445824 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 5:59:59 183351050240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 6:59:59 168076345344 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 7:59:59 156219801600 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 8:59:59 147659030528 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 9:59:59 141104381952 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 10:59:59 136099454976 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 11:59:59 132179410944 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/10 12:59:59 129075765248 PS C:\> Get-OMResource -ResourceKind VirtualSANDiskGroup -Name $dg.Name | Get-OMStat -Key "OnlineCapacityAnalytics|WriteBuffer|recommendedSize" | Sort-Object Time -Descending | select Key,Time,Value -First 10 Key Time Value --- ---- ----- OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 23:27:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 23:22:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 23:17:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 23:12:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 23:07:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 23:02:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 22:57:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 22:52:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 22:47:14 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/12/15 22:42:14 122527498240
この情報は、取得期間を絞ったりすることもできます。
PS C:\> Get-OMResource -ResourceKind VirtualSANDiskGroup -Name $dg.Name | Get-OMStat -Key "OnlineCapacityAnalytics|WriteBuffer|recommendedSize" -Start "2020/03/01" -To "2020/04/01" | Sort-Object Time -Descending | select Key,Time,Value -First 10 Key Time Value --- ---- ----- OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 23:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 22:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 21:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 20:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 19:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 18:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 17:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 16:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 15:59:59 122527498240 OnlineCapacityAnalytics|WriteBuffer|recommendedSize 2020/03/31 14:59:59 122527498240
このように情報取得することで、vROps で確認できる性能情報を PowerShell で集計できるようになります。定期的な性能レポート作成などでも活用できそうな気がします。
以上、vROps から PowerCLI で vSAN 情報を取得してみる話でした。