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 !

Julien Varela
Follow me

Julien Varela

Virtualisation & Cloud manager chez Excellium Services
Consultant Virtualisation/Cloud au sein de Excellium Services et blogger @vThink. Je suis passionné par les nouvelles technologies. Et tout particulièrement, celles concernant la virtualisation. j'ai su apporter par mon autonomie, ma curiosité, ma pugnacité et ma technicité mon expertise dans ce domaine.
Julien Varela
Follow me

Laisser un commentaire