vCenter : Alarmes, exécuter un script powercli

Pour des besoins spécifiques, j’ai du configurer des alarmes du vCenter afin qu’elles puissent éxecuter un script powercli lorsque celles-ci sont déclenchées.

Tout d’abord placez vous dans l’onglet « Alarms ».

Alarm1

Cliquer ensuite sur « Definitions »

alarm2

Sélectionner l’alarme que vous souhaitez modifier et clique droit, puis « Edit settings ».

alarm3

Se placer dans l’onglet « Actions » et cliquer sur add pour ajouter une action. Sélectionner ensuite « Run a command ».alarm4

Ensuite vous avez deux possiblités :

1 – Executer simplement un script powercli :

Pour cela taper la commande suivante :

cmd.exe /c "c:\windows\system32\windowspowershell\v1.0\powershell.exe" -nologo -noprofile -noninteractive -File "<strong>CHEMINVERSVOTRESCRIPT</strong>.ps1"

Valider par ok. Votre script sera executé lors du déclenchement de votre alarme.

A noter que le script sera executé avec le même compte de service que celui qui est utilisé pour démarrer le service vpxd.

2 – Exécuter un script powercli avec un ou plusieurs arguments :

Dans ce cas, il est très simple de positionner un argument comme par exemple l’id de l’objet concerné par l’alarme.

Voici la liste des arguments disponibles :

Environment
Variable Name
Sample
Value
VMWARE_ALARM_TRIGGERINGSUMMARY Metric Usage = 0%
VMWARE_ALARM_DECLARINGSUMMARY ([Yellow metric Is below 75%; Red metric Is b…
VMWARE_ALARM_OLDSTATUS Green
VMWARE_ALARM_TARGET_NAME 192.168.1.11
VMWARE_ALARM_ALARMVALUE Current values for metric/state
VMWARE_ALARM_TARGET_ID host-1560
VMWARE_ALARM_NAME New Alarm
VMWARE_ALARM_NEWSTATUS Red
VMWARE_ALARM_EVENTDESCRIPTION Alarm ‘New Alarm’ on 192.168.1.11 changed fro…
VMWARE_ALARM_ID alarm-46

N’oubliez pas que votre script doit attendre un argument : par exemple à l’aide d’une simple commande

$hostID=$args[0]

 

Ensuite ajouter la ligne suivante dans votre script  (Dans notre exemple nous envoyons le hostID) :

cmd.exe /c "c:\windows\system32\windowspowershell\v1.0\powershell.exe" -nologo -noprofile -noninteractive -File " CHEMINVERSVOTRESCRIPT.ps1" %VMWARE_ALARM_TARGET_ID%

Ensuite votre script récupérera l’argument en question.

Voila !

Follow me

Julien Varela

Sr . Systems Engineer chez Nutanix
and blogger @vThink.
Follow me

Laisser un commentaire