0

コマンド--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を起動する場所

4

1 に答える 1

0

Ceilometer アクションでスクリプトを実行することはできません。

通常、OpenStack API は、クライアント コマンドを実行する人が (a) サーバー自体ではなくリモートで実行していること、(b) システムの管理者ではないことを前提として設計されています。特に (b) は、サーバー上で任意のスクリプトを実行できるようにすることは、重大なセキュリティ上の問題になることを意味します。最初にサーバーにスクリプトをインストールする方法が必要であり、次にそれを防止する方法が必要になるからです。走ろうとすることから、たとえば、/sbin/reboot.

このため、ceilometer アクションは URL である必要があります。ceilometer から信号を受信し、それに応答してスクリプトを実行する単純な Web サーバーをセットアップできます。

Heatを使用してリソースをデプロイする場合は、自動スケーリング グループを設定し、ceilometer アラームで自動スケーリング アクション (新しいサーバーの作成やサーバーの削除など) をトリガーすることができます。

于 2015-08-12T15:36:42.127 に答える