Openstack RDO сигнализатор может выполнить сценарий?

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

 $ 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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам