こんばんは。
特に気になっているのは、
VMware.Vim.AlarmExpression というタイプのプロパティに
以下の2種類が入っているところだと思います。
VMware.Vim.OrAlarmExpression
VMware.Vim.AndAlarmExpression
これは、vCenterアラーム設定の「トリガー」タブの内容によって
どちらか(実際には他にもあります)が入るようになっています。
※以下、設定箇所などはvSphere Clientの表記です。
たとえば、vSphere Clientの
vCenterアラーム設定画面の「全般」タブで、アラームタイプの選択肢のうち、
「CPU使用率や電源状態など、特定の条件または状態を監視」を選択して
そのうえで「トリガー」タブでの選択肢で・・・
「条件のいずれかが満たされると、アラームをトリガーする」だと、
→ VMware.Vim.OrAlarmExpression
「すべての条件が満たされると、アラームをトリガーする」だと
→ VMware.Vim.AndAlarmExpression
となっていると思います。
そのため、それぞれのタイプによって
この先の情報表示方法を工夫すると良いと思います。
あと、ここまでの情報取得ですが、
もう少し簡単なコマンドラインにできると思います。
ためしに、いくつか例を上げてみます。
※Get-AlarmDefinition の直後にアラーム名を指定して、絞ることもできます。
PowerCLI> Get-AlarmDefinition | Select Name,{$_.ExtensionData.Info.Expression}
PowerCLI> Get-AlarmDefinition | Select Name,@{N="トリガータブ情報";E={$_.ExtensionData.Info.Expression}} | ft -AutoSize
PowerCLI C:\> Get-AlarmDefinition | Select Name,@{N="トリガータブ情報";E={$_.ExtensionData.Info.Expression}} | ft -AutoSize
Name トリガータブ情報
---- ----------------
Host connection and power state VMware.Vim.AndAlarmExpression
Timed out starting Secondary VM VMware.Vim.OrAlarmExpression
AppHA appha-oracle11g: Service is down VMware.Vim.EventAlarmExpression
No compatible host for Secondary VM VMware.Vim.OrAlarmExpression
・・・以下略
以下のような書き方もできます。
Get-AlarmDefinition | % {
$alarminfo = $_.ExtensionData.Info
$alarminfo.Expression
}
実行例です。
※例では、表示が多いので「test01」という名前のアラームだけでに絞っています。
PowerCLI C:\> Get-AlarmDefinition test01 | % {
>> $alarminfo = $_.ExtensionData.Info
>> $alarminfo.Expression
>> }
>>
Expression DynamicType DynamicProperty
---------- ----------- ---------------
{VMware.Vim.MetricAlarmExpression, VMware.Vim....
これまでの alarminfo は、
下記のように取得してもよいと思います。
PowerCLI> Get-AlarmDefinition | % {$_.ExtensionData.Info}
※これも「test01」という名前のアラームだけでに絞っています。
PowerCLI C:\> Get-AlarmDefinition test01 | % {$_.ExtensionData.Info}
Key :
Alarm : Alarm-alarm-302
Entity : Folder-group-d1
LastModifiedTime : 2014/12/01 16:22:57
LastModifiedUser : VMAD\Administrator
CreationEventId : 0
LinkedView :
Name : test01
SystemName :
Description :
Enabled : True
Expression : VMware.Vim.OrAlarmExpression
Action : VMware.Vim.GroupAlarmAction
ActionFrequency : 600
Setting : VMware.Vim.AlarmSetting
DynamicType :
DynamicProperty :
例だとアラーム名が英語になっていますが、
多分、そちらの環境だと日本語表示になると思います。
以上です。参考になりますでしょうか。