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

修復スクリプトのガイドライン

デフォルトでは、スクリプトは /bin/sh で -ex オプションで呼び出されるシェルスクリプトです。ただし、スクリプトにヘッダーがある場合を除いて、ヘッダーのインタプリタが使用されます。たとえば、スクリプトヘッダーが「#!/bin/perl」の場合、Perl インタプリタが呼び出されます。

プロセス終了コード0は、スクリプトの実行が成功したことを表します。0以外の終了コードは、失敗したことを表します。

スクリプトは、どのノードで呼び出しても実行できるよう、できるだけ汎用的に記述する必要があります。AppDynamicsは、以下の環境変数をスクリプトランタイムにエクスポートし、アクションをトリガーする環境およびイベントに関するコンテキストを提供します。

Environment Variable

Cardinality (1 or N)

注記

APP_ID

1

アプリケーション名

EVENT_TIME

1

イベントのタイムスタンプ

EVENT_ID

1

イベント ID

EVENT_TYPE

1

次のようなイベントのタイプ。 ERROR, APPLICATION_ERROR, APPLICATION_INFO, STALL, BT_SLA_VIOLATION, DEADLOCK, MEMORY_LEAK, MEMORY_LEAK_DIAGNOSTICS, LOW_HEAP_MEMORY, ALERT, CUSTOM, APP_SERVER_RESTART, BT_SLOW, SYSTEM_LOG, INFO_INSTRUMENTATION_VISIBILITY, AGENT_EVENT, INFO_BT_SNAPSHOT, AGENT_STATUS, SERIES_SLOW, SERIES_ERROR, ACTIVITY_TRACE, OBJECT_CONTENT_SUMMARY, DIAGNOSTIC_SESSION, HIGH_END_TO_END_LATENCY, APPLICATION_CONFIG_CHANGE, APPLICATION_DEPLOYMENT, AGENT_DIAGNOSTICS, MEMORY, LICENSE

ENV_STARTUP_ARGS

1

[プロセス引数(Process args)]

ENV_SYSTEM_PROPERTIES

1

JVMシステムプロパティ(Java)

AFFECTED_ENTITY

1

イベントのトリガーとなる、正常性ルールの影響を受けるエンティティ

修復スクリプトは、マシンエージェントのインストールのサブディレクトリに保存される必要があります。サブディレクトリは local-scripts という名前にします。次に示すパスはすべて有効です。

${machine.agent.home}/local-scripts/runMe.sh
${machine.agent.home}/local-scripts/johns_scripts/runMe.sh
${machine.agent.home}/local-scripts/ops/johns_scripts/runMe.sh
CODE

修復スクリプトのトラブルシューティング

修復スクリプトのトラブルシューティングを行うには、マシンエージェントログからプロセスを見つけます。ログの場所のパスは次のとおりです。 <machine_agent_home>/logs/machine-agent.log

マシンエージェントログからのスニペットには、script.sh というローカルスクリプトを実行したことによるエラーメッセージと成功メッセージの両方が表示されています。

Machine Agent Log