vCenterアラーム作成スクリプトのサンプル
コミュニティで間違った情報を出してしまったので、反省を込めて記事にしてみました(結構前ですが)
PowerCLIでvCenterアラーム作成するスクリプトのサンプルです。
どうやらvCenter アラームの作成はコマンドレット一つで簡単に作成することはできないらしく、代わりにスクリプトを作成し必要なパラメータを仕込んでいくことになります。
今回以下のブログ記事のスクリプトを丸写しさせていただきました。
LucD notes Alarm Expressions
アラームの概要:
・ネットワーク関連のアラーム。受信平均が規定値に引っかかった時にメールを送信する。
・今回はホストに割り当てるため、esxNameで指定。
・黄->赤や赤->黄の時の条件を加えるべく、StartStateやFinalStateを設定している。
=============================
=============================$esxName = “esx-01a.corp.local;"$mailTo = “test@example.com"$alarmMgr = Get-View AlarmManager$entity = Get-VmHost $esxName | Get-View# AlarmSpec$alarm.Name = "Net received rate"$alarm.Description = "Testing network related alarms"$alarm.Enabled = $TRUE# Action - Send email$trigger.action.ToList = $mailTo$trigger.action.Subject = "Net received alarm"$trigger.Action.CcList = ""$trigger.Action.Body = ""# Transition a - yellow --> red$transa.StartState = "yellow"$transa.FinalState = "red"# Transition b - red --> yellow$transb.StartState = "red"$transb.FinalState = "yellow"$trigger.TransitionSpecs += $transa$trigger.TransitionSpecs += $transb$alarm.action.action += $trigger# Expression - Network data receive rate$expression.Metric.CounterId = 102$expression.Metric.Instance = ""$expression.Operator = "isAbove"$expression.Red = 300$expression.Yellow = 150$expression.Type = "HostSystem"$alarm.expression.expression += $expression$alarm.setting.reportingFrequency = 0$alarm.setting.toleranceRange = 0# Create alarm.$alarmMgr.CreateAlarm($entity.MoRef, $alarm)
補足:
$alarm.Enabled = $TRUE
・アラームの有効化にチェック
$alarm.setting.toleranceRange = 0
・許容範囲。設定した基準値の変動分。
$alarm.setting.reportingFrequency = 0・vCenterアラームは、重要でないアラーム及びそのアクションの実行が繰り返しになることを防ぐために、5分の報告頻度を持つように設定されています。
これは即時発動できるよう値を0に変更しています。単位:秒。
How to modify alarm Reporting frequency in vSphere 6.x using PowerCLI (57315)