修復アクションは、ノードでローカルスクリプトを実行します。スクリプトは、呼び出し元のマシン、または修復アクションの構成で指定されたノードで実行されます。Runbook 手順を自動化するためにこの種類のアクションを使用できます。オプションで、スクリプトが開始される前に人間による承認を義務付けるように修復アクションを構成できます。「承認が必要なアクション」を参照してください。

  • 修復アクションはサーバでは使用できません。
  • アプリケーション、階層、またはノードを影響を受けるエンティティとして使用して、正常性ルールの修復アクションを作成および実行できます。関連付けられたポリシーに Object Scope を定義する場合は、必ず同じエンティティを選択してください。
  • [Remediation Action] オプションを表示するには、[Application] を選択してから [Actions] を作成します。

ローカルスクリプトアクションの前提条件

  • スクリプトを実行するホストには、マシンエージェントがインストールされ、実行されている必要があります。アプリケーション用にインストールされているマシンエージェントのリストを確認するには、修復スクリプト設定画面の左下隅にある [View machines with machine-agent installed] をクリックします。
  • 修復スクリプトを実行できるようにするには、マシンエージェントがオンプレミスコントローラまたは SSL 経由で SaaS コントローラに接続されている必要があります。マシンエージェントが、保護されていない(非 SSL)HTTP 接続上の SaaS コントローラに接続している場合、修復スクリプトの実行は無効となります。
  • The Machine Agent OS ユーザには、スクリプトやそれに関連する子プロセスによって生成されるスクリプトファイルおよびログファイルへの完全な権限が必要です。
  • スクリプトを <agent install directory>\local-scripts に配置する必要があります。
  • スクリプトは、実行されるホストで使用可能である必要があります。
  • スクリプトから生成されたプロセスは、デーモンプロセスでなければなりません。

修復スクリプト

修復スクリプトは、修復スクリプト構成で指定したマシンで実行されます。アクションをトリガーした違反の影響を受けたマシンから、または中央管理サーバから、スクリプトを実行できます。スクリプトが実行されるマシンでアプリケーション エージェントを実行する必要はありません。マシンエージェントのみを実行すればすみます。

修復例

increasePool と名付けられた修復アクションは、JVM 上の接続プールのサイズを大きくする runbook.sh という名前のローカルスクリプトを実行します。

Create Remediation Script Action

ConnectionPoolPolicy と名付けられたポリシーは、リソースプール制限イベントが発生したときにこのアクションをトリガーします。

Edit Policy

ローカルスクリプト(修復)アクションの作成

修復アクションを作成するには

  1. [Create Action] ペインにアクセスします。「アクション」の「アクションの作成と変更」を参照してください。
  2. [Create Action] ペインで [ Run a script or executable on problematic Nodes] を選択して [OK] をクリックします。
  3. アクション名を入力した後、 スクリプトエントリの相対パスを終了させるフィールドに実行可能スクリプトへの残りのパスを入力します。
    修復スクリプトは、マシンエージェントのインストールのサブディレクトリに保存される必要があります。サブディレクトリは local-scripts という名前にします。次に示すパスはすべて有効です。

    ${machine.agent.directory}/local-scripts/runMe.sh
    ${machine.agent.directory}/local-scripts/johns_scripts/runMe.sh
    ${machine.agent.directory}/local-scripts/ops/johns_scripts/runMe.sh
  4. + をクリックして、スクリプトが書き込みをするログファイルで、スクリプトの出力に含めたいログファイルの絶対パスを入力します。
  5. スクリプト処理用のタイムアウト期間を分単位で入力します。
  6. スクリプトアクションの開始前に承認を要求する場合、[Require approval before executing this Action] チェックボックスをオンにし、このアクションを承認する権限のある個人またはグループのメールアドレスを入力します。詳しくは、「承認が必要なアクション」を参照してください。

アクションが実行されるノードの指定

ポリシーにアクションをバインドするとき、スクリプトが実行されるノードを指定します。ノードの数やノードの割合を設定したり、特定のノードの構成をしたりできます。この柔軟性により、違反が起きたノードからだけでなく、中央管理サーバーからスクリプトを実行するような設定が可能になります。

実行するポリシーアクションの [Configure Action] ペインで、次のいずれかを行います。

  • [Execute Action on Affected Nodes ] を選択し、スクリプトを実行するノードの数や割合を指定します。
  • スクリプトを実行するノードを指定するには、Execute Action on Specified Node, を選択し、 ポップアップノードブラウザからスクリプトを実行するノードを選択します。設定は、保存することも、変更して別のノードに指定することもできます。

ローカルスクリプト出力の確認

  1. [Events] リストで、結果を確認するアクションをトリガーしたイベントの行を見つけます。
  2. 選択した行の [Actions] 列で、修復スクリプトのアイコンをクリックします。
  3. スクリプト結果の一覧で、使用するスクリプトの出力を選択し、Download Local Script Result をクリックします。
バックエンドの検出イベントによって修復アクションがトリガーされる時にバックエンドが迅速に解決されない場合、ポリシーはローカルスクリプトを開始しません。