オートメーション・アクション・スクリプト・センサーの有効化と設定
オートメーション・アクション・スクリプト・センサーは、管理オートメーション機能のコンポーネントです。 このセンサーにより、アクションカタログを使用して作成されたスクリプトアクションをターゲットエージェント上で実行することができます。 センサーは、Instana エージェントをインストールした後、自動的に展開され、インストールされます。
詳細は、 自動化の管理を参照。
前提条件
このセンサーを有効にする前に、以下のステップを完了してください:
- 自動化フレームワークを使用してSecurelyの情報を確認する。
- センサーがセルフホスト(オンプレミス)環境で使用される場合は、 自動化機能フラグが有効になっていることを確認してください。
センサーの有効化
デフォルトでは、センサーは無効になっている。 センサーを有効にするには、次の例に示すようにエージェント設定ファイルを更新する:
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では、アクションスクリプトを管理者として実行することはできません。 代替資格情報でアクションスクリプトを実行するようにアクションスクリプトセンサーを構成するには、エージェント構成ファイルのスクリプトセンサー構成に runAs と scriptExecutionHome 属性を追加します。 runAs ユーザーは、 scriptExecutionHome ディレクトリで read、 write、 execute のパーミッションが必要。 Windowsの場合、 runAsUserPassword 属性で runAs ユーザーのパスワードも指定する必要があります。 以下の 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>
Instana エージェント用の runAs ユーザーを作成する。 Red Hat OpenShift
エージェントが Red Hat OpenShift にインストールされている場合、以下の手順で runAs ユーザを作成します:
- 以下のコマンドを実行して、Instana-agent デーモンセットを編集する:
kubectl edit daemonset -n 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 ディレクトリツリー外のデータを悪意を持って変更することはできない。 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
シークレット・マネージャーの統合
アクションカタログのスクリプトアクションがVaultパラメータを使用する場合、ホストエージェントを シークレットマネージャと統合する必要があります。
Windows 上でスクリプト・アクションを実行する際の特別な注意事項
Windowsオペレーティング・システム上でスクリプト・アクションを実行する場合は、以下の前提条件と制限事項を考慮する必要があります。
前提条件
- 設定 runAs セクションに記載されているとおりに、設定
runAsUserPassword値を指定してください。 - 以下の
runAsユーザー形式を使用してください:- ローカルユーザーアカウント: ユーザー名を指定します(例:
scriptuser)。 - ドメインユーザーアカウント: 形式
DOMAIN\username(例:MYDOMAIN\scriptuser) を使用してください。
- ローカルユーザーアカウント: ユーザー名を指定します(例:
- 以下のエージェントのインストール要件が満たされていることを確認してください:
エージェントのWindowsサービスとしてのインストール
Action Scriptセンサーから開始 1.0.76 し、InstanaエージェントがWindowsサービスとしてインストールされている場合、スクリプトの実行がサポートされます。 エージェントをWindowsサービスとして実行する場合、以下の追加設定が必要です:
Instana エージェント サービス アカウント要件
InstanaエージェントのWindowsサービスをローカルシステムアカウントとして実行するように構成する必要があります。 この設定が必要な理由は、Windows API CreateProcessAsUser がローカルシステムのみが利用できる特別な特権を必要とするためです。
サービスアカウントを設定するには、次の手順を完了してください:
- オープンサービス (
services.msc). - Instana Agent サービスを見つけます。
- 右クリックして 「プロパティ」 を選択します。
- ログオンタブに移動します。
- ローカルシステムアカウントを選択してください。
- 「 サービスがデスクトップと対話することを許可する 」チェックボックスがオフになっていることを確認してください。
- [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) で失敗します。
対話型エージェントのインストール
以前のバージョンのAction 1.0.76 Scriptセンサーでは、InstanaエージェントをWindowsサービスとして実行できません。 エージェントは通常の対話型プロセスとして実行されなければならない。 エージェントを通常のプロセスとして実行する場合、 以降が PowerShell7.4 インストールされていることを確認する必要があります。
制約事項
- 実行できるのは、Windowsバッチスクリプト、 PowerShell, VBScript、 Python スクリプトのみです。
- スクリプトはAdministrator権限では実行できません。
runAsの値は管理できません。 - エージェントインストールホームフォルダへの読み取り、書き込み、実行アクセス権を持っているユーザーとしてスクリプトを実行することはできません。
runAsの値は、エージェントインストールホームフォルダへの読み取り、書き込み、実行アクセス権を持っているユーザであることはできません。