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 ディレクトリー内の readwrite、および execute 許可が必要です。 Windows を使用する場合は、`user` runAs 属性 runAsUserPassword にそのユーザーのパスワードも指定する必要があります。 以下の YAML の設定例に示すように runAsUserPasswordVault を使用してください。 ユーザーの 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 を作成してください:

  1. Instana -agent デーモンセットを編集するには、次のコマンドを実行します:
    kubectl edit daemonset -n instana-agent
     
  2. 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
 

Windows でスクリプトアクションを実行する際の特別な注意事項

Windows オペレーティングシステムでスクリプトアクションを実行する際は、以下の前提条件と制限事項を考慮する必要があります。

前提条件

Windows サービスとしてのエージェントのインストール

ActionScriptセンサー( 1.0.76 )以降、 Instana エージェントが Windows サービスとしてインストールされている場合、スクリプトの実行がサポートされます。 エージェントを Windows サービスとして実行する場合、以下の追加設定が必要です:

Instana エージェントサービスアカウントの要件

Instana エージェントの Windows サービスを、ローカルシステムアカウントとして実行するように設定する必要があります。 この設定が必要な理由は、 Windows APICreateProcessAsUser が、Local System のみが持つ特別な権限を必要とするためです。

サービスアカウントを設定するには、以下の手順を実行してください:

  1. サービスを開く (services.msc)。
  2. Instana Agent 」サービスを探します。
  3. 右クリックして、 「プロパティ」 を選択します。
  4. Go [ログオン] タブへ。
  5. 「ローカル システム アカウント」 を選択します。
  6. サービスがデスクトップとやり取りすることを許可する 」チェックボックスのチェックを外してください。
  7. 「OK」 をクリックし、サービスを再起動してください。
RunAs ユーザーローカルセキュリティポリシーの要件

Instana エージェントが Windows サービスとして実行される場合、ユーザー(スクリプトが実行 runAs されるユーザーアカウント)には Log on as a batch job ローカルセキュリティポリシーが必要です。

このポリシーを設定するには、以下の手順を実行してください:

  1. ローカル セキュリティ ポリシー を開く (secpol.msc)。
  2. [ローカルポリシー ] > [ユーザー権限の割り当て] を選択します。
  3. 「バッチジョブとしてログオン」 をダブルクリックします。
  4. ユーザーまたはグループの追加」をクリックします。
  5. ユーザー runAs アカウントを追加します(例:ドメインアカウントの場合は DOMAIN\username 、ローカルアカウント username の場合は)
  6. 「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 読み取り、書き込み、実行権限を持つユーザーにしてはなりません。