Automation Servicesサービス設定を変更するには以下の手順に従って実施してください。
※手順はSpotfire Server 12.0 LTSで画面コピーを取得して記載していますが、Spotfire Server 10.10 LTS以降には利用可能です。
①現行Automation Servicesサービス設定の確認
ブラウザからSpotfire ServerのURLへアクセスし、Spotfire管理者権限でログインしてWeb管理画面「Nodes & Services」⇒「Network」を開いて対象Automation Servicesサービスを選択して「Configuration」部分を確認してください。
ここで確認した結果には2つの可能性があります。
1.Configurationに「Default」が表示されている場合はAutomation Servicesサービスのデフォルト設定を使っていることになります。この場合は次のステップではデフォルト設定をエクスポートして編集します。
2.Configurationに「Default」以外の設定名が表示されている場合、過去にAutomation Servicesサービスの設定を変更したことがあることを示しております。この場合は次のステップでは既存設定(Configuration部分に表示されている設定名、本例:as-config-20230201)をエクスポートして編集します。
②現行Automation Servicesサービス設定のエクスポート
上記①の確認結果に従ってAutomation Servicesサービスの設定をエクスポートしてください。
1.Spotfire Server端末内でOS管理者権限でコマンドプロンプトを起動して、以下のインストール先フォルダへ移動してください。
C:\tibco\tss\12.0.0\tomcat\spotfire-bin
2.デフォルトの設定を利用している場合、以下のコマンド(export-service-config)を実行してAutomation Servicesサービスのデフォルト設定をエクスポートしてください。
※コマンド実行時にはConfiguration Toolのパスワードが必要です。(以下同)
config.bat export-service-config --capability=AUTOMATION_SERVICES --deployment-area=Production --platform=WINDOWS -f
引数の説明:
・「--capability=AUTOMATION_SERVICES --deployment-area=Production --platform=WINDOWS」はWindows版Automation Servicesサービスのデフォルト設定をエクスポートすることを示しています。「Production」以外のデプロイメントエリアを利用している場合はそれに合わせて書き換えてください。※Spotfire 12.0より前のバージョンの場合は引数「--platform=WINDOWS」が利用できないため指定しないでください。
・「-f」はエクスポート先フォルダやファイルが既に存在している場合に強制的に上書きすることを示しています。
※コマンド実行時に出力先のファイルが既に存在しており、かつテキストエディタによって開かれている場合にはコマンドの実行が失敗してしまいますので事前にテキストエディタを閉じてください。
3.デフォルト以外の設定を利用している場合、以下のコマンドを実行して該当設定をエクスポートしてください。
config.bat export-service-config --config-name=as-config-20230201 -f
引数の説明:
・「--config-name=as-config-20230201」には現行設定の名前(本例:as-config-20230201)を指定します。
4.エクスポートされたファイルを確認してください。
Automation Servicesサービスの設定は作業フォルダの下に(サブフォルダ「config\root\」)以下の4つファイルにエクスポートされます。
・log4net.config:Automation Servicesサービスのログ出力設定(Apache Log4netを利用、参考資料)
・Spotfire.Dxp.Worker.Automation.config:Automation Servicesサービス専用設定(参考資料)
・Spotfire.Dxp.Worker.Core.config:Automation ServicesサービスとSpotfire Server間の通信に関する設定(参考資料)
・Spotfire.Dxp.Worker.Host.exe.config:Automation Servicesサービス設定(参考資料)
・Spotfire.Dxp.Worker.Web.config:Automation Servicesサービス設定(参考資料)
③設定ファイル編集による設定変更
エクスポートされたファイルをテキストエディターで開いて必要に応じて変更箇所を編集してください。
例えば、すべての外部ファイルへのアクセスを許可するには設定ファイル「Spotfire.Dxp.Worker.Host.exe.config」を編集して、以下の太字の部分(AllowAllFilePathsをTrueに設定)を追記してください。
・Spotfire.Dxp.Worker.Host.exe.config
<!--A list of paths determining which parts of the file system may be accessed by file data sources-->
<setting name="AllowedFilePaths" serializeAs="Xml">
<value>
<ArrayOfString>
<string />
</ArrayOfString>
</value>
</setting>
<setting name="AllowAllFilePaths" serializeAs="String">
<value>True</value>
</setting>
...省略
例:
各設定ファイルはXML形式となっているためXMLの文法に従って編集してください。
特に誤って全角文字を使ってしまったり、もしくは下記赤い枠のようにタグの中にコメントを記載した場合は不正な設定になります。不正な設定であっても次のステップ④でインポートする際には正常に実施できますが、ステップ⑤で適用する際にはエラーが発生してしまい、対象Automation Servicesが立ち上がらなくなりますので十分注意して下さい。
④変更後設定のインポート
以下のコマンド(import-service-config)を実行して変更後の設定ファイルをインポートしてください。
config.bat import-service-config --config-name=as-config-20230510
引数の説明:
・「--config-name=as-config-20230510」にはインポートで作る設定名(任意文字列)を指定します。この名前は①で確認していた既存設定の名前を指定しても構いません(既存設定が上書きされます)。
引数--config-nameには「Default」を指定しないでください。「Default」を指定してもデフォルト設定を上書きすることにはなりません。
⑤インポートした設定の適用
Web管理画面「Nodes & Services」にて④でインポートした設定を対象Automation Servicesサービスに適用してください。
Automation Servicesサービスが複数存在している場合、同じ設定を複数のAutomation Servicesサービスともに適用しても構いません。
1.対象Automation Servicesサービスを選択して「Edit」を押してください。
2.ポップアップ画面に「Configuration」から対象設定(本例:as-config-20230510)を選択してOKボタンを押して適用してください。
ここで対象Automation Servicesサービスが自動的に再起動されますので、ユーザー様の利用時間外に実施してください。
3.もし④で既存設定と同じ名前(本例:as-config-20230201)でインポートした場合、Web管理画面をリフレッシュすると該当設定が更新されている旨を示すメッセージ(本例:as-config-20230201 (New version of configuration available))が表示されます。
この場合はメッセージの部分をクリックするとAutomation Servicesサービスが再起動され、更新後設定が適用されます。
補足
Spotfire 10.10 HF-020以降、Spotfire 11.4 HF-003以降、Spotfire 12.0 LTS以降の場合、以下の設定項目が利用できるようになっております。
- root\Spotfire.Dxp.Worker.Automation.config
-
failJobIfNotificationServiceReportErrors
- デフォルト値:false 設定可能な値:false、true
- Falseの場合、エラーが通知(Analystの右上の通知アイコンに表示されるのと同じ)されてもジョブの実行が異常中止しない
- Trueの場合、エラーが通知(同上)された場合はジョブの実行が異常中止される
-
failJobIfNotificationServiceReportErrors
例えばジョブ実行中にTERR/Pythonデータ関数の実行が失敗した場合にはエラーが通知されますが、デフォルト設定ではジョブが中止せずに処理が継続します。
TERR/Pythonデータ関数の実行が失敗した場合にジョブの実行を異常中止させたい場合は本設定項目をTrueに変更してください。
<Spotfire.Dxp.Automation>
<!-- maxWaitTimeForTaskBackgroundJobToFinishSeconds: -->
<!-- The number of seconds to wait for background thread execution to finish after the task finished executing. -->
<!-- maxConcurrentJobs: -->
<!-- Number of jobs that are allowed to execute in parallel. If 0 or less, this is set to the number of cpu cores on the machine. -->
<!-- failJobIfNotificationServiceReportErrors: -->
<!-- Should a job fail if there are errors reported by the Notification Service. -->
<!-- customAccount: -->
<!-- To use an existing account instead of automationservices@SPOTFIRESYSTEM, enter the username of the account including the domain here (useKerberos must be false). -->
<automation maxWaitTimeForTaskBackgroundJobToFinishSeconds="180" maxConcurrentJobs="-1" failJobIfNotificationServiceReportErrors ="false" useKerberos="false" customAccount="">
<!-- Add section below and set useKerberos="true" above to run automation jobs as a specific Windows identity when delegated Kerberos is enabled. -->
<!-- Otherwise the jobs will be run as the Node Manager service identity. -->
<!--<kerberosIdentity userName="domain\username" password="password" />-->
</automation>
</Spotfire.Dxp.Automation>
Automation Servicesのバージョンは「Nodes & Services」画面にて確認できます。
参考資料
・Manually editing the service configuration files
以上