オートメーション・アクション・スクリプト・センサーの有効化と設定

オートメーション・アクション・スクリプト・センサーは、管理オートメーション機能のコンポーネントです。 このセンサーにより、アクションカタログを使用して作成されたスクリプトアクションをターゲットエージェント上で実行することができます。 センサーは、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

デフォルトでは、アクションスクリプトセンサーは、Instana エージェントを起動したユーザーとしてスクリプトを実行します。 Linux、 AIX、Solarisオペレーティングシステムでは、アクションスクリプトをrootとして実行することはできません。 同様に、Windowsでは、アクションスクリプトを管理者として実行することはできません。 代替資格情報でアクションスクリプトを実行するようにアクションスクリプトセンサーを構成するには、エージェント構成ファイルのスクリプトセンサー構成に runAsscriptExecutionHome 属性を追加します。 runAs ユーザーは、 scriptExecutionHome ディレクトリで readwriteexecute のパーミッションが必要。 Windowsの場合、 runAsUserPassword 属性で runAs ユーザーのパスワードも指定する必要があります。 以下の 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>
 

Instana エージェント用の runAs ユーザーを作成する。 Red Hat OpenShift

エージェントが Red Hat OpenShift にインストールされている場合、以下の手順で runAs ユーザを作成します:

  1. 以下のコマンドを実行して、Instana-agent デーモンセットを編集する:
    kubectl edit daemonset -n instana-agent
     
  2. インスタナエージェント・コンテナに 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 ディレクトリツリー外のデータを悪意を持って変更することはできない。 chroot の Action Script サポートは、 AIX、 Linux、Solaris オペレーティングシステム上で実行されるエージェントで利用できます。 chrootを有効にすると、 scriptExecutionHome がアクションスクリプトプロセスのルートディレクトリとして使用される。 アクションスクリプトの起動に必要なすべてのシステムコマンド、インタプリタ、バイナリ、ライブラリ、実行可能ファイルを、 scriptExecutionHome ディレクトリにコピーする必要があります。 最低でも、センサー内部で使用されている su コマンドをコピーして、ユーザーを代用する必要があります。 アクションスクリプトの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サービスとしてのインストール

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

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

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

サービスアカウントを設定するには、次の手順を完了してください:

  1. オープンサービス (services.msc).
  2. Instana Agent サービスを見つけます。
  3. 右クリックして 「プロパティ」 を選択します。
  4. ログオンタブに移動します。
  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) で失敗します。

対話型エージェントのインストール

以前のバージョンのAction 1.0.76 Scriptセンサーでは、InstanaエージェントをWindowsサービスとして実行できません。 エージェントは通常の対話型プロセスとして実行されなければならない。 エージェントを通常のプロセスとして実行する場合、 以降が PowerShell7.4 インストールされていることを確認する必要があります。

制約事項

  • 実行できるのは、Windowsバッチスクリプト、 PowerShell, VBScript、 Python スクリプトのみです。
  • スクリプトはAdministrator権限では実行できません。 runAs の値は管理できません。
  • エージェントインストールホームフォルダへの読み取り、書き込み、実行アクセス権を持っているユーザーとしてスクリプトを実行することはできません。 runAs の値は、エージェントインストールホームフォルダへの読み取り、書き込み、実行アクセス権を持っているユーザであることはできません。