Openstack RDO云高仪报警动作可以执行脚本吗?

时间:2015-08-12 15:27:58

标签: openstack alarm ceilometer rdo

是否有可能使用命令--alarm-action 'log: //'在OpenStack上运行任何脚本或创建VM实例,例如: 我可以做这样的事吗

 $ 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 个答案:

答案 0 :(得分:0)

Ceilometer操作无法运行脚本。

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

因此,云高仪动作需要是URL。您可以设置一个简单的Web服务器,它将从云高仪接收信号并执行脚本作为响应。

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