0

Is there a possibility using the command --alarm-action 'log: //' to run any script or create a VM instances on OpenStack, for example: Can I do something like this

 $ 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

where --alarm-action './script.sh' launches script.sh

4

1 回答 1

0

Ceilometer 操作无法运行脚本。

OpenStack API 的设计通常假设运行客户端命令的人 (a) 是远程运行它们,而不是在服务器本身上运行它们,并且 (b) 不是系统管理员。特别是(b)意味着允许您在服务器上运行任意脚本将是一个可怕的安全问题,因为您首先需要一种方法来在服务器上安装脚本,然后需要一种方法来阻止您从试图跑,说,/sbin/reboot

出于这个原因,云高仪操作需要是 URL。您可以设置一个简单的 Web 服务器,接收来自云高仪的信号并执行脚本作为响应。

如果您使用Heat部署资源,您可以设置自动缩放组并让云高仪警报触发自动缩放操作(例如,创建新服务器或删除服务器)。

于 2015-08-12T15:36:42.127 回答