如何使用 PowerCLI 按集群配置 vCenter 警报
How can I configure vCenter Alarm by Cluster with PowerCLI
我有一个配置 vcenter 警报的代码,但是,我想在每个集群级别创建一个警报。
请指教我可以去的方向
这是代码,但它不起作用
$MinutesToRepeat = "10"
$alarms = @("Testing")
$cluster = Get-Cluster "Prod Cluster"
foreach ($alarm in $alarms) {
Set-AlarmDefinition -Name $alarm | %{
$_ | Set-AlarmDefinition -ActionRepeatMinutes $MinutesToRepeat;
$_ | Get-AlarmAction -ActionType "SendEmail" | Remove-AlarmAction -Confirm:$false
$_ | New-AlarmAction -Email -To $AdminEmail | %{
$_ | New-AlarmActionTrigger -StartStatus "Green" -EndStatus "Yellow"
$_ | New-AlarmActionTrigger -StartStatus "Yellow" -EndStatus "Red" -Repeat
$_ | New-AlarmActionTrigger -StartStatus 'Red' -EndStatus 'Yellow'
$_ | New-AlarmActionTrigger -StartStatus 'Yellow' -EndStatus "Green"
}
}
}
尝试更改为以下代码,基本上在创建触发器时默认将黄色设置为红色 "Once" 这需要在重新添加之前删除。
foreach ($alarm in $alarms) {
Set-AlarmDefinition -Name $alarm -AlarmDefinition $alarm -ActionRepeatMinutes $MinutesToRepeat | %{
$_ | Get-AlarmAction -ActionType "SendEmail" | Remove-AlarmAction -Confirm:$false
$_ | New-AlarmAction -Email -To $AdminEmail | %{
$_ | New-AlarmActionTrigger -StartStatus Green -EndStatus Yellow
$_ | New-AlarmActionTrigger -StartStatus Red -EndStatus Yellow
$_ | New-AlarmActionTrigger -StartStatus Yellow -EndStatus Green
}
}
$AlarmAction = Get-Alarmdefinition -Name $alarm | Get-AlarmAction -ActionType 'SendEmail'
$AlarmAction.Trigger | Where {($_.StartStatus -eq 'Yellow') -And ($_.EndStatus -eq 'Red')} | Remove-AlarmActionTrigger -Confirm:$False
$AlarmAction | New-AlarmActionTrigger -StartStatus Yellow -EndStatus Red -Repeat
}
我有一个配置 vcenter 警报的代码,但是,我想在每个集群级别创建一个警报。
请指教我可以去的方向
这是代码,但它不起作用
$MinutesToRepeat = "10"
$alarms = @("Testing")
$cluster = Get-Cluster "Prod Cluster"
foreach ($alarm in $alarms) {
Set-AlarmDefinition -Name $alarm | %{
$_ | Set-AlarmDefinition -ActionRepeatMinutes $MinutesToRepeat;
$_ | Get-AlarmAction -ActionType "SendEmail" | Remove-AlarmAction -Confirm:$false
$_ | New-AlarmAction -Email -To $AdminEmail | %{
$_ | New-AlarmActionTrigger -StartStatus "Green" -EndStatus "Yellow"
$_ | New-AlarmActionTrigger -StartStatus "Yellow" -EndStatus "Red" -Repeat
$_ | New-AlarmActionTrigger -StartStatus 'Red' -EndStatus 'Yellow'
$_ | New-AlarmActionTrigger -StartStatus 'Yellow' -EndStatus "Green"
}
}
}
尝试更改为以下代码,基本上在创建触发器时默认将黄色设置为红色 "Once" 这需要在重新添加之前删除。
foreach ($alarm in $alarms) {
Set-AlarmDefinition -Name $alarm -AlarmDefinition $alarm -ActionRepeatMinutes $MinutesToRepeat | %{
$_ | Get-AlarmAction -ActionType "SendEmail" | Remove-AlarmAction -Confirm:$false
$_ | New-AlarmAction -Email -To $AdminEmail | %{
$_ | New-AlarmActionTrigger -StartStatus Green -EndStatus Yellow
$_ | New-AlarmActionTrigger -StartStatus Red -EndStatus Yellow
$_ | New-AlarmActionTrigger -StartStatus Yellow -EndStatus Green
}
}
$AlarmAction = Get-Alarmdefinition -Name $alarm | Get-AlarmAction -ActionType 'SendEmail'
$AlarmAction.Trigger | Where {($_.StartStatus -eq 'Yellow') -And ($_.EndStatus -eq 'Red')} | Remove-AlarmActionTrigger -Confirm:$False
$AlarmAction | New-AlarmActionTrigger -StartStatus Yellow -EndStatus Red -Repeat
}