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 ».
Cliquer ensuite sur « Definitions »
Sélectionner l’alarme que vous souhaitez modifier et clique droit, puis « Edit settings ».
Se placer dans l’onglet « Actions » et cliquer sur add pour ajouter une action. Sélectionner ensuite « Run a command ».
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 !