2015-08-12 1 views
0

Есть ли возможность с помощью команды --alarm-action 'log: //' для запуска любого сценария или создать экземпляры VM на OpenStack, например: Могу ли я сделать что-то вроде этогоФункция предупреждения о столкновении OpenStack RDO может выполнять скрипт?

$ ceilometer alarm-threshold-create --name cpu_high/\ --description 'instance running hot' --meter-name cpu_util --threshold 70.0 --comparison-operator gt --statistic avg --period 600 --evaluation-periods 3 --alarm-action './script.sh' --query resource_id=INSTANCE_ID 

где --alarm-action './script.sh' запускает script.sh

ответ

0

Это невозможно выполнить действие Ceilometer для запуска скрипта.

API OpenStack обычно разрабатывался исходя из предположения, что человек, выполняющий клиентские команды (a), запускает их удаленно, а не на самих серверах, и (b) не является администратором системы. В частности, (b) означает, что разрешение запуска произвольных скриптов на сервере было бы ужасной проблемой безопасности, поскольку сначала вам нужно было бы получить скрипт, установленный на сервере, и тогда вам необходимо будет предотвратить вас от попытки запустить, скажем, /sbin/reboot.

По этой причине действие цеолометра должно быть URL. Вы можете настроить простой веб-сервер, который получит сигнал от ceilometer и выполнить скрипт в ответ.

Если вы разворачиваете ресурсы с помощью Heat, вы можете настроить группы автомасштабирования, а также сигнализировать о том, что сигнализаторы потокового сигнала запускают действие автомасштабирования (например, создание новых серверов или удаление серверов).

Смежные вопросы