Automation Action Script センサーの有効化と設定
「Automation Action Script」センサーは、「自動化の管理」機能の構成要素です。 このセンサーを使用すると、ターゲット・エージェントでアクション・カタログを使用して作成されたスクリプト・アクションを実行できます。 Instana エージェントをインストールすると、センサーが自動的に展開され、インストールされます。
詳細については、 「自動化の管理」 を参照してください。
前提条件
このセンサーを有効にする前に、以下の手順を完了してください:
- 「自動化フレームワークの安全な使用方法」 に記載されている情報を確認してください。
- センサーを自社管理(オンプレミス)環境で使用する場合は、 自動化機能フラグが有効になっていることを確認してください。
センサーを有効にする
デフォルトでは、センサーは無効になっています。 センサーを有効にするには、次の例に示すようにエージェントの設定ファイルを更新してください
com.instana.plugin.action.script:
enabled: true # by default is false
スクリプト実行のホームディレクトリの設定
デフォルトでは、アクション・スクリプト・センサーは、エージェントのデフォルトの一時ディレクトリー *instanaAgentDir*/data/tmpからスクリプトを作成して実行します。 このロケーションを変更するには、エージェント構成ファイル内のスクリプト・センサー構成に scriptExecutionHome 属性を追加します。 scriptExecutionHome 値にスペース文字を含めることはできません。 エージェント *instanaAgentDir*/data/tmp のデフォルトの一時ディレクトリーにスペース文字が含まれている場合は、 scriptExecutionHomeの値を指定する 必要があります 。
com.instana.plugin.action.script:
enabled: true
scriptExecutionHome: '/myExecutionDir' # The path used for action script executions.
runAs の設定
デフォルトでは、Action Scriptセンサーは、 Instana エージェントを起動したユーザーとしてスクリプトを実行します。 Linux、 AIX、および Solaris オペレーティングシステムでは、アクションスクリプトを root 権限で実行することはできません。 同様に、 Windows では、アクションスクリプトを管理者として実行することはできません。 代替資格情報を使用してアクション・スクリプトを実行するようにアクション・スクリプト・センサーを構成するには、 runAs 属性と scriptExecutionHome 属性をエージェント構成ファイル内のスクリプト・センサー構成に追加します。 runAs ユーザーには、 scriptExecutionHome ディレクトリー内の read、 write、および execute 許可が必要です。 Windows を使用する場合は、`user` runAs 属性 runAsUserPassword にそのユーザーのパスワードも指定する必要があります。 以下の YAML の設定例に示すように runAsUserPassword 、 Vault を使用してください。 ユーザーの runAs ユーザー名を決定する前に、「 スクリプトアクション用の専用ユーザーの作成 」に記載されている情報を確認してください
com.instana.plugin.action.script:
enabled: true
runAs: 'aUser'
scriptExecutionHome: '/myExecutionDir' # The path used for action script executions.
runAsUserPassword: # Required on Windows operating system.
configuration_from:
type: vault
secret_key:
path: <secret_path>
key: <secret_key>
Red Hat OpenShift 上の Instana エージェント用に runAs ユーザーを作成する
エージェントが Red Hat OpenShift にインストールされている場合は、以下の手順に従ってユーザー runAs を作成してください:
- Instana -agent デーモンセットを編集するには、次のコマンドを実行します:
kubectl edit daemonset -n instana-agent - instana-agent コンテナ用に、 postStart のライフサイクルフックを追加します:
lifecycle:
postStart:
exec:
command:
- /bin/sh
- -c
- useradd instana
同時実行可能なアクション数の設定
デフォルトでは、スクリプト・センサーは最大 10 個の同時スクリプト・アクションを実行します。 並行スクリプト・アクションの最大数を変更する場合は、以下のようにして、エージェント構成ファイルのスクリプト・センサー構成セクションに maxConcurrentActions 属性を追加します。
com.instana.plugin.action.script:
enabled: true
maxConcurrentActions: 5 # optional, default value is 10
スクリプトのデフォルトのタイムアウトを設定する
スクリプト・アクションの作成時に、スクリプト・アクションの完了を待機する最大時間を秒単位で設定できます。 スクリプト・アクションの作成時にスクリプト・アクションのタイムアウトを設定しない場合、デフォルトでは、スクリプト・アクションは 300 秒後にタイムアウトになります。 アクション・スクリプト実行のこのデフォルト・タイムアウトを変更する場合は、以下のようにして、エージェント構成ファイルのスクリプト・センサー構成セクションに defaultTimeout 属性を追加します。
com.instana.plugin.action.script:
enabled: true
defaultTimeout: 600 # optional, default timeout is 300 seconds
の構成chroot
chrootは、アクションスクリプトを実行するための限定されたサンドボックスを作成するために使用される。 したがって、このスクリプトは、「scriptExecutionHomeディレクトリツリー外のデータを悪意を持って変更することはできない。 AIX、 Linux、および Solaris の各オペレーティングシステム上で動作するエージェントでは、ActionScriptが chroot サポートされています。 chrootが有効な場合、'scriptExecutionHomeがアクションスクリプトプロセ スのルートディレクトリとして使用される。 アクションスクリプトの起動に必要なすべてのシステムコマンド、インタプリタ、バイナリ、ライブラリ、実行可能ファイルを「scriptExecutionHomeディレクトリにコピーする必要があります。 最低限、センサーの内部で使用されている'suコマンドをコピーして、ユーザーを代用する必要がある。 ActionScriptでchrootを有効にするには、次の例に示すようにエージェントの設定ファイルを更新してください:
com.instana.plugin.action.script:
enabled: true
chrootEnabled: true # by default, chroot support is disabled
scriptExecutionHome: '/home/test' # The path used for action script executions
シークレットマネージャーの統合
アクションカタログ内のスクリプトアクションで Vault パラメータを使用する場合は、ホストエージェントをシークレットマネージャー と連携させる必要があります。
Windows でスクリプトアクションを実行する際の特別な注意事項
Windows オペレーティングシステムでスクリプトアクションを実行する際は、以下の前提条件と制限事項を考慮する必要があります。
前提条件
- 「 runAs の
runAsUserPassword設定」のセクションに記載されている手順に従って、設定値を指定してください。 - 以下の
runAsユーザー形式を使用してください:- ローカルユーザーアカウント:ユーザー名を指定します(例:
scriptuser)。 - ドメインユーザーアカウント:次の形式を使用してください
DOMAIN\username(例:MYDOMAIN\scriptuser)。
- ローカルユーザーアカウント:ユーザー名を指定します(例:
- 以下のエージェントのインストール要件が満たされていることを確認してください:
Windows サービスとしてのエージェントのインストール
ActionScriptセンサー( 1.0.76 )以降、 Instana エージェントが Windows サービスとしてインストールされている場合、スクリプトの実行がサポートされます。 エージェントを Windows サービスとして実行する場合、以下の追加設定が必要です:
Instana エージェントサービスアカウントの要件
Instana エージェントの Windows サービスを、ローカルシステムアカウントとして実行するように設定する必要があります。 この設定が必要な理由は、 Windows APICreateProcessAsUser が、Local System のみが持つ特別な権限を必要とするためです。
サービスアカウントを設定するには、以下の手順を実行してください:
- サービスを開く (
services.msc)。 - 「 Instana Agent 」サービスを探します。
- 右クリックして、 「プロパティ」 を選択します。
- Go [ログオン] タブへ。
- 「ローカル システム アカウント」 を選択します。
- 「 サービスがデスクトップとやり取りすることを許可する 」チェックボックスのチェックを外してください。
- 「OK」 をクリックし、サービスを再起動してください。
RunAs ユーザーローカルセキュリティポリシーの要件
Instana エージェントが Windows サービスとして実行される場合、ユーザー(スクリプトが実行 runAs されるユーザーアカウント)には Log on as a batch job ローカルセキュリティポリシーが必要です。
このポリシーを設定するには、以下の手順を実行してください:
- ローカル セキュリティ ポリシー を開く (
secpol.msc)。 - を選択します。
- 「バッチジョブとしてログオン」 をダブルクリックします。
- 「ユーザーまたはグループの追加」をクリックします。
- ユーザー
runAsアカウントを追加します(例:ドメインアカウントの場合はDOMAIN\username、ローカルアカウントusernameの場合は) - 「OK」 をクリックして、変更を適用します。
ユーザー runAs にこのポリシーが適用されていない場合、スクリプトの実行はエラーコード 1385 (Logon failure: the user has not been granted the requested logon type) で失敗します。
対話型エージェントのインストール
1.0.76 以前のバージョンの ActionScript センサーについては、 Instana エージェントを Windows サービスとして実行することはできません。 エージェントは、通常の対話型プロセスとして実行する必要があります。 エージェントを通常のプロセスとして実行する場合は、 PowerShell 7.4 以降がインストールされていることを確認してください。
制約事項
- 実行できるのは、 Windows のバッチスクリプト、 PowerShell, のVBScript、および Python のスクリプトのみです。
- 「Administrator」ユーザーとしてスクリプトを実行することはできません。 の値は「Administrator
runAs」に設定できません。 - エージェントのインストールホームフォルダに対して読み取り、書き込み、実行権限を持つユーザーとしてスクリプトを実行することはできません。 の値は、エージェントのインストールホームフォルダに対する
runAs読み取り、書き込み、実行権限を持つユーザーにしてはなりません。